zoukankan      html  css  js  c++  java
  • SQL基础 Data Difinition Language

    建表语句

    CREATE TABLE TABLE_NAME
    (
             COLUMN_NAME  DATATYPE  [NULL|NOT NULL],
            COLUMN_NAME  DATATYPE  [NULL|NOT NULL],
            …
            [CONSTRAINT]
    );    

    例子:

    CREATE TABLE TEST
    (
    ID VARCHAR(20) NOT NULL,
    T_DATE DATE NOT NULL,
    T_NUMBER NUMBER NOT NULL             注意结尾不要加逗号
    );

    查看表结构语句

    DESC TABLE_NAME;

    修改表语句

    ALTER TABLE TABLE_NAME
    ADD COLUMN_NAME DATATYPE [NULL|NOT NULL] | MODIFY COLUMN_NAME DATATYPE [NULL|NOT NULL] | DROP CLOUMN_NAME [CASCADE CONSTRAINT]

    例如

    ALTER TABLE TEST
    ADD T_ADD VACHAR(20) NOT
    MODIFY T_NUMBER NUMBER(2,2)
    DROP T_DATE;

    删除表语句                   

    DROP TABLE TABLE_NAME;

    建表语句中添加主键约束

    PRIMARY KEY (COLUMN_NAME1, COLUMN_NAME1…)

    例如:

    CREATE TABLE TEST
    (
    ID VARCHAR(20) NOT NULL,
    T_DATE DATE NOT NULL,
    T_NUMBER NUMBER NOT NULL,
    PRIMARY KEY (ID)
    );

    修改表语句中添加主键约束

    ALTER TABLE TABLE_NAME
    ADD CONSTRAINTS CONSTRAINTS_NAME PRIMARY KEY (COLUMN_NAME1, COLUMN_NAME1…);

    移除主键约束

    ALTER TABLE TABLE_NAME
    DROP CONSTRAINTS CONSTRAINTS_NAME;

    建表语句中添加外键约束

    CONSTRAINTS CONSTRAINTS_NAME FOREIGN KEY (COLUMN_NUME)//此表哪个是外键
    PEFERENCE TABLE_NAME (COLUMN_NUME) //外键在哪个表哪个字段
    ON DELETE CASCADE;

    修改表语句中添加外键约束

    ALTER TABLE TABLE_NAME

    CONSTRAINTS CONSTRAINTS_NAME FOREIGN KEY (COLUMN_NUME)
    PEFERENCE TABLE_NAME (COLUMN_NUME)
    ON DELETE CASCADE;

    移除外键约束

    ALTER TABLE TABLE_NAME
    DROP CONSTRAINTS CONSTRAINTS_NAME;

    建表语句中添加条件约束

    CONSTRAINTS CONSTRAINTS_NAME CHECK(COLUMN_CONDITION)

    修改语句中添加条件约束

    ALTER TABLE TABLE_NAME

    ADD CONSTRAINTS CONSTRAINTS_NAME CHECK(COLUMN_CONDITION);

    删除条件约束

    ALTER TABLE TABLE_NAME

    DROP CONSTRAINTS CONSTRAINTS_NAME;

    DML

    数据添加

    INSERT INTO TABLE_NAME (COLUMN_NAME1,COLUMN_NAME2…)  VALUES(DATA1,DATA2…);

    通过其他的数据表向表中添加数据

    INSERT INTO TABLE_NAME (COLUMN_NAME1,COLUMN_NAME2…)  VALUES(SELECT COLUMN_NAME3 FROM TABLE_NAME1, SELECT COLUMN_NAME4 FROM TABLE_NAME2…);

    建表的同时将需要的数据直接从别的数据表中提取出来

    CREATE TABLE TABLE_NAME AS SELECT COLUMN_NAME1, COLUMN_NAME2,…COLUMN_NAMEN FORM SOURCE_TABLE;

    数据修改

    UPDATE TABLE_NAME SET COLUMN_NAME1=DATA1,…COLUMN_NAME2=DATA2[WHERE CONDITION];

    数据删除

    DELETE FROM TABLE_NAME [WHERE COMDITION];

    数据查询

    SELECT COLUMN_NUME1,…COLUMN_NUME2 FROM TABLE_NAME [WHERW CONDITON];

    查询表的全部字段

    SELECT * FROM TABLE-NAME [WHERE CONDITION];

    其他数据库操纵语句

    TRUNCATE语句 是用于删除数据表的全部数据,速度比DELETE 快

    TRUNCATE TABLE TABLE_NAME;

  • 相关阅读:
    碰撞的蚂蚁 牛客网 程序员面试金典 C++ Java Python
    空格替换 牛客网 程序员面试金典 C++ Python
    穿点最多的直线 牛客网 程序员面试金典 C++
    第K个数 牛客网 程序员面试金典 C++ Python
    React Native之图片/宽高/字体平台适配
    echarts玩转图表之矩形树图
    如何评价 Vue 的 Function-based Component?
    如何写一个像axios那样牛叉的请求库
    精读《Nuxtjs》
    react hooks系列之useRef
  • 原文地址:https://www.cnblogs.com/linbingcheng/p/3958783.html
Copyright © 2011-2022 走看看