日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

alter在mysql_MySQL中ALTER用法小结

發(fā)布時間:2023/12/19 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 alter在mysql_MySQL中ALTER用法小结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

MySQL中ALTER命令小結(jié)。

1.表操作

#修改表名

語法: ALTER TABLE table_name RENAME [TO]new_table_name;

舉例:ALTER TABLE student RENAME TO students; --將student表的名稱更改為students

2.列(字段)操作

#修改字段類型

語法: ALTER TABLEtable_name MODIFY coloumn_name new_data_type;

舉例:ALTER TABLE students MODIFY s_name VARCHAR(30); --將students表的s_name字段的類型更改為VARCHAR(30)

#修改字段位置

語法: ALTER TABLE table_name MODIFY coloumn_name data_type AFTER|FIRST [coloumn_name];

舉例:ALTER TABLE students MODIFY s_name VARCHAR(30) AFTER s_id; --將s_name的位置更改到s_id列的后面

ALTER TABLE students MODIFY s_name VARCHAR(30) FIRST; --將s_name的位置更改到首列

#增加字段

語法: ALTER TABLE table_name ADD new_column_name data_type AFTER|FIRST [coloumn_name]舉例:ALTER TABLE students ADD s_age INT AFTER s_name; --在students表中的s_name列后面增加一列,列名為s_age,類型為INT。

#刪除字段

語法: ALTER TABLE table_name DROPcoloumn_name data_type;

舉例:ALTER TABLE students DROP s_name; --刪除students表中的s_name字段

注:MySQL不能直接通過 ALTER 語句修改列名稱

3.約束操作

#添加主鍵約束

語法: ALTER TABLE table_name ADD PRIMARY KEY(coloumn_name);

舉例:ALTER TABLE students ADD PRIMARY KEY()  --為students表添加主鍵s_id

#刪除主鍵約束

語法: ALTER TABLE table_name DROP PRIMARY KEY;

舉例:ALTER TABLE students DROP PRIMARY KEY;--刪除students表中的主鍵

#添加外鍵約束

語法: ALTER TABLE table_name ADD [CONSTRAINT fk_name] FOREIGN KEY(coloumn_name)REFERENCEStable2_name(coloumn2_name)[ON DELETE {CASCADE|SET NULL|NO ACTION|RESTRICT}]

[ON UPDATE {CASCADE|SET NULL|NO ACTION|RESTRICT}]舉例:ALTER TABLE score ADD CONSTRAINT fk_score_s_id FOREIGN KEY(s_id)REFERENCES students(s_id) ON DELETE RESTRICT ON UPDATE CASCADE;--為score表的s_id列增加外鍵約束,關(guān)聯(lián)students表的s_id,級聯(lián)更新,不級聯(lián)刪除

注: 添加外鍵約束時,添加外鍵的列的所有數(shù)據(jù)必須能夠在父表中找到,否則添加會失敗。

#刪除外鍵約束

語法: ALTER TABLE table_name DROP FOREIGN KEYfk_name;

舉例:ALTER TABLE score DROP FOREIGN KEY fk_score_s_id; --刪除score表中名為fk_score_s_id的外鍵約束。

注:外鍵約束名可以通過命令SHOW CREATE TABLE table_name進(jìn)行查看。

#添加非空約束

語法: ALTER TABLE table_name MODIFY coloumn_name data_type NOT NULL;

舉例:ALTER TABLE students MODIFY s_name VARCHAR(30) NOT NULL;

#取消非空約束

語法: ALTER TABLE table_name MODIFY coloumn_name data_type NULL;

舉例:ALTER TABLE student MODIFY s_name VARCHAR(30) NULL;

#添加默認(rèn)值約束

語法: ALTER TABLE table_name ALTER coloumn_name SET DEFAULTdefault_value;

舉例:ALTER TABLE students ALTER s_grade SET DEFAULT '2013';

#刪除默認(rèn)值約束

語法: ALTER TABLE table_name ALTER coloumn_name DROP DEFAULT;

舉例:ALTER TABLE students ALTER s_grade DROP DEFAULT;

#添加唯一性約束

語法: ALTER TABLE table_name MODIFY coloumn_name UNIQUE;

舉例:ALTER TABLE students MODIFY email data_type UNIQUE;

#刪除唯一性約束

語法: ALTER TABLE table_name DROP INDEXuk_constraint_name;

舉例:ALTER TABLE students DROP INDEX email;--刪除名稱為email的約束

注:某書上說可以通過類似于 ALTER TABLE students MODIFY email VARCHAR(30); 可以刪除唯一性約束,本人在MySQL5.6.30親測無效。

#添加自增約束

語法: ALTER TABLEtable_name MODIFY coloumn_name data_type AUTO_INCREAMENT;

舉例:ALTER TABLE students MODIFY s_id INT AUTO_INCREAMENT;--為students表的s_id列添加自增約束

注: 添加自增約束時必須為自增字段設(shè)置唯一約束或主鍵約束或外鍵約束,且自增約束只針對于整數(shù)。

#刪除自增約束

語法: ALTER TABLEtable_name MODIFY coloumn_name data_type;

舉例:ALTER TABLE students MODIFY id int;--刪除students表中id的自增約束。

#刪除約束的一般方法

#語法: ALTER TABLE table_name DROP INDEXconstraint_name;

#舉例:ALTER TABLE students DROP INDEX fk_s_id;--刪除名稱為fk_s_id的約束

注: 這種刪除的方法只適用于有約束名稱的約束,如FOREIGN KEY , UNIQUE KEY,而對于像NOT NULL , AUTO_INCREAMENT則只能用上面的方法。

總結(jié)

以上是生活随笔為你收集整理的alter在mysql_MySQL中ALTER用法小结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。