TOP

SQL-第 14 课:创建表 (CREATE TABLE)

YouLibreCalc for Excel logo

SQL 语言不仅用于处理信息,还用于执行数据库和表的所有操作,包括创建和使用表。

有两种创建表的方法:

  • 可视化界面——大多数DBMS都有一个可视化界面,用于交互式表创建和管理;
  • SQL 语句 - 可以直接使用 SQL 语句操作表。
  • 值得注意的是,当你使用DBMS交互工具包时,其实所有的工作都是由SQL语句来完成的,即界面本身在不知不觉中为用户创建了这些命令(这类似于在Excel中记录一个宏,当宏记录器记录您的操作并将其转换为 VBA 命令)。


    1.表的创建

    要以编程方式创建表,请使用运算符 CREATE TABLE。为此,您需要指定以下数据:

  • 表的名称,在关键字 CREATE TABLE 之后指定;
  • 表列的名称和定义以逗号分隔;
  • 在某些 DBMS 中,还需要指定表的位置。
  • 让我们创建一个新表并将其命名为 Customers:

    CREATE TABLE Customers (
    ID             CHAR(10) NOT NULL Primary key,
    Custom_name    CHAR(25) NOT NULL,
    Custom_address CHAR(25) NULL,
    Custom_city    CHAR(25) NULL,
    Custom_Country CHAR(25) NULL,
    ArcDate        CHAR(25) NOT NULL, DEFAULT NOWO)
    

    是的,我们首先指定新表的名称,然后在括号中列出我们将创建的列,并且它们的名称在同一个表中不能重复。在列名之后,指定每个字段的数据类型(CHAR(10)),然后指定该字段是否可以包含空值(NULL 或 NOT NULL),以及将作为主键的字段(Primary key) 也必须指定。

    SQL语言还允许为每个字段定义一个默认值,也就是说,如果用户没有为某个字段指定值,那么DBMS会自动设置该值。当使用 CREATE TABLE 运算符定义列时,默认值由 DEFAULT 关键字定义。

    2. 更新表格

    为了在 SQL 中更改表,需要使用运算符 ALTER TABLE。使用此运算符时,您应该输入以下信息:

  • 我们要更改的表的名称;
  • 我们想要进行的更改列表。
  • 例如,让我们向表 Sellers 添加一个新列,我们将在其中指定卖家的电话:

    ALTER TABLE Sellers  
    ADD Phone CHAR (20)
    

    除了添加列之外,我们还可以删除它们。现在让我们删除 Phone 字段。为此,我们将编写以下查询:

    ALTER TABLE Sellers 
    DROP COLUMN Phone
    

    3.删除表

    使用 DROP TABLE 运算符删除表。要删除 Sellers_new 表,我们可以编写以下查询:

    DROP TABLE Sellers_new
    

    许多 DBMS 都有防止删除已链接到其他表的表的规则。如果应用这些规则并且您删除了这样的表,则 DBMS 会阻止删除操作,直到关系被删除。此类措施可防止意外删除所需的表。