MySQL 命令修改数据表
修改数据表名称
sql
命令 : ALTER TABLE 旧的表名 RENAME TO 新的表名;
使用这条命令将 item_name
数据库中的 student
表修改成 new_student
执行结果如下图
查看建表 sql 语句
修改表字段类型
命令
sql
命令 : SHOW CREATE table_name;
执行结果如下图
上图所示 “new_student
” 为表名,建表语句为
sql
CREATE TABLE `new_student` (
`id` int(10) unsigned NOT NULL AUTO\_INCREMENT,
`name` varchar(50) NOT NULL DEFAULT '无名',
`age` int(10) unsigned NOT NULL DEFAULT '0',
`id_number` varchar(18) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
其中 “student” 为表名称,“id
”、“name
”、“age
”、"id_number
"为字段名称,
跟在字段名称后面的是字段的数据类型,“UNSIGNED
” 表示无符号,
"AUTO_INCREMENT
"表示自增,
"PRIMARY KEY (id)"表示设置 “id
” 为业务主键,
"NOT NULL DEFAULT ‘无名
’“表示默认不为空。且默认值为"无名”。
修改表字段数据类型
以上面 “new_student
” 表的 “name
” 字段为例,将varchar
类型修改为 char
类型
sql
ALTER TABLE `new_student`
MODIFY COLUMN `name` char(50) CHARACTER
SET utf8 COLLATE utf8_general_ci
NOT NULL DEFAULT '无名' AFTER `id`;
其中 “CHARACTER SET utf8 COLLATE utf8_general_ci
” 为新字段类型的字符集和编排方式,默认值为 “无名”,"AFTER id" 表示跟在 id
字段后面。
执行结果如下图
Tips:参照上面修改命令格式,将
name
字段数据类型改为int
命令
sql
ALTER TABLE new_student MODIFY COLUMN name int(10) NOT NULL DEFAULT '无名' AFTER id;
新增表字段
以新增性别
字段为例
sql
ALTER TABLE `new_student`
ADD COLUMN `sex` tinyint(2) UNSIGNED NOT NULL DEFAULT 1 COMMENT '性别 : 1:男 2:女' AFTER `id_number`;
执行结果如下图
Tips:其中
COMMENT '性别 : 1:男 2:女'
表示该字段的注释说明;
删除表字段
以删除上面性别
字段为例
sql
ALTER TABLE `new_student`
DROP COLUMN `sex`;
执行结果如下图
修改表字段名称
以 name
字段改为 new_name
为例
sql
ALTER TABLE `new_student`
CHANGE COLUMN `name` `new_name` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '无名' AFTER `id`;
执行结果如下图
修改表字段默认值
以修改 new_name
字段默认值为例
sql
ALTER TABLE `new_student`
MODIFY COLUMN `new_name` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '小花' AFTER `id`;
执行结果如下图
删除数据表
sql
DROP TABLE new_student;
将 item_name
数据库中的 new_student
数据表删除掉
执行结果如下图