最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL筆記之修改表的實現(xiàn)方法

 更新時間:2013年05月03日 18:06:58   作者:  
我們在創(chuàng)建表的過程中難免會考慮不周,因此后期會修改表。本篇文章就介紹了在mysql中修改表的實現(xiàn)方法。需要的朋友參考下

我們在創(chuàng)建表的過程中難免會考慮不周,因此后期會修改表

修改表需要用到alter table語句


修改表名

復(fù)制代碼 代碼如下:

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


修改字段的數(shù)據(jù)類型

復(fù)制代碼 代碼如下:

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)


修改字段名

復(fù)制代碼 代碼如下:

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是新名

需要注意的是不管改不改數(shù)據(jù)類型,后面的數(shù)據(jù)類型都要寫

如果不修改數(shù)據(jù)類型只需寫成原來的數(shù)據(jù)類型即可

tips:我們同樣可以使用change來達(dá)到modify的效果,只需在其后寫一樣的字段名


增加無完整性約束條件的字段

復(fù)制代碼 代碼如下:

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

此處的sex后面只跟了數(shù)據(jù)類型,而沒有完整性約束條件


增加有完整性約束條件的字段

復(fù)制代碼 代碼如下:

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完整性約束條件


增加額外的完整性約束條件

復(fù)制代碼 代碼如下:

mysql> ALTER TABLE person ADD PRIMARY KEY(id);
Query OK, 0 rows affected (0.18 sec)
Records: 0  Duplicates: 0  Warnings: 0

這里同樣也用于多字段設(shè)置


在表頭添加字段

復(fù)制代碼 代碼如下:

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

默認(rèn)情況下添加字段都是添加到表尾,在添加語句后面加上first就能添加到表頭


在指定位置添加字段

復(fù)制代碼 代碼如下:

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:表中字段的排序?qū)Ρ聿粫惺裁从绊?,不過更合理的排序能便于理解表


刪除字段

復(fù)制代碼 代碼如下:

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

和前面刪除表或數(shù)據(jù)庫一樣,這里也需要用drop

不同的是,刪除字段還要用alter table跟著表名

修改字段到第一個位置

復(fù)制代碼 代碼如下:

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

first在前面已經(jīng)講過,此處要注意的是字段后面要寫數(shù)據(jù)類型


修改字段到指定位置

復(fù)制代碼 代碼如下:

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


修改表的存儲引擎

復(fù)制代碼 代碼如下:

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

這里先不具體講各個存儲引擎的特點(diǎn),內(nèi)容比較多

修改完之后別忘了使用show create table語句查看,第三節(jié)有寫用法

tips:如果表中已存在很多數(shù)據(jù),不要輕易修改存儲引擎


增加表的外鍵

復(fù)制代碼 代碼如下:

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增加即可,后面的語法參見第四節(jié)中的外鍵設(shè)置


刪除主鍵

復(fù)制代碼 代碼如下:

mysql> ALTER TABLE person DROP PRIMARY KEY;
Query OK, 0 rows affected (0.22 sec)
Records: 0  Duplicates: 0  Warnings: 0

由于主鍵沒有別名,所以使用drop會刪除所有主鍵


刪除表的外鍵約束

復(fù)制代碼 代碼如下:

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

由于基本的表結(jié)構(gòu)描述無法顯示外鍵,所以在進(jìn)行此操作前最好使用show create table查看表

這里的fk就是剛剛設(shè)置的外鍵

需要注意的是:如果想要刪除有關(guān)聯(lián)的表,那么必先刪除外鍵

刪除外鍵后,原先的key變成普通鍵

至于刪除表的操作,在第三節(jié)有寫,設(shè)置外鍵在第四節(jié)也有寫

如果創(chuàng)建表的時候沒有設(shè)置外鍵,可使用上面的方法

相關(guān)文章

  • mysql命令行下用戶管理方法分享

    mysql命令行下用戶管理方法分享

    如果有mysql管理工具phpmyadmin的話,我們可以通過圖形畫界面來對用戶進(jìn)行管理,但是如果沒有phpmyadmin這樣的管理工具怎么辦呢
    2012-07-07
  • MySQL主從復(fù)制之GTID模式詳細(xì)介紹?

    MySQL主從復(fù)制之GTID模式詳細(xì)介紹?

    這篇文章主要介紹了MySQL主從復(fù)制之GTID模式,GTID的復(fù)制方式,它由UUID和事務(wù)ID兩個部分組成,具有GTID事務(wù)是全局唯一性的,并且一個事務(wù)對應(yīng)一個GTID值、一個GTID值在同一個MySQL實例上只會執(zhí)行一次等特點(diǎn),想了解更多的小伙伴可以參考下面詳細(xì)內(nèi)容,希望對你有所幫助
    2022-02-02
  • MySQL聯(lián)合查詢之輕松實現(xiàn)數(shù)據(jù)關(guān)聯(lián)詳解

    MySQL聯(lián)合查詢之輕松實現(xiàn)數(shù)據(jù)關(guān)聯(lián)詳解

    MySQL中當(dāng)查詢數(shù)據(jù)來自多張表時需要用到關(guān)聯(lián)查詢,下面這篇文章主要給大家介紹了關(guān)于MySQL聯(lián)合查詢之輕松實現(xiàn)數(shù)據(jù)關(guān)聯(lián)的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • MySQL 的啟動選項和系統(tǒng)變量實例詳解

    MySQL 的啟動選項和系統(tǒng)變量實例詳解

    這篇文章主要介紹了MySQL 的啟動選項和系統(tǒng)變量,結(jié)合實例形式詳細(xì)分析了MySQL 啟動選項和系統(tǒng)變量具體原理、功能、用法及操作注意事項,需要的朋友可以參考下
    2020-05-05
  • mysql如何將多行數(shù)據(jù)合并成一行

    mysql如何將多行數(shù)據(jù)合并成一行

    這篇文章主要介紹了mysql將多行數(shù)據(jù)合并成一行的方法,需要的朋友可以參考下
    2014-08-08
  • MySQL中的集合運(yùn)算符詳解

    MySQL中的集合運(yùn)算符詳解

    本文主要介紹了MySQL中的集合運(yùn)算符,包括UNION、INTERSECT、EXCEPT等,這些運(yùn)算符用于結(jié)合兩個或多個SELECT語句的結(jié)果集,并進(jìn)行去重、合并或差集操作
    2025-02-02
  • MySQL 撤銷日志與重做日志(Undo Log與Redo Log)相關(guān)總結(jié)

    MySQL 撤銷日志與重做日志(Undo Log與Redo Log)相關(guān)總結(jié)

    這篇文章主要介紹了MySQL 撤銷日志與重做日志(Undo Log與Redo Log)相關(guān)總結(jié),幫助大家更好的理解和學(xué)習(xí)使用MySQL,感興趣的朋友可以了解下
    2021-03-03
  • mysql 8.0.16 winx64安裝配置方法圖文教程

    mysql 8.0.16 winx64安裝配置方法圖文教程

    這篇文章主要為大家分享了mysql 8.0.16 安裝配置方法圖文教程,具有一定的參考價值,感興趣的朋友可以參考一下
    2019-05-05
  • mysql數(shù)據(jù)表的基本操作之表結(jié)構(gòu)操作,字段操作實例分析

    mysql數(shù)據(jù)表的基本操作之表結(jié)構(gòu)操作,字段操作實例分析

    這篇文章主要介紹了mysql數(shù)據(jù)表的基本操作之表結(jié)構(gòu)操作,字段操作,結(jié)合實例形式分析了mysql表結(jié)構(gòu)操作,字段操作常見增刪改查實現(xiàn)技巧與操作注意事項,需要的朋友可以參考下
    2020-04-04
  • MySQL更改默認(rèn)字符集為utf-8的全過程

    MySQL更改默認(rèn)字符集為utf-8的全過程

    這篇文章主要介紹了MySQL更改默認(rèn)字符集為utf-8的全過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12

最新評論

双流县| 樟树市| 武陟县| 玉屏| 通河县| 湛江市| 湘阴县| 黔江区| 原阳县| 宁明县| 淄博市| 九江县| 鄂托克前旗| 四川省| 鱼台县| 闽清县| 晋城| 大英县| 天峨县| 手机| 仙桃市| 乌兰县| 南木林县| 怀来县| 城固县| 舟山市| 纳雍县| 开化县| 重庆市| 芮城县| 凌源市| 遂昌县| 文成县| 当阳市| 四会市| 策勒县| 沧州市| 泰来县| 西乌珠穆沁旗| 方山县| 五寨县|