mysql列修改如何操作

58次阅读
没有评论

共计 2591 个字符,预计需要花费 7 分钟才能阅读完成。

自动写代码机器人,免费开通

丸趣 TV 小编给大家分享一下 mysql 列修改如何操作,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

mysql 修改列的方法:1、使用“ALTER TABLE 表名 MODIFY 字段名称 字段类型 [完整性约束条件]”来修改列的数据类型;2、使用“ALTER TABLE 表名 CHANGE 旧列名 新列名 新数据类型;”来修改列的名称。

修改字段属性 – 数据类型:

-- 修改字段属性
-- ALTER TABLE tb_name MODIFY 字段名称 字段类型 [完整性约束条件]
-- 将 email 字段 VARCHAR(50) 修改成 VARCHAR(200)
-- 注意,修改时如果不带完整性约束条件,原有的约束条件将丢失,如果想保留修改时就得带上完整性约束条件
ALTER TABLE user10 MODIFY email VARCHAR(200) NOT NULL DEFAULT a@a.com 
-- 将 card 移到 test 后面
ALTER TABLE user10 MODIFY card CHAR(10) AFTER test;
-- 将 test 放到第一个,保留原完整性约束条件
ALTER TABLE user10 MODIFY test CHAR(32) NOT NULL DEFAULT 123 FIRST;

修改字段名称和属性:

-- 将 test 字段改为 test1
-- ALTER TABLE 表名 CHANGE 原字段名 新字段名 字段类型 约束条件
ALTER TABLE user10 CHANGE test test1 CHAR(32) NOT NULL DEFAULT 123

添加删除默认值:

-- 创建新表
CREATE TABLE user11(
id TINYINT UNSIGNED KEY AUTO_INCREMENT,
username VARCHAR(20) NOT NULL UNIQUE,
age TINYINT UNSIGNED
-- 给 age 添加默认值
ALTER TABLE user11 ALTER age SET DEFAUTL 18;
-- 添加一个字段
ALTER TABLE user11 ADD email VARCHAR(50);
-- 给 email 添加默认值
ALTER TABLE user11 ALTER email SET DEFAULT a@a.com 
-- 删除默认值
ALTER TABLE user11 ALTER age DROP DEFAULT;
ALTER TABLE user11 ALTER email DROP DEFAULT;

添加主键:

-- 创建一个表
CREATE TABLE test12(
id INT
-- 添加主键
-- ALTER TABLE tb_name ADD [CONSTRAINT [sysmbol]] PRIMARY KEY [index_type] (字段名称,...)
ALTER TABLE test12 ADD PRIMARY KEY(id);

-- 添加复合主键 ALTER TABLE test13 ADD PRIMARY KEY(id,card);

删除主键:

-- 删除主键
ALTER TABLE test12 DROP PRIMARY KEY;
-- 再给 test12 添加主键, 完整形式
ALTER TABLE test12 ADD CONSTRAINT symbol PRIMARY KEY index_type(id);

在删除主键时,有一种情况是需要注意的,我们知道具有自增长的属性的字段必须是主键,如果表里的主键是具有自增长属性的;那么直接删除是会报错的。如果想要删除主键的话,可以先去年自增长属性,再删除主键

-- 再创建一个表,CREATE TABLE test14(
id INT UNSIGNED KEY AUTO_INCREMENT
-- 删除主键,这样会报错,因为自增长的必须是主键
ALTER TABLE test14 DROP PRIMARY KEY;
-- 先用 MODIFY 删除自增长属性,注意 MODIFY 不能去掉主键属性
ALTER TABLE test14 MODIFY id INT UNSIGNED;
-- 再来删除主键
ALTER TABLE test14 DROP PRIMARY KEY;

唯一索引:

-- 添加唯一性约束
-- ALTER TABLE tb_name ADD [CONSTANT [symbol]] UNIQUE [INDEX | KEY] [索引名称](字段名称,...)
-- 创建测试表
CREATE TABLE user12(
id TINYINT UNSIGNED KEY AUTO_INCREMENT,
username VARCHAR(20) NOT NULL,
card CHAR(18) NOT NULL,
test VARCHAR(20) NOT NULL,
test1 CHAR(32) NOT NULL
-- username 添加唯一性约束,如果没有指定索引名称,系统会以字段名建立索引
ALTER TABLE user12 ADD UNIQUE(username);
-- car 添加唯一性约束
ALTER TABLE user12 ADD CONSTRAINT symbol UNIQUE KEY uni_card(card);
-- 查看索引
SHOW CREATE TABLE user12;
-- test,test1 添加联合 unique
ALTER TABLE user12 ADD CONSTRAINT symbol UNIQUE INDEX mulUni_test_test1(test, test1);
-- 删除唯一
-- ALTER TABLE tb_name DROP {INDEX|KEY} index_name;
-- 删除刚刚添加的唯一索引
ALTER TABLE user12 DROP INDEX username;
ALTER TABLE user12 DROP KEY uni_card;
ALTER TABLE user12 DROP KEY mulUni_test_test1;

修改表的存储引擎:

-- 修改表的存储引擎
-- ALTER TABLE tb_name ENGINE= 存储引擎名称
ALTER TABLE user12 ENGINE=MyISAM;
ALTER TABLE user12 ENGINE=INNODB;

修改自增长值:

-- 修改自增长的值
-- ALTER TABLE tb_name AUTO_INCREMENT= 值
ALTER TABLE user12 AUTO_INCREMENT=100;

看完了这篇文章,相信你对 mysql 列修改如何操作有了一定的了解,想了解更多相关知识,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!

向 AI 问一下细节

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-18发表,共计2591字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)