经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Oracle » 查看文章
DDL、DML、TCL
来源:cnblogs  作者:累成一条狗  时间:2019/6/29 22:48:47  对本文有异议

一、DDL

1、创建表(CREATE)

  (1)数据库对大小写不敏感,只对字符串大小写敏感。

  (2)使用create关键字创建表。(-- 表示注释)。

  1. 格式:
  2. CREATE TABLE 表名(
  3. 字段名1 字段值1
  4. 字段名2 字段值2
  5. ); --分号可以不加,多个字段间用逗号隔开。
  6. 举例:
  7. CREATE TABLE emp(
  8. name VARCHAR2(20),
  9. birth DATE
  10. );

  (3)将一个查询结果集作为一张表。可用于将多张表连成一张表的操作。

  1. CREATE TABLE 表名 AS SELECT * FROM emp

 

2、删除表(DROP)、DESC关键字、TRUNCATE关键字

  (1)使用DESC关键字查看表结构。

  1. 格式:
  2. DESC 表名;
  3. 举例:
  4. DESC emp

  (2)使用DROP关键字删除表。

  1. 格式:
  2. DROP TABLE 表名:
  3. 举例:
  4. DROP TABLE emp

  (3)使用TRUNCATE关键字删除表数据,但不删除表结构。

  1. 格式:
  2. TRUNCATE TABLE 表名:
  3. 举例:
  4. TRUNCATE TABLE emp

 

3、DEFAULT关键字、NOT NULL关键字

  (1)DEFAULT关键字用于给字段添加默认值。如果未使用DEFAULT给字段定义默认值,那么无论是什么字段,其默认均为NULL。

  (2)字符串要用单引号引上,区分大小写。

  1. create table emp1(
  2. name varchar2(20) default 'tom'
  3. );

  (3)NOT NULL是一种约束条件,确保字段有值,不能为NULL。

  1. create table emp1(
  2. name varchar2(20) NOT NULL
  3. );

 

4、修改表名(RENAME)

  (1)RENAME关键字用于修改表名,但修改后的新表名不能为当前数据库中的已存在的表名。

  1. 格式:
  2. RENAME TABLE 原表名 TO 新表名;
  3. 举例:
  4. RENAME TABLE emp to employee;

 

5、修改表结构(ALERT)

  (1)ALTER关键字用于修改表结构。

  (2)修改列时类型通常不变,长度尽量变大。修改后,仅对以后将插入的数据有效,不影响之前的数据,且长度由大改小时,可能不成功。

  1. 格式:
  2. ALTER TABLE 表名 ADD(列定义); --添加列
  3. ALTER TABLE 表名 DROP(列名); --删除列
  4. ALTER TABLE 表名 MODIFY(现有列 列值); --修改列
  5. 举例:
  6. ALTER TABLE emp ADD id VARCHAR2(20);
  7. ALTER TABLE emp DROP id;
  8. ALTER TABLE emp MODIFY name VARCHAR2(30);

 

 

二、DML

1、DML、TCL间的关系

  (1)执行DML操作后,不会立即修改数据库中的表,会保存在内存中。

  (2)若想真正修改数据库中的表数据,需要执行TCL事务操作,如COMMIT,才算真正的修改。


2、增加与插入数据(INSERT)

  (1)使用INSERT关键字可以实现增加与插入数据。

  (2)插入日期数据时,默认格式为RR-MON-DD,一般自定义格式,使用TO_DATE()函数转换。

  1. 格式:
  2. INSERT INTO 表名[(列名1,列名2……)] VALUES(属性1 属性2);
  3. 举例:
  4. INSERT INTO employee(s_id, s_name) VALUES('10012', 'Jarry')
  5. INSERT INTO employee(s_id, s_name, birth) VALUES('10022', 'Tom', TO_DATE('2019-06-13', 'yyyy-mm-dd'));

 

3、更新表数据(UPDATE)  

  (1)使用UPDATE关键字可以实现数据的更新。

  1. 格式:
  2. UPDATE 表名 SET 列名1 = 1[,列名2 = 2]
  3. [WHERE 条件] 其中[]表示可忽略。但WHERE最好写,否则是对整张表进行操作。
  4. 举例:
  5. UPDATE liuyihong_staff
  6. SET d_id = 2, s_salary = 3000
  7. WHERE s_id = 10022

 

4、删除数据(DELETE)

  (1)删除数据,以行为单位。

  1. 格式:
  2. DELETE FEOM 表名
  3. WHERE name = 'tom'; //若无WHERE,则删除的是整张表
  4. DELETE FROM 表名
  5. 等价于
  6. TRUNCATE TABLE 表名
  7. DELETEDML语句,可以进行回退(ROLLBACK)操作,且DELETE可以有条件的删除。
  8. 删除后不会立即释放其空间,便于回退。
  9. TRUNCATEDDL语句,直接删除表中数据,但不破坏表结构,删除后直接释放空间。
  10. TRUNCATE执行效率比DELETE高。

 

原文链接:http://www.cnblogs.com/l-y-h/p/11108033.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号