MySQL筆記之修正表的完成辦法。本站提示廣大學習愛好者:(MySQL筆記之修正表的完成辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL筆記之修正表的完成辦法正文
我們在創立表的進程中不免會斟酌不周,是以前期會修正表
修正表須要用到alter table語句
修正表名
mysql> alter table student rename person;
Query OK, 0 rows affected (0.03 sec)
這裡的student是原名,person是修正事後的名字
用rename來重定名,也能夠應用rename to
還有一種辦法是rename table old_name to new_name
修正字段的數據類型
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 PRIMARY KEY(id);
Query OK, 0 rows affected (0.18 sec)
Records: 0 Duplicates: 0 Warnings: 0
這裡異樣也用於多字段設置
在表頭添加字段
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字段前面
tips:表中字段的排序對表不會有甚麼影響,不外更公道的排序能便於懂得表
刪除字段
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 person DROP PRIMARY KEY;
Query OK, 0 rows affected (0.22 sec)
Records: 0 Duplicates: 0 Warnings: 0
因為主鍵沒有別號,所以應用drop會刪除一切主鍵
刪除表的外鍵束縛
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釀成通俗鍵
至於刪除表的操作,在第三節有寫,設置外鍵在第四節也有寫
假如創立表的時刻沒有設置外鍵,可以使用下面的辦法