ALTER 命令修改表
发布时间:2023-02-28 13:10:13 所属栏目:MySql教程 来源:
导读:ALTER 命令修改表
前面小节介绍了如何新建表、设计表,本小节介绍如何对已经建好的数据表进行修改,其中包括对字段的修改和表名称的修改。在实际工作中,有时候原来设计的表可能不太合理,例如:用户名字段原本设计
前面小节介绍了如何新建表、设计表,本小节介绍如何对已经建好的数据表进行修改,其中包括对字段的修改和表名称的修改。在实际工作中,有时候原来设计的表可能不太合理,例如:用户名字段原本设计
ALTER 命令修改表 前面小节介绍了如何新建表、设计表,本小节介绍如何对已经建好的数据表进行修改,其中包括对字段的修改和表名称的修改。在实际工作中,有时候原来设计的表可能不太合理,例如:用户名字段原本设计的只有 10 个字符的长度,但是有很多的用户希望开放用户名长度限制,这个时候就需要我们对表进行修改操作,让数据表更加合理。我们从以下几个角度来看下如何修改数据表: 修改数据表名称; 查看建表的 sql 语句; 修改表字段数据类型; 新增、修改、删除表字段; 1. 修改数据表名称 修改表名称命令很简单: 命令 : ALTER TABLE 旧的表名 RENAME TO 新的表名; 我们使用这条命令将 item_name 数据库中的 student 表修改成 new_student,执行结果如下图: 2. 查看建表 sql 语句 修改表字段类型命令 : 命令 : SHOW CREATE table_name; 所示 “new_student” 为表名,建表语句为: CREATE TABLE `new_student` ( `id` int() unsigned NOT NULL AUTO_INCREMENT, `name` varchar() NOT NULL DEFAULT '无名', `age` int() unsigned NOT NULL DEFAULT '0', `id_number` varchar() NOT NULL DEFAULT '', PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8; Tips:其中 “student” 为表名称,“id”、“name”、“age”、id_number为字段名称,跟在字段名称后面的是字段的数据类型,“UNSIGNED” 表示无符号,AUTO_INCREMENT表示自增,PRIMARY KEY (`id`)表示设置 “id” 为业务主键,NOT NULL DEFAULT ‘无名’“表示默认不为空。且默认值为无名”。 3. 修改表字段数据类型 修改表字段数据类型命令,以上面 “new_student” 表的 “name” 字段为例,varchar 类型修改为 char类型 : ALTER TABLE `new_student` MODIFY COLUMN `name` char() 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 命令: ALTER TABLE new_student MODIFY COLUMN name int(10) NOT NULL DEFAULT '无名' AFTER id;。 4. 新增表字段 新增数据表的字段命令,以新增性别字段为例: ALTER TABLE `new_student` ADD COLUMN `sex` tinyint() UNSIGNED NOT NULL DEFAULT COMMENT '性别 : 1:男 2:女' AFTER `id_number`; Tips:其中COMMENT '性别 : 1:男 2:女' 表示该字段的注释说明;。 5. 删除表字段 删除表字段命令如下,以删除上面性别字段为例 : ALTER TABLE `new_student` DROP COLUMN `sex`; 6. 修改表字段名称 修改表字段数据类型命令,以 name 字段改为 new_name 为例: ALTER TABLE `new_student` CHANGE COLUMN `name` `new_name` char() CHaraCTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '无名' AFTER `id`; 7. 修改表字段默认值 修改表字段默认值命令,以修改 new_name 字段默认值为例 : ALTER TABLE `new_student` MODIFY COLUMN `new_name` char() CHaraCTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '小花' AFTER `id`; (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |