扫码一下
查看教程更方便
sql alter table命令用于添加、删除或修改现有表中的列。还可以使用 alter table 命令在现有表上添加和删除各种约束。
在现有表中添加新列的 alter table 命令的基本语法如下。
alter table table_name add column_name datatype;
在现有表中删除列的 alter table 命令的基本语法如下。
alter table table_name drop column column_name;
用于更改表中列的数据类型的 alter table 命令的基本语法如下。
alter table table_name modify column column_name datatype;
向表中的列添加not null约束的 alter table 命令的基本语法如下。
alter table table_name modify column_name datatype not null;
alter table 将unique 约束添加到一个表中的基本语法如下。
alter table table_name
add constraint myuniqueconstraint unique(column1, column2...);
向表添加检查约束的 alter table 命令的基本语法如下。
alter table table_name
add constraint myuniqueconstraint check (condition);
向表中添加主键约束的 alter table 命令的基本语法如下。
alter table table_name
add constraint myprimarykey primary key (column1, column2...);
从表中删除约束的 alter table 命令的基本语法如下。
alter table table_name
drop constraint myuniqueconstraint;
如果使用的是 mysql,则代码如下
alter table table_name
drop index myuniqueconstraint;
从表中删除 primary key约束的 alter table 命令的基本语法如下。
alter table table_name
drop constraint myprimarykey;
如果使用的是 mysql,则代码如下
alter table table_name
drop primary key;
customers 表的数据如下
---- ---------- ----- ----------- ----------
| 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 | mp | 4500.00 |
| 7 | muffy | 24 | indore | 10000.00 |
---- ---------- ----- ----------- ----------
以下是向现有表添加新列的示例
alter table customers add sex char(1);
现在,customers 表已更改,select 语句将输出以下内容。
---- --------- ----- ----------- ---------- ------
| id | name | age | address | salary | sex |
---- --------- ----- ----------- ---------- ------
| 1 | ramesh | 32 | ahmedabad | 2000.00 | null |
| 2 | ramesh | 25 | delhi | 1500.00 | null |
| 3 | kaushik | 23 | kota | 2000.00 | null |
| 4 | kaushik | 25 | mumbai | 6500.00 | null |
| 5 | hardik | 27 | bhopal | 8500.00 | null |
| 6 | komal | 22 | mp | 4500.00 | null |
| 7 | muffy | 24 | indore | 10000.00 | null |
---- --------- ----- ----------- ---------- ------
以下是从现有表中删除 sex 列的示例。
alter table customers drop sex;
现在,customers 表已更改,以下是 select 语句的输出。
---- --------- ----- ----------- ----------
| id | name | age | address | salary |
---- --------- ----- ----------- ----------
| 1 | ramesh | 32 | ahmedabad | 2000.00 |
| 2 | ramesh | 25 | delhi | 1500.00 |
| 3 | kaushik | 23 | kota | 2000.00 |
| 4 | kaushik | 25 | mumbai | 6500.00 |
| 5 | hardik | 27 | bhopal | 8500.00 |
| 6 | komal | 22 | mp | 4500.00 |
| 7 | muffy | 24 | indore | 10000.00 |
---- --------- ----- ----------- ----------