ORACLE常用SQL语句大全

ORACLE常用SQL语句大全

DDL:数据库定义语言(CREATE、ALTER、DROP、TRUNCATE、COMMENT、RENAME),用来创建数据库中的表、索引、视图、存储过程、触发器等对象的语句。

数据库操作:

 

数据表操作

创建表:

CREATE TABLE tableName(

columnName1 constraint1,

columnName2 constraint2,

...

)

例:

CREATE TABLE employee(

eid PRIMARY KEY NOT NULL,

ename VARCHAR2(16) NOT NULL,

ebirthday DATE NOT NULL,

deptno VARCHAR2(16) NOT NULL,

nickname VARCHAR2(16) DEFAULT '',

FOREIGN KEY(deptno) REFERENCES dept(deptno) ON DELETE CASCADE --当主表记录删除时,从表记录伴随删除

)

 

重命名表:

ALTER TABLE tableName RENAME TO newTableName

添加列(如果只添加一列,可以不写括号。是在表末尾添加新列,能同时增加多个新列):

ALTER TABLE tableName ADD (columnName1 constraint1[, columnName2 constraint2, columnName3 constraint3, ...])

删除某列(如果只添加一列,可以不写括号。能同时删除多列,不用写字段的约束):

[注意:需要注意的是如果某一列中已经存在值,如果你要修改的为比这些值还要小的列宽这样将会出现一个错误]

ALTER TABLE tableName DROP (columnName1[, columnName2, columnName3, ...])

修改某列约束:

ALTER TABLE tableName MODIFY(columnName contraint)

修改某列名称:

ALTER TABLE tableName RENAME COLUMN oldColumnName TO newColumnName

 

创建自增序列:

CREATE SEQUENCE sq_tbname_colname MINVALUE 1 MAXVALUE 999999999 START WITH 1 INCREMENT BY 1 NOCYCLE NOCACHE

[说明:NOCYCLE:一直累加,不循环;NOCACHE:不建立缓冲区]

查询当前序列值:

SELECT sq_tbname_colname.CURRVAL FROM DUAL

查询下一个序列值:[注意:可能是.Nextval,而不是NEXTVAL]

SELECT sq_tbname_colname.NEXTVAL FROM DUAL

[注意:可以使用SEQUENCE的地方:

1.不包含子查询、snapshot、VIEW的 SELECT 语句

2.INSERT语句的子查询中

3.NSERT语句的valueS中

4.UPDATE 的 SET中

]

添加约束:

ALTER TABLE tableName ADD CONSTRAINT constraintName constraintType(columnName)

例:ALTER TABLE student ADD CONSTRAINT pk_student PRIMARY KEY(studentId);

 

 

DML:数据操作语言(SELECT,INSERT,UPDATE,DELETE,MERGE,CALL,EXPLAIN PLAN,LOCK TABLE),用来对数据进行查询、添加、更新、删除等

数据表操作:

 

DCL:数据控制语言(GRANT,REVOKE),用于授权/撤销数据库权限和其他对数据库系统的控制等

对用户进行权限操作:

 

TCL:事务控制语言(COMMIT,ROLLBACK,SAVEPOINT,SET TRANSACTION),用于控制事务

 

 

 

本文章持续更新中, 根据自己碰到的问题来更新!

允许转载,请注明文章来源!

参考文章:

Mysql中DDL, DML, DCL, 和TCL是什么?

Oracle 增加修改删除字段

oracle建表 和 设置主键自增

Oracle 数据库类型

ORACLE的数据类型 -- ORACLE的数据类型

ORACLE外键约束(FORIGEN KEY)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值