共計 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 網 – 提供最優質的資源集合!
正文完