为实现数据库中表规范化设计的目的,有时候需要对之前已经创建的表进行结构修改或者调整。在 MySQL 中可以使用 ALTER TABLE 语句来改变原有表的结构,例如增加或删减列、创建或取消索引、更改原有列类型、重新命名列或表等。
基本语法
修改表指的是修改数据库中已经存在的数据表的结构。MySQL 使用 ALTER TABLE 语句修改表。常用的修改表的操作有修改表名、修改字段数据类型或字段名、增加和删除字段、修改字段的排列位置、更改表的存储引擎、删除表的外键约束等。
ALTER TABLE <表名> [修改选项]
修改选项的语法格式如下:
{ ADD COLUMN <列名> <类型>
| CHANGE COLUMN <旧列名> <新列名> <新列类型>
| ALTER COLUMN <列名> { SET DEFAULT <默认值> | DROP DEFAULT }
| MODIFY COLUMN <列名> <类型>
| DROP COLUMN <列名>
| RENAME TO <新表名> }
详见博客:http://c.biancheng.net/view/2433.html
1、修改表
-- 第一种情况:表中并没数据
alter table 表名 alter column 字段 set default 0;
-- 第二种情况:是表中已存在数据
update tablename set 字段=0; -- 修改值
alter table 表名 alter column 字段 set default 0; -- 修改默认值
2、创建表
CREATE TABLE public.edu_user
(
user_id int PRIMARY KEY NOT NULL,
phone_num varchar(32) NOT NULL,
email varchar(128) NOT NULL,
cert_num varchar(64),
name varchar(64),
address varchar(256)
);
3、添加字段
ALTER TABLE public.edu_user ADD password varchar(64);
4、创建序列
CREATE SEQUENCE seq_edu_user START 1 maxvalue 2147483647;
5、创建唯一约束
CREATE UNIQUE INDEX edu_user_phone_num_uindex ON public.edu_user (phone_num);