Oracle 增删改查,创建序列,伪列(分页),分库分表,表分区,索引,创建用户及赋予权限的SQL语句
-- 查询
select * from STUDENT where SNAME like '%翔' order by SID
-- 新增
insert into STUDENT values(seq_sid.nextval,'畜生','母',5)
-- 修改
update student set sname='狗畜生' where sid=1
-- 删除
delete from student where sid=7
-- 序列
drop sequence seq_sid
-- 创建 序列
create sequence seq_sid
-- 设置初始值从1开始
start with 20
-- 设置增量,每次增加1
increment by 1
-- 设置最大值,最大只能增长到100
maxvalue 100
-- 设置最小值,最小只能是1
minvalue 1
-- 每次内存生成多少个数字
cache 10
cycle --设置达到最大值之后还可以继续增长
-- nocycle -- 到达最大值之后就不能再增长
-- 伪列 用于分页 pageSIze pageNo 1-1*5 +1 5
select * from
(select STUDENT.*,rownum as rown from STUDENT)
where rown between (pageNo-1)*pagesize+1 and pageNo*pagesize
-- 分库分表
-- 建表
CREATE TABLE SALES1
(
SALES1_ID NUMBER,
SALES1_NAME NVARCHAR2(50),
SALES1_DATE DATE NOT NULL
)
-- 表分区 根据建表语句中的某一列的数据进行分区
PARTITION BY RANGE (SALES1_DATE)
(
-- partition 分区名称 values less than(分区条件)
PARTITION P1 VALUES LESS THAN (to_date('2013-04-1', 'yyyy-mm-dd')),
PARTITION P2 VALUES LESS THAN (to_date('2013-07-1', 'yyyy-mm-dd')),
PARTITION P3 VALUES LESS THAN (to_date('2013-10-1', 'yyyy-mm-dd')),
PARTITION P4 VALUES LESS THAN (to_date('2014-01-1', 'yyyy-mm-dd')),
PARTITION P5 VALUES LESS THAN (maxvalue)
)
select * from SALES1 partition(p5)
-- 索引必须在查询中以规定列为查询条件时才起作用
-- 索引:好处提升查询速度,坏处:经常要修改或者新增数据的表,如果使用索引会破坏索引
-- B树索引 CREATE INDEX 索引名称 ON 表(列)
CREATE INDEX index_id ON student(sid)
-- 反向键索引 https://www.cnblogs.com/lucifa/p/10165940.html
CREATE INDEX index_reverse_id ON student(sid) REVERSE
-- 位图索引 http://blog.itpub.net/29654823/viewspace-2150299
CREATE BITMAP INDEX index_bit_id ON student(sex)
-- 只能通过sys,system账号创建表空间
create tablespace testone
-- 表空间的文件名称 初始化空间大小
datafile 'd:\testone.dbf' size 60m
--删除表空间
drop tablespace testone
-- 创建用户
create user zn-- 创建用户的用户名
identified by zn -- 指定用户的密码
default tablespace users -- 指定默认永久性表空间
temporary tablespace temp -- 指定临时表空间
-- 需要赋予的权限 connect 连接权限 resource基本操作的用户权限
grant connect to zn with admin option;
grant resource to zn with admin option;