经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Oracle » 查看文章
oracle学习笔记(三) DCL 数据控制语言与 DDL 数据定义语言 - Stars-one
来源:cnblogs  作者:Stars-one  时间:2019/4/22 8:54:47  对本文有异议

DCL 数据控制语言 Data control language

之前说过的授权和收权利语句
grant, revoke

DDL 数据定义语言 Data define language

create alter,drop语句,创表,修改表,删除

创建表

  1. create table $tablename$(
  2. id int,
  3. name,varchar(5) --需要声明最大长度
  4. money,number(6,2) --9999.00
  5. )
  6. /*
  7. 把其他的表的内容与结构复制生成一个新表,新表没有约束
  8. 将其它表的数据二复制到新表中(新表事先 不存在)
  9. 新表具有与查询的表格基本相同的结构,但不会有约束(主键、外键、默认约束..)。
  10. */
  11. create table $tablename$ as $othertablename$
  12. -- 把查询的结果的内容和结构生成一个新表
  13. create table $tablename$ as select * from student

查看表结构

  1. desc $tablename$

修改表

添加约束

约束用于限制加入表中的数据的合法性:

  • 1) NOT NULL:非空约束
  • 2) UNIQUE :唯一约束 UN_表名_列名 规范格式
  • 3) PRIMARY KEY :主键约束 PK_表名_列名
  • 4) FOREIGN KEY :外键约束 FK_表名_列名
  • 5) CHECK :检查约束 CHK_表名_列名
  • 6) DEFAULT :默认约束 DF_表名_列名

1.默认约束

  1. alter table $tablename$ modify (列名 default 默认值);
  2. --例
  3. alter table student modify (age default 18);

2.唯一约束

  1. alter table $tablename$ add constraint UN_$tablename_$columnname$ unique(列名)
  2. --例
  3. alter table student add constarint UN_student_num unique(num);

3.主键约束

  1. alter table $tablenamae$ add constraint PK_$tablename_$columnname$ primary key(列名);
  2. --例
  3. alter table student add constraint PK_student_num primary key(num);
  4. --复合主键(联合主键)
  5. alter table student add constraint PK_student_numandage primary key(num,age);

4.检查约束

  1. alter table $tablename$ add constraint CHK_$tablename_$columnname$ check(条件);--条件 and or
  2. --例
  3. alter table student add constraint CHK_student_age check(age>=18 and age<=22);

删除约束

  1. alter table $tablename$ drop constraint 约束名
  2. --例
  3. alter table student drop CHK_student_age;

禁用约束

  1. alter table $tablename$ disable constraint 约束名
  2. --例
  3. alter table student disable constraint CHK_student_age;

修改表名

  1. --修改表名
  2. alter table $oldtablename$ rename to $newtablename$;

添加列

  1. alter table $tablename$ add $列名$ $数据类型$;

删除列

  1. alter table $tablename$ drop column $列名$;

修改列(列数据类型或数据最大长度)

  1. alter table $tablename$ modify $列名$ $数据类型$

创建表同时加入约束条件

  1. create table $tablename$(
  2. id int,
  3. name,varchar(5),
  4. money,number(6,2),
  5. constraint pk_CK check...
  6. )
  7. --这一种不能指定约束名,而是系统自动生成的约束名,删除的时候比较麻烦
  8. create table $tablename(
  9. id int not null primary key,
  10. name varchar(5),
  11. )

删除表

  1. drop table $tablename$ --删除的表放入回收站中
  2. drop table $tablename$ purge --彻底删除表
  3. show recyclebin; --在PLSQL Developer中看不见,需要在sqlplus窗口执行
  4. purge recyclebin; --清空回收站

删除表数据但不删除表结构

  1. truncate table $tablename$;

恢复表

  1. flashback table $tablename$ to before drop;

原文链接:http://www.cnblogs.com/kexing/p/10738866.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号