数据表和视图:修改数据表
在MySQL中,ALTER 语句用来修改数据表名称或者数据表字段名称。也可以用来添加或者删除数据表字段。
ALTER 语句经常和"ADD", "DROP" and "MODIFY" 命令一起使用。
1) 添加列
通用语句:
ALTER TABLE table_name
ADD new_column_name column_definition
[ FIRST | AFTER column_name ];
参数
table_name: 要修改的表的名称。
new_column_name: 要添加到数据表table_name
的新字段。
column_definition: 定义新字段的数据类型,(NULL or NOT NULL, 等)。
FIRST | AFTER column_name: 这里是一个选项,告诉MySQL新字段在数据表中的位置。如果没有这个参数,新字段将被添加到数据表所有字段的末尾。
例子:
在这个例子中,我们往已经存在的数据表cus_tbl
中添加新字段。
使用下面的语句:
ALTER TABLE cus_tbl
ADD cus_age varchar(40) NOT NULL;
输出:
查看刚才添加的列:
SELECT* FROM cus_tbl;
输出:
2)添加多列到数据表中
通用语句:
ALTER TABLE table_name
ADD new_column_name column_definition
[ FIRST | AFTER column_name ],
ADD new_column_name column_definition
[ FIRST | AFTER column_name ],
...
;
例子:
在这个例子中,我们将添加两个新列cus_address
和cus_salary
到数据表cus_tbl
中。 其中cus_address 被添加到列cus_surname之后,而cus_salary添加在 cus_age 列之后。
使用以下查询来执行此操作:
ALTER TABLE cus_tbl
ADD cus_address varchar(100) NOT NULL
AFTER cus_surname,
ADD cus_salary int(100) NOT NULL
AFTER cus_age ;
查看刚才添加的列:
SELECT* FROM cus_tbl;
3) 修改数据表中的列
MODIFY 命令被用来修改数据表中列的定义。
语法:
ALTER TABLE table_name
MODIFY column_name column_definition
[ FIRST | AFTER column_name ];
例子:
在这个例子中,我们将修改列cus_surname
的数据类型为varchar(50)
,并且允许为空。
使用以下语句来执行此操作:
ALTER TABLE cus_tbl
MODIFY cus_surname varchar(50) NULL;
查看数据表结构:
4) 删除数据表中的列
语法:
ALTER TABLE table_name
DROP COLUMN column_name;
从数据表cus_tbl
中删除名成为cus_address
的列。
使用以下语句来执行此操作:
ALTER TABLE cus_tbl
DROP COLUMN cus_address;
输出:
查看数据表结构:
5) 重命名数据表的列
重命名数据表的列通用语法:
ALTER TABLE table_name
CHANGE COLUMN old_name new_name
column_definition
[ FIRST | AFTER column_name ]
例子:
将数据表中名称为cus_surname
的列修改为cus_title
。
使用以下语句来执行此操作:
ALTER TABLE cus_tbl
CHANGE COLUMN cus_surname cus_title
varchar(20) NOT NULL;
输出:
6) 重命名数据表名
通用语法:
ALTER TABLE table_name
RENAME TO new_table_name;
例子:
将名称为cus_tbl
的数据表重命名为cus_table
。
ALTER TABLE cus_tbl
RENAME TO cus_table;
输出:
查看重命名的数据表: