SQL Alter Table


SQL SELECT
SQL DISTINCT
SQL WHERE
SQL AND OR
SQL IN
SQL BETWEEN
SQL LIKE
SQL ORDER BY
SQL 函数
SQL COUNT
SQL GROUP BY
SQL HAVING
SQL ALIAS
SQL 表格连接
SQL 外部连接
SQL Subquery
SQL UNION
SQL UNION ALL
SQL INTERSECT
SQL MINUS
SQL CONCATENATE
SQL SUBSTRING
SQL TRIM

SQL CREATE TABLE
SQL CREATE VIEW
SQL CREATE INDEX
SQL ALTER TABLE
SQL 主键
SQL 外来键
SQL DROP TABLE
SQL TRUNCATE TABLE
SQL INSERT INTO
SQL UPDATE
SQL DELETE FROM







网站导引
其他资源

在表格被建立在资料库中后,我们常常会发现,这个表格的结构需要有所改变。常见的改变如下:

  • 加一个栏位
  • 删去一个栏位
  • 改变栏位名称
  • 改变栏位的资料种类

以上列出的改变并不是所有可能的改变。ALTER TABLE 也可以被用来作其他的改变,例如改变主键定义。

ALTER TABLE 的语法如下:

ALTER TABLE "table_name"
[改变方式]

[改变方式] 的详细写法会依我们想要达到的目标而有所不同。再以上列出的改变中,[改变方式] 如下:

  • 加一个栏位: ADD "栏位 1" "栏位 1 资料种类"
  • 删去一个栏位: DROP "栏位 1"
  • 改变栏位名称: CHANGE "原本栏位名" "新栏位名" "新栏位名资料种类"
  • 改变栏位的资料种类: MODIFY "栏位 1" "新资料种类"

以下我们用在CREATE TABLE 一页建出的 customer 表格来当作例子:

customer 表格
栏位名称资料种类
First_Namechar(50)
Last_Namechar(50)
Addresschar(50)
Citychar(50)
Countrychar(25)
Birth_Datedate

第一,我们要加入一个叫做 "gender" 的栏位。这可以用以下的指令达成:

ALTER table customer add Gender char(1)

这个指令执行后的表格架构是:

customer 表格
栏位名称资料种类
First_Namechar(50)
Last_Namechar(50)
Addresschar(50)
Citychar(50)
Countrychar(25)
Birth_Datedate
Genderchar(1)

接下来,我们要把 "Address" 栏位改名为 "Addr"。这可以用以下的指令达成:

ALTER table customer change Address Addr char(50)

这个指令执行后的表格架构是:

customer 表格
栏位名称资料种类
First_Namechar(50)
Last_Namechar(50)
Addrchar(50)
Citychar(50)
Countrychar(25)
Birth_Datedate
Genderchar(1)

再来,我们要将 "Addr" 栏位的资料种类改为 char(30)。这可以用以下的指令达成:

ALTER table customer modify Addr char(30)

这个指令执行后的表格架构是:

customer 表格
栏位名称资料种类
First_Namechar(50)
Last_Namechar(50)
Addrchar(30)
Citychar(50)
Countrychar(25)
Birth_Datedate
Genderchar(1)

最后,我们要删除 "Gender" 栏位。这可以用以下的指令达成:

ALTER table customer drop Gender

这个指令执行后的表格架构是:

customer 表格
栏位名称资料种类
First_Namechar(50)
Last_Namechar(50)
Addrchar(30)
Citychar(50)
Countrychar(25)
Birth_Datedate


SQL 主键 >>




网站导引   |   其他资源