ORACLE数据库SQL语句基础知识总结一:数据定义语言(DDL)

ORACLE 数据库SQL基础

1、创建用户
CREATE USER jack             --创建用户
INDENTIFIED BY 123456        --设置密码
ACCOUNT UNLOCK               --用户解锁
2、给角色授权
GRANT CONNECT,   --与服务器连接会话权限
	  RESOURCE,  --创建表、存储过程、触发器、索引等权限
	  DBA         --系统权限,拥有创建用户的权限
TO jack
3、回收权限
REVOKE CONNECT FROM jack
4、修改用户
ALTER USER jack IDENTIFIED BY 654321
ALTER USER jack LOCK|UNLOCK
数据定义语言(DDL)
CREATE命令、ALTER命令、DROP命令
建立一张学生表
CREATE TABLE  student_1(
sno         varchar2(10),
sname       varchar2(20),
sage        number(3),
sbirthday   date
)
复制表结构
CREATE TABLE student_2 AS 
SELECT * FROM student_1 WHERE 1=2;
复制表
CREATE TABLE student_3 AS
SELECT * FROM student_1;
创建结果集表
CREATE TABLE student_2 AS 
SELECT * FROM student_1 WHERE sage<=20;
删除表
DROP TABLE student_1;             --可以回滚
TRUNCATE TABLE student_2;         --不可回滚
DELETE FROM student_3 WHERE 1=1;  --有条件删除数据
添加列
ALTER TABLE student_1 ADD ssex varchar2(2);
修改数据类型
ALTER TABLE student_1 MODIFY sno number;
修改列名
ALTER TABLE student_1 RENAME COLUMN sno TO id;
删除列
ALTER TABLE student_1 DROP COLUMN ssex;
修改表名
ALTER TABLE student_1 RENAME TO student_0;
添加表注释
COMMENT ON TABLE student_0 IS '学生表';
添加表字段注释
COMMENT ON COLUMN student_0.id IS '学生ID';
查看表注释
 SELECT * FROM user_tab_comments 
 WHERE TABLE_NAME='student_0';
查看表字段注释
SELECT * FROM user_col_comments
WHERE TABLE_NAME='student_0';
表的约束
1PRIMARY KEY:主键约束
2FOREIGN KEY:外键约束
3CHECK  :检查约束
4UNIQUE :唯一约束
5NOT NULL:非空约束
创建约束
ALTER TABLE 表名 ADD CONSTRAINT 约束名 约束内容
添加主键
ALTER TABLE student_0 ADD CONSTRAINT myconstraint PRIMARY KEY(id)
添加外键约束
ALTER TABLE student_0 ADD CONSTRAINT myforeingkey FOREIGN KEY (cno) REFERENCES course (cno)
添加check约束
ALTER TABLE student_0 ADD CONStRAINT mycheck CHECK (ssex='男' or ssex='女')
添加唯一约束
ALTER TABLE student_2 ADD CONSTRAINT myunique UNIQUE(id)
添加非空约束
ALTER TABLE student_2 ADD CONSTRAINT mynotnull NOT NULL(id)
删除约束
ALTER TABLE student_2 DROP CONSTRAINT myunique
创建会话级临时表
CREATE GLOBAL TEMPORARY TABLE table_name(col1,col2...)ON COMMIT PRESERVE ROWS;
创建事务级临时表
CREATE GLOBOLTEMPORARY TABLE table_name(col1,col2...)ON COMMIT DETELE ROWS;

临时表的作用:把复杂的逻辑拆分开来,用临时表存储中间结果,以方便后面的逻辑处理。程序执行过程中可能需要存放一些临时的数据,这些数据在整个程序会话过程中都需要用的等等。

会话级临时表只有当会话结束的时候临时表中的数据才会被截断,而且事务级临时表则不管是COMMIT、ROLLBACK、或者是会话结束,临时表中的数据都会被截断清空(TRUNCATE TABLE)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值