缘来缘去缘如水!
目录
oracle支持的数据类型
用户、角色、授权
修改表、列、约束、属性
oracle支持的数据类型
类型名 描述
VARCHAR2(size) 可变长字符串,
CHAR(size) 定长字符串
NUMBER 数字类型
NUMBER(p,s) 数字类型
DATE 日期类型
CLOB 字符大数据对象
BLOB 二进制大数据对象
用户、角色、授权
创建用户:create user 用户名 identified by wang;
更改用户:alter user 用户名 identified by 新密码;
删除用户:drop user 用户名;
若用户拥有对象则会返回一个错误值。指定关键字cascade可删除用户所有的对象,然后在删除用户;
授权:grant connect,resource to 用户名; 此时resource,connect就是角色,可以将权限赋值给角色,然后再将角色赋值给用户
撤销权限:revoke connect,resource from 用户名;
从system用户转向连接自己创建的用户:connect wang;
创建角色:create role 角色名;
授权角色:grant select on class to 角色名;
删除角色:drop role 角色名; 角色相关的权限将一并删除
create user runssm identified by runssm;
grant connect,resource to runssm;给wl用户赋予在test表上进行查询的权利:grant select on test to wl;
给wl用户赋予在test表上能够更新test表上id列的权利:grant update(id) on test to wl;
修改表、列、约束、属性
添加新列:
带默认值:alter table stu add name varchar2(20) default 'test' not null;
两列一起加:alter table stu add (name varchar2(20),age number);
带约束:alter table stu add age number constraint c_a_check(age<=100);
删除新列:
删除name列:alter table test drop column name;
增加约束:
给id列增加主键约束:alter table test add constraint test_pk_id primary key(id);
给gender列增加check约束:alter table test add check(gender in('男','女'));
删除约束:
删除id列的约束:alter table test drop constraint test_pk_id;
删除组件约束时,同时删除和他依赖的外键约束:alter table test drop constraint test_pk_id cascade;
修改列属性:
将id列设为主键并加约束:alter table test modify id number constraint test_pl_id primary key;
将id列的类型变为char:alter table test modify id char(20);
使一个约束失效:
alter table test disable constraint 约束名;
使一个约束生效:
alter table test enable constraint 约束名;
删除表:
正常删除:drop table test;
级联删除所有的依赖完整性约束:drop table test cascade constraint;
重命名表:
rename old_name to new_name;
重命名列:
alter table test rename column old_name to new_name;
子查询建表:
create table myemp as select * from emp;
create table myemp as select * from emp where deptno=10;
复制表:
如果目标表存在:insert into 目标表 select * from 原表;
如果目标表不存在:insert into 目标表 as select * from 原表;
截断表:truncate
trunate table test;
清空表记录;释放当前表所占用的表空间,返回建表初始状态;是一个DDL命令;一旦删除,事务不能回滚。
delete和truncate的比较:
delete:可以指定删除某些列,也可以清空表,但是不释放表空间,在事务没有提交之前可以回滚。
truncate:只能清空表,释放表空间,不能回滚。
给表加注释:comments
只给表加注释:comments on table test is '注释内容';
给表中的某一列加注释:comments on column 表名.列名 is '注释内容';
















