Oracle数据库学习2之创建语句create
创建语句:create
1.创建表空间:
create tablespace 表名
DATAFILE '表中数据⽂件存放路径及名称' SIZE 2M(⼤⼩) REUSE(若存在则使⽤,不存在则创建)
AUTOEXEND OFF/ON(⾮⾃动扩展/⾃动扩展)。若为ON则需要设置NEXT 1M(扩展值)
MAXSIZE(若为ON,则最⼤扩展值)
MINLMUM EXTENT(最⼩扩展值)
删除表空间:drop tablespace 表空间名
2.创建⽤户及授权
create user 名字 identified by 密码
identified exeternally:表⽰⽤户名在操作系统下验证,该⽤户名必须与操作系统中所定义的⽤户名相同。
identified globally as 'CN=user':表⽰⽤户名由Oracle安全域中⼼服务器验证,CN名字表⽰⽤户的外部名
default tablespace 表空间名:设置默认表空间
temprorary tablespace 表空间名:设置默认的临时表空间
quota integer 数字K/M(unlimited:不受限制):为创建的⽤户在分配在指定表空间上可⽤的字节数
阴阳师 现世召唤profiles 资源⽂件名:指定资源⽂件名
删除⽤户:六级英语作文范文
drop user ⽤户名(若⽤户拥有对象,不能直接删除应在⽤户名后添关键字cascade,可删除⽤户所有对象,在删除⽤户)
三种标准的⽤户⾓⾊(role):connect、resource、dba
临时⽤户,这种权限值在对其他⽤户的表有访问权(select、insert、update、delete)时才有意义,此权限还能创建表、视图、序列、簇、同⼀词、会话、其他数据库的链接
提供⽤户以外的权限:创建⾃⼰的表,序列、过程、触发器、索引、簇
3.dba role(数据库管理员⾓⾊):
拥有系统所有权限
给⽤户授权:grant 权限(connect/resource/dba) to ⽤户名
撤销⽤户权限:revoke 权限 from ⽤户名
创建⾓⾊(权限):create role ⾓⾊名
删除⾓⾊:drop role ⾓⾊名
删除表中全部数据:truncate table 表名
3.创建表:
create table
(
字段名 字段类型 [default 默认值][列约束][表约束]
)
pctfree(⽤于更新的空间百分⽐1-99,0表⽰在插⼊数据时完全添满数据块,默认为10)
pctused(保留的可⽤空间的最⼩百分⽐1-99,默认为40,是控制⾃由空间的可⽤性。)
initrans(指定⼀个在每⼀个数据块中分配的事务⼊⼝的初始数1-255,默认为1每⼀个更新块的事务都需要在块中有⼀个和事务⼊⼝,⼀般不需要指定参数)
maxtrans(指定⽤于更新分配给表的数据块并发事物的最⼤数1-255,⼀般不应改变此参数)
tablespace 表空间名(⽤于指定表基于的表空间,默认为创建在⽤户所在表空间)
storage(存储分配参数)
{
initial 初始⼤⼩
next 下⼀次的⼤⼩
minextents 最⼩分配数
maxextents 最⼤分配数
pctincrease 增长百分⽐(>=0)
}
pctfree和pctused的组合决定了将⼀个插⼊的数据放⼊已存在的数据块,还是放⼊⼀个新的块中。
设置主键:primary key
不能为空:not null
在创建表时可⽤check来控制数据的范围。如:age int check(age>0 and age<100)
信用社工作总结注意事项:
1.创建表时要将较⼩的不为空的放在前⾯,能为空的放在后⾯。
2.最好⽤英⽂表⽰字段名
3.创建表时给字段加默认值。
4.创建表时给字段加约束条件。如:不允许重复unique,关键词primary key
添加主键:
1.创建表时添加:constraint 主键名(⼀般格式为:PK_名字) primary key(字段名)或 直接在字段后⾯加primary key
2.创建表后添加:alter table 表名 add constraint 主键名(⼀般格式为:PK_名字) primary key(设为主键的列名)
设置多个字段为主键组合:
constraint 主键名(⼀般格式为:PK_名字) primary key(字段名1,字段名2,...)。
添加外键:
1.创建表时添加:constraint 外键名(⼀般格式为:FK_名字) foreign key(此表的外键字段名) references 主表名(主表中的主键字段名) 或直接在字段后⾯加references 主表名(主表中的主键字段名),
2.创建表后添加:alter table 表名 add constraint 主键名(⼀般格式为:FK_名字) foreign key(设为主键的列名)
添加索引:
create index 索引名 on 表名(列名)
将查询的结果集创建成表:
1.创建永久表:
create table 表名 as 查询语句
2.创建临时表:
清明纪念烈士寄语大全create global temporary table 表名 as 查询语句
创建时有两种,在表名后⾯添加代码即可:
< commit delete row:默认选项,在commit的时候将数据删除,即创建时虽然有数据但查询语句会触发事务,然后表中数据会被清空
< commit preserve rows:在commit的时候将数据保留,会话结束后⾃动删除。
3.删除临时表:
先⽤truncate table 表名 删除,然后再⽤drop table 表名 删除才会成功。
若直接⽤drop table 表名 删除,则会出错:ORA-14452: 试图创建, 更改或删除正在使⽤的临时表中的索引
。
4.创建序列:你的样子罗大佑
create sequence 序列名
increment by 数字(序列每次的增量,默认为1)
start with 数字(序列开始时的起始数字)
maxvalue 数字(序列最⼤值,nomaxvalue:⽆最⼤值)
minvalue 数字(序列最⼩值,nominvalue:⽆最⼩值)
cycle/nocycle(序列是否可循环)
cache 数字/nocache(序列是否放在内存,默认为内存缓存20个序列号)
order/noorder(序列号是顺序产⽣或⾮顺序产⽣)
修改序列:alter sequence 序列名 修改内容
删除序列:drop sequence 序列名
伪列:currval、nextval
许嵩的所有歌currval:返回序列的当前值
nextval:使序列增值并返回新的取值。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论