程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL進修筆記5:修正表(alter table)

MySQL進修筆記5:修正表(alter table)

編輯:MySQL綜合教程

MySQL進修筆記5:修正表(alter table)。本站提示廣大學習愛好者:(MySQL進修筆記5:修正表(alter table))文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL進修筆記5:修正表(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釀成通俗鍵
至於刪除表的操作,在第三節有寫,設置外鍵在第四節也有寫假如創立表的時刻沒有設置外鍵,可以使用下面的辦法
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved