小編給大家分享一下MySQL列修改如何操作,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
公司主營業(yè)務(wù):網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出下陸免費做網(wǎng)站回饋大家。
mysql修改列的方法:1、使用“ALTER TABLE 表名 MODIFY 字段名稱 字段類型 [完整性約束條件]”來修改列的數(shù)據(jù)類型;2、使用“ALTER TABLE 表名 CHANGE 舊列名 新列名 新數(shù)據(jù)類型;”來修改列的名稱。
修改字段屬性--數(shù)據(jù)類型:
-- 修改字段屬性 -- 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';
添加刪除默認值:
-- 創(chuàng)建新表 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;
添加主鍵:
-- 創(chuàng)建一個表 CREATE TABLE test12( id INT ); -- 添加主鍵 -- ALTER TABLE tb_name ADD [CONSTRAINT [sysmbol]] PRIMARY KEY [index_type] (字段名稱,...) ALTER TABLE test12 ADD PRIMARY KEY(id); -- 添加復合主鍵 -- 先創(chuàng)建個表 CREATE TABLE test13( id INT, card CHAR(18), username VARCHAR(20) NOT NULL ); -- 添加復合主鍵 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);
在刪除主鍵時,有一種情況是需要注意的,我們知道具有自增長的屬性的字段必須是主鍵,如果表里的主鍵是具有自增長屬性的;那么直接刪除是會報錯的。如果想要刪除主鍵的話,可以先去年自增長屬性,再刪除主鍵
-- 再創(chuàng)建一個表, 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] [索引名稱](字段名稱,...) -- 創(chuàng)建測試表 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添加唯一性約束,如果沒有指定索引名稱,系統(tǒng)會以字段名建立索引 ALTER TABLE user12 ADD UNIQUE(username); -- car添加唯一性約束 ALTER TABLE user12 ADD CONSTRAINT symbol UNIQUE KEY uni_card(card); -- 查看索引 SHOW CREATE TABLE user12; -- test,test1添加聯(lián)合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列修改如何操作有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!