SQL必知必会 第17课 创建和操纵表

你的名字 2022-11-09 00:57 257阅读 0赞

17.1 创建表

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

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

用程序创建表,可以使用SQL的create table 语句。不同的SQL实现中,create table 语句的语法可能有所不同。

表创建基础

利用create table创建表,必须给出如下信息:

  • 新表的名字,在关键字create table之后给出
  • 表列的名字和定义,用逗号分隔
  • 有的DBMS还要求指定表的位置

    创建products表

    create table products
    (

    1. prod_id CHAR(10) NOT NULL,
    2. vend_id CHAR(10) NOT NULL,
    3. prod_name CHAR(254) NOT NULL,
    4. prod_price DECIMAL(8,2) NOT NULL,
    5. prod_desc VARCHAR(1000) NULL

    );

使用NULL值

每个表列要么是NULL列,要么是NOT NULL列,这种状态在创建时由表的定义规定。如果不指定NOT NULL,就认为指定的是NULL。

NULL为默认设置,如果不指定NOT NULL,则认为指定的是NULL。

主键不允许有NULL。

指定默认值

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

  1. # 指定默认值
  2. create table orderItems
  3. (
  4. order_num INTEGER NOT NULL,
  5. order_item INTEGER NOT NULL,
  6. prod_id CHAR(10) NOT NULL,
  7. quantity INTEGER NOT NULL DEFAULT 1,
  8. item_price DECIMAL(8,2) NOT NULL
  9. );

17.2 更新表

更新表定义,可以使用ALTER TABLE语句。

  • 理想情况下,不要在表中包含数据时对其进行更新。
  • 所有的DBMS都允许现有的表增加列,不过对所增加列的数据类型有所限制。
  • 许多DBMS不允许删除或更改表中的列。
  • 多数DBMS允许重新命名表中的列。
  • 许多DBMS限制对已经填有数据的列进行更改,对未填有数据的列几乎没有限制。

使用ALTER TABLE更改表结构,需要给出如下信息:

  • 在ALTER TABLE之后给出要更改的表名
  • 列出要做哪些更改

    更新表

    ALTER TABLE vendors
    ADD vend_phone CHAR(20);

17.3 删除表

使用DROP TABLE语句即可。

  1. # 删除表
  2. DROP TABLE custCopy;

17.4 重命名表

每个DBMS对表重命名的支持有所不同SQLServer使用sp_rename,SQLite使用ALTER TABLE语句,其他DBMS一般使用RENAME语句。

发表评论

表情:
评论列表 (有 0 条评论,257人围观)

还没有评论,来说两句吧...

相关阅读