激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - MySQL學習筆記5:修改表(alter table)

MySQL學習筆記5:修改表(alter table)

2019-12-15 16:22MYSQL教程網 Mysql

我們在創建表的過程中難免會考慮不周,因此后期會修改表修改表需要用到alter table修改表語句,接下來詳細介紹,需要的朋友可以參考下

我們在創建表的過程中難免會考慮不周,因此后期會修改表修改表需要用到alter table語句 
修改表名 

復制代碼代碼如下:


mysql> alter table student rename person; 
Query OK, 0 rows affected (0.03 sec) 


這里的student是原名,person是修改過后的名字 
用rename來重命名,也可以使用rename to 
修改字段的數據類型 

復制代碼代碼如下:


mysql> alter table person modify name varchar(20); 
Query OK, 0 rows affected (0.18 sec) 
Records: 0 Duplicates: 0 Warnings: 0 


此處modify后面的name為字段名,我們將原來的varchar(25)改為varchar(20) 
修改字段名 

復制代碼代碼如下:


mysql> alter table person change stu_name name varchar(25); 
Query OK, 0 rows affected (0.20 sec) 
Records: 0 Duplicates: 0 Warnings: 0 


這里stu_name是原名,name是新名 
需要注意的是不管改不改數據類型,后面的數據類型都要寫 
如果不修改數據類型只需寫成原來的數據類型即可 
tips:我們同樣可以使用change來達到modify的效果,只需在其后寫一樣的字段名 
增加無完整性約束條件的字段 

復制代碼代碼如下:


mysql> alter table person add sex boolean; 
Query OK, 0 rows affected (0.21 sec) 
Records: 0 Duplicates: 0 Warnings: 0 


此處的sex后面只跟了數據類型,而沒有完整性約束條件 
增加有完整性約束條件的字段 

復制代碼代碼如下:


mysql> alter table person add age int not null; 
Query OK, 0 rows affected (0.17 sec) 
Records: 0 Duplicates: 0 Warnings: 0 


地處增加了一條age字段,接著在后面加上了not null完整性約束條件 
在表頭添加字段 

復制代碼代碼如下:


mysql> alter table person add num int primary key first; 
Query OK, 0 rows affected (0.20 sec) 
Records: 0 Duplicates: 0 Warnings: 0 


默認情況下添加字段都是添加到表尾,在添加語句后面加上first就能添加到表頭 
在指定位置添加字段 

復制代碼代碼如下:


mysql> alter table person add birth date after name; 
Query OK, 0 rows affected (0.20 sec) 
Records: 0 Duplicates: 0 Warnings: 0 


這里添加一條新字段放在name字段后面 
tps:表中字段的排序對表不會有什么影響,不過更合理的排序能便于理解表 
刪除字段 

復制代碼代碼如下:


mysql> alter table person drop sex; 
Query OK, 0 rows affected (0.18 sec) 
Records: 0 Duplicates: 0 Warnings: 0 


和前面刪除表或數據庫一樣,這里也需要用drop 
不同的是,刪除字段還要用alter table跟著表名 
修改字段到第一個位置 

復制代碼代碼如下:


mysql> alter table person modify id int first; 
Query OK, 0 rows affected (0.20 sec) 
Records: 0 Duplicates: 0 Warnings: 0 


first在前面已經講過,此處要注意的是字段后面要寫數據類型 
修改字段到指定位置 

復制代碼代碼如下:


mysql> alter table person modify name varchar(25) after id; 
Query OK, 0 rows affected (0.18 sec) 
Records: 0 Duplicates: 0 Warnings: 0 


我們把name字段放到了id后面,此處的varchar(25)要寫全,varchar不行 
建議操作以上步驟之前都先desc table 
修改表的存儲引擎 

復制代碼代碼如下:


mysql> alter table user rename person; 
Query OK, 0 rows affected (0.05 sec) 


這里先不具體講各個存儲引擎的特點,內容比較多 
修改完之后別忘了使用show create table語句查看,第三節有寫用法 
tips:如果表中已存在很多數據,不要輕易修改存儲引擎 
增加表的外鍵 

復制代碼代碼如下:


mysql> alter table score add constraint fk foreign key(stu_id) references student(id); 
Query OK, 10 rows affected (0.18 sec) 
Records: 10 Duplicates: 0 Warnings: 0 


這里只需使用add增加即可,后面的語法參見第四節中的外鍵設置 
刪除表的外鍵約束 

復制代碼代碼如下:


mysql> alter table student3 drop foreign key fk; 
Query OK, 0 rows affected (0.18 sec) 
Records: 0 Duplicates: 0 Warnings: 0 


由于基本的表結構描述無法顯示外鍵,所以在進行此操作前最好使用show create table查看表 
這里的fk就是剛剛設置的外鍵 
需要注意的是:如果想要刪除有關聯的表,那么必先刪除外鍵 
刪除外鍵后,原先的key變成普通鍵
至于刪除表的操作,在第三節有寫,設置外鍵在第四節也有寫如果創建表的時候沒有設置外鍵,可使用上面的方法

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 一级片a | 国产高潮国产高潮久久久91 | 一区二区三区播放 | 护士hd欧美free性xxxx | 国产99视频在线观看 | 亚洲一区在线视频观看 | 免费看黄色一级大片 | 久久精品小短片 | 在线看小早川怜子av | 成人在线视频免费观看 | 日韩黄色免费在线观看 | 国产一级免费电影 | 一级大黄毛片 | 午夜视频观看 | 曰批全过程40分钟免费视频多人 | 日韩黄色精品 | 少妇的肉体2无删减版 | 日韩精品a在线观看 | 日韩在线视频免费 | 中文日韩| 国产精品久久久久久久亚洲按摩 | 亚洲精品一区二区三区在线看 | 欧美.com | 久久精品高清 | 激情视频日韩 | 免费一区在线 | 久久成人国产精品 | 中文字幕精品一二三四五六七八 | 免费国产精品视频 | 精品久久久久久国产三级 | 中文字幕激情 | 精品国产一区二区三区四区阿崩 | 羞羞视频一区 | 国产一区网址 | 欧洲精品久久 | 黄色av一区二区三区 | 性片网站 | 激情亚洲网 | 51国产偷自视频区视频小蝌蚪 | 激情小说激情图片激情电影 | 日韩黄色av网站 |