Sql 简明教程
SQL - ALTER TABLE
SQL − ALTER TABLE Statement
SQL ALTER TABLE 命令是数据定义语言 (DDL) 的一部分,它修改表的结构。ALTER TABLE 命令可以添加或删除列、创建或销毁索引、更改现有列的类型,或重命名列或表本身。
ALTER TABLE 命令还可以更改表的特性,例如用于该表的存储引擎。我们将在示例中使用以下表
ID |
NAME |
AGE |
ADDRESS |
SALARY |
1 |
Ramesh |
32 |
Ahmedabad |
2000.00 |
2 |
Khilan |
25 |
Delhi |
1500.00 |
3 |
Kaushik |
23 |
Kota |
2000.00 |
4 |
Chaitali |
25 |
Mumbai |
6500.00 |
5 |
Hardik |
27 |
Bhopal |
8500.00 |
6 |
Komal |
22 |
Hyderabad |
4500.00 |
7 |
Muffy |
24 |
Indore |
10000.00 |
ALTER TABLE − ADD Column
如果您需要为一个表增加一列,您应该使用 ADD COLUMN 选项以及如下所示的 ALTER TABLE 语句:
ALTER TABLE table_name ADD column_name datatype;
Verification
为验证 CUSTOMERS 表是否通过添加新列 SEX 进行了更改,使用 SELECT 语句来检索该表的记录:
SELECT * FROM CUSTOMERS;
现在,CUSTOMERS 表将按照如下方式显示:
ID |
NAME |
AGE |
ADDRESS |
SALARY |
SEX |
1 |
Ramesh |
32 |
Ahmedabad |
2000.00 |
NULL |
2 |
Khilan |
25 |
Delhi |
1500.00 |
NULL |
3 |
Kaushik |
23 |
Kota |
2000.00 |
NULL |
4 |
Chaitali |
25 |
Mumbai |
6500.00 |
NULL |
5 |
Hardik |
27 |
Bhopal |
8500.00 |
NULL |
6 |
Komal |
22 |
Hyderabad |
4500.00 |
NULL |
7 |
Muffy |
24 |
Indore |
10000.00 |
NULL |
ALTER TABLE − DROP COLUMN
如果您需要从表中删除现有列,您应该使用 DROP COLUMN 选项以及如下所示的 ALTER TABLE 语句:
ALTER TABLE table_name DROP COLUMN column_name;
Verification
为验证 CUSTOMERS 表是否通过删除现有列 SEX 进行了更改,使用 SELECT 语句来检索该表的记录:
SELECT * FROM CUSTOMERS;
现在,CUSTOMERS 表已被更改,以下是 SELECT 语句的输出结果:
ID |
NAME |
AGE |
ADDRESS |
SALARY |
1 |
Ramesh |
32 |
Ahmedabad |
2000.00 |
2 |
Khilan |
25 |
Delhi |
1500.00 |
3 |
Kaushik |
23 |
Kota |
2000.00 |
4 |
Chaitali |
25 |
Mumbai |
6500.00 |
5 |
Hardik |
27 |
Bhopal |
8500.00 |
6 |
Komal |
22 |
Hyderabad |
4500.00 |
7 |
Muffy |
24 |
Indore |
10000.00 |
ALTER TABLE − ADD INDEX
您可以使用 ADD INDEX 语句以及 ALTER 语句,为表中的现有列添加索引:
ALTER TABLE table_name
ADD INDEX index_name [index_type]
ALTER TABLE − DROP INDEX
您可以使用 DROP INDEX 语句以及 ALTER 语句,从表中删除现有索引:
ALTER TABLE table_name DROP INDEX index_name;
ALTER TABLE − ADD PRIMARY KEY
以下是为现有数据库表添加主键的语法:
ALTER TABLE table_name
ADD CONSTRAINT constraint_name
PRIMARY KEY (column1, column2...);
Example
在为现有表添加主键之前,首先让我们创建一个名为 EMPLOYEES 的新表,如下所示:
CREATE TABLE EMPLOYEES(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25),
SALARY DECIMAL (18, 2)
);
以下是针对 EMPLOYEES 表的列 ID 添加主键约束的查询:
ALTER TABLE EMPLOYEES
ADD CONSTRAINT MyPrimaryKey
PRIMARY KEY(ID);
这将产生以下输出 −
Query OK, 0 rows affected, 1 warning (0.003 sec)
Records: 0 Duplicates: 0 Warnings: 1
ALTER TABLE − ADD CONSTRAINT
以下是在已有表中向列添加唯一约束的语法:
ALTER TABLE table_name
ADD CONSTRAINT constraint_name
UNIQUE(column1, column2...);
ALTER TABLE − DROP CONSTRAINT
以下是从已有表中删除唯一约束的语法:
ALTER TABLE table_name DROP CONSTRAINT constraint_name;
ALTER TABLE − RENAME COLUMN
以下是重命名已有表列名的语法:
ALTER TABLE table_name
RENAME COLUMN old_column_name to new_column_name;