16.MySQL修改字段与复制表
修改表ALTER TABLE[*] 修改表名
ALTER TABLE 表名
RENAME 新表名;
[*] 增加字段
ALTER TABLE 表名
ADD 字段名数据类型[完整性约束条件…],
ADD 字段名数据类型[完整性约束条件…];
ALTER TABLE 表名
ADD 字段名数据类型[完整性约束条件…] FIRST;
ALTER TABLE 表名
ADD 字段名数据类型[完整性约束条件…] AFTER 字段名;
[*] 删除字段
ALTER TABLE 表名
DROP 字段名;
[*]修改字段 ALTER TABLE 表名
MODIFY 字段名数据类型[完整性约束条件…];
ALTER TABLE 表名
CHANGE旧字段名新字段名旧数据类型[完整性约束条件…];
ALTER TABLE 表名
CHANGE旧字段名新字段名新数据类型[完整性约束条件…];
示例:
[*] 修改存储引擎
mysql>> -> engine=innodb; //engine=myisam|memory|....
[*]添加字段 mysql> create table student10 (id int);
mysql>> -> add name varchar(20) not null,
-> add age int not nulldefault 22;
mysql>> -> add stu_num int not null after name; //添加name字段之后
mysql>> -> add sex enum('male','female')default 'male' first; //添加到最前面
[*]删除字段
mysql>> -> drop sex;
mysql>> -> drop mac;
[*]修改字段类型modify
mysql>> -> modifyage tinyint not null default 22; //注意保留原有的约束条件
mysql>>
-> modify>
[*]增加约束(针对已有的主键增加auto_increment)
mysql> > 已经是primary key
ERROR 1068 (42000): Multipleprimary key defined
mysql>> Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
[*] 增加复合主键
mysql>> -> add primary key(host_ip,port);
[*] 增加主键
mysql>> -> add primary key(id);
[*] 增加主键和自动增长
mysql>>
-> modify >
[*] 删除主键
a. 删除自增约束
mysql>> b. 删除主键
mysql>> -> drop primary key;
五、复制表
复制表结构+记录(key不会复制: 主键、外键和索引)
mysql> create table new_service select * from service;
只复制表结构
mysql>create table new1_service select * from servicewhere 1=2; //条件为假,查不到任何记
录
复制表结构,包括Key
mysql> create table t4 like employees;
六、删除表
DROP TABLE 表名;
页:
[1]