zoukankan      html  css  js  c++  java
  • DDL、DML、TCL

    一、DDL

    1、创建表(CREATE)

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

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

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

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

    CREATE TABLE 表名 AS SELECT * FROM emp;

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

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

    格式:
    DESC 表名;
    
    举例:
    DESC emp;

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

    格式:
    DROP TABLE 表名:
    
    举例:
    DROP TABLE emp;

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

    格式:
    TRUNCATE TABLE 表名:
    
    举例:
    TRUNCATE TABLE emp;

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

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

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

    create table emp1(
        name varchar2(20) default 'tom'
    );

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

    create table emp1(
        name varchar2(20) NOT NULL
    );

    4、修改表名(RENAME)

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

    格式:
    RENAME TABLE 原表名  TO  新表名;
    
    举例:
    RENAME TABLE emp to employee;

    5、修改表结构(ALERT)

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

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

    格式:
    ALTER TABLE 表名 ADD(列定义);  --添加列
    ALTER TABLE 表名 DROP(列名);  --删除列
    ALTER TABLE 表名 MODIFY(现有列  列值);  --修改列
    
    举例:
    ALTER TABLE emp ADD id VARCHAR2(20);
    ALTER TABLE emp DROP id;
    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()函数转换。

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

    3、更新表数据(UPDATE)  

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

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

    4、删除数据(DELETE)

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

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

    (2)delete 与 truncate 的区别:

    1:delete 可以添加删除条件,truncate 不可以。
    2:delete 删除后可以回滚,truncate 不可以。
    3:delete 效率较低,truncate 效率较高。
    4:delete 可以返回受影响的行数,truncate 没有返回值。
    5:delete 删除数据后再次插入数据时,标识列从断点处开始,truncate 标识列从 1 开始。
  • 相关阅读:
    爬虫入门
    读写文件操作
    列表的操作
    课后习题小练
    Python切片
    逗号的麻烦
    字符串学与练
    Turtle的学习
    FTL(FreeMarker)基础
    java反射机制基础
  • 原文地址:https://www.cnblogs.com/l-y-h/p/11108033.html
Copyright © 2011-2022 走看看