• SQL必知必会——创建和操纵表(十七)


    1、创建表

    一般有两种创建表的方法:

    多数DBMS都具有交互式创建和管理数据库表的工具
    表也可以直接用SQL语句操纵
    1.1、表创建基础

    CREATE TABLE products
    (
    prod_id,CHAR(10),NOT NULL,
    vend_id,CHAR(10),NOT NULL,
    prod_name,CHAR(10),NOT NULL,
    prod_price,DECIMAL(8,2),NOT NULL,
    prod_desc,VARCHAR(1000),NULL
    );
    1
    2
    3
    4
    5
    6
    7
    8
    1.2、使用NULL值

    允许NULL值的列也允许在插入行时不给出该列的值。不允许NULL值的列不接受没有列值的行,换句话说,在插入或更新行时,该列必须有值。
    每个表列要么是NULL列,要么是NOT NULL列,这种状态在创建表由表的定义规定。

    1.3、指定默认值

    SQL允许指定默认值,在插入行时如果不给出值,DBMS将自动采用默认值。

    CREATE TABLE products
    (
    prod_id,CHAR(10),NOT NULL,
    vend_id,CHAR(10),NOT NULL,
    prod_name,CHAR(10),NOT NULL,
    prod_price,DECIMAL(8,2),NOT NULL DEFAULT 1,
    prod_desc,VARCHAR(1000),NULL
    );
    #在这个例子中,这一列的描述增加了DEFAULT 1,指示DBMS,如果不给出数量则使用数量1
    1
    2
    3
    4
    5
    6
    7
    8
    9
    2、更新表

    更新表定义,可以使用ALTER TABLE语句。虽然所有的 DBMS都支持ALTER TABLE,但他们所允许更新的内容差别很大。一下时使用ALTER TABLE时需要考虑的事情:

    理想情况下,不要再表中包含数据时对其进行更新。应该再表的设计过程中充分考虑未来可能的需求,避免今后对表的结构做大改动、
    所有的DBMS都允许给现有的表增加列,不过对所增加的数据类型有所限制
    许多DBMS不允许删除或更改表中的列
    多数DBMS允许重新命名表中的列
    许多DBMS限制对已经填有数据的列进行更改,对未填有数据的列几乎没有限制
    ALTER TABLE Vendors
    ADD vend_phone CHAR(20);
    #给Vendors表增加一个名为vend_name的列,其数据类型未CHAR
    1
    2
    3
    3、删除表

    DROP TABLE CustCopy;
    #删除整个表而不是内容
    1
    2
    4、重命名表

    每个DBMS对表重命名的支持有所不同。对应这个操作,不存在严格的标准。DB2,MariaDB,MySQL,Oracle和PostgreSQL用户使用RENAME语句,SQL Server用户使用sp_rename存储过程,SQLite用户使用ALTER TABLE语句。
    ---------------------

  • 相关阅读:
    牛客网编程练习之网易2017校招题:下厨房
    牛客网编程练习之网易2017校招题:数字翻转
    牛客网编程练习之京东2017校招题:幸运数
    牛客网编程练习之去哪儿网2017校招题:身份证分组
    牛客网编程练习之网易2017校招题:解救小易
    牛客网编程练习之腾讯2017校招题:游戏任务标记
    Fiddler实现对手机抓包
    sshpass笔记
    图片反色
    LintCode题解之统计数字
  • 原文地址:https://www.cnblogs.com/ly570/p/11173779.html
Copyright © 2020-2023  润新知