1.sql语言:结构化查询语言
(1)数据定义语言: create(创建) alter(修改) drop(删除)
(2)数据控制语言: grant(授权) revoke(撤销权限)
(3)数据操控语言: insert(新增) delete(删除) update(修改) select(查询)
(4)事务控制语言: commit(提交) rollback(撤销,事务回滚) savepoint(还原点)
--insert 新增
在使用select关键词时,后面必须接from关键词和dual伪表。
insert into tb_stu select 2,'小三',‘女’‘,长沙’ form dual union all select 3,'小三八',‘女’‘,长沙’ form dual;
--delete 删除||截断truncate
truncate table 后面接表名;(只针对增删改查,截断后不能撤销rollback)
--update 修改
update tb_stu set name=‘’,age=‘’,sex=‘’ where name=‘’;
--select 查询||起别名
select name as "姓名" from tb_stu;
select name a from tb_stu;
拼接:select '拼接字符1'||'拼接字符2 from dual;
排序:order by 升asc 降desc
区间查询:detween...and
select * from 表名 where 查询数据 between 1000 and 2000;
--复制表:
create table 新表名称 as select * from 旧表
挒:复制Empno、Ename、Sal到新表中
create table tb_sb1 as select empno,ename,sal from tb_emp;
2.伪列
rowid和rownum
是不需要手动创建,不管是系统表行数自定义表,在创建的的时候自动生成,默认不可见,需要手动显示出来。
rowid:唯一标识列,类似身份证号码,无规律,都是通过字母随机组合的。
select rowid,emp.* from emp;
#rownum:唯一标识列,生成一连串有顺序的编号(行号),从一开始。
--咧:求最高工资的那个人的信息
将一个select 查询的结果集当作一张新表(虚拟表)进行进行条件查询,前提是起别名。
select rownum,sb.* from
(
select * from emp order by sal desc
)sb where rownum=1;
rownum 实现分页:
需求:显示emp1~5的数据(不考虑排序)
如果select中标明了rownum伪列字段,查询条件中大于符号无效.
select a.*,rownum from emp a where rownum>=1 and rownum<=5;
将 伪列rownum变成表的字段即可(起别名)
select b.* from(
select rownum as rid,a.* from emp a
)b where b.rid between 1 and 5;
java程序编写:
int pageIndex=1;
int pageSize=2;
start 开始区间 end 结束区间
start=end - pageSize + 1
end=pageIndex * pageSize