溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

sql中如何表示修改一個(gè)數(shù)據(jù)庫(kù)對(duì)象

發(fā)布時(shí)間:2021-02-04 09:57:21 來(lái)源:億速云 閱讀:354 作者:小新 欄目:MySQL數(shù)據(jù)庫(kù)

這篇文章主要介紹sql中如何表示修改一個(gè)數(shù)據(jù)庫(kù)對(duì)象,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

表示修改一個(gè)數(shù)據(jù)庫(kù)對(duì)象的SQL關(guān)鍵字是:ALTER。在數(shù)據(jù)庫(kù)中,可以使用“ALTER TABLE”語(yǔ)句來(lái)改變?cè)斜淼慕Y(jié)構(gòu),可以在已有的表中添加、刪除或修改列。

表示修改一個(gè)數(shù)據(jù)庫(kù)對(duì)象的SQL關(guān)鍵字是:alte。

SQL ALTER DATABASE 語(yǔ)句

MySQL 中,可以使用 ALTER DATABASE 來(lái)修改已經(jīng)被創(chuàng)建或者存在的數(shù)據(jù)庫(kù)的相關(guān)參數(shù)。修改數(shù)據(jù)庫(kù)的語(yǔ)法格式為:

ALTER DATABASE [數(shù)據(jù)庫(kù)名] { 
[ DEFAULT ] CHARACTER SET <字符集名> |
[ DEFAULT ] COLLATE <校對(duì)規(guī)則名>}

語(yǔ)法說(shuō)明如下:

  • ALTER DATABASE 用于更改數(shù)據(jù)庫(kù)的全局特性。

  • 使用 ALTER DATABASE 需要獲得數(shù)據(jù)庫(kù) ALTER 權(quán)限。

  • 數(shù)據(jù)庫(kù)名稱(chēng)可以忽略,此時(shí)語(yǔ)句對(duì)應(yīng)于默認(rèn)數(shù)據(jù)庫(kù)。

  • CHARACTER SET 子句用于更改默認(rèn)的數(shù)據(jù)庫(kù)字符集。

示例:

查看 test_db 數(shù)據(jù)庫(kù)的定義聲明的執(zhí)行結(jié)果

mysql> SHOW CREATE DATABASE test_db;
+----------+--------------------------------------------------------+
| Database | Create Database                                        |
+----------+--------------------------------------------------------+
| test_db  | CREATE DATABASE `test_db` /*!40100 DEFAULT CHARACTER SET utf8 */|
+----------+--------------------------------------------------------+
1 row in set (0.05 sec)

使用命令行工具將數(shù)據(jù)庫(kù) test_db 的指定字符集修改為 gb2312,默認(rèn)校對(duì)規(guī)則修改為 gb2312_unicode_ci

mysql> ALTER DATABASE test_db
    -> DEFAULT CHARACTER SET gb2312
    -> DEFAULT COLLATE gb2312_chinese_ci;
mysql> SHOW CREATE DATABASE test_db;
+----------+--------------------------------------------------------+
| Database | ALTER Database                                        |
+----------+--------------------------------------------------------+
| test_db  | ALTER DATABASE `test_db` /*!40100 DEFAULT CHARACTER SET gb2312 */|
+----------+--------------------------------------------------------+
1 row in set (0.00 sec)

(推薦教程:mysql視頻教程)

SQL ALTER TABLE 語(yǔ)句

SQL ALTER TABLE 語(yǔ)句用于在已有的表中添加、刪除或修改列。使用 ALTER TABLE 語(yǔ)句來(lái)改變?cè)斜淼慕Y(jié)構(gòu),例如增加或刪減列、更改原有列類(lèi)型、重新命名列或表等。

其語(yǔ)法格式如下:

ALTER TABLE <表名> [修改選項(xiàng)]

修改選項(xiàng)的語(yǔ)法格式如下:

{ ADD COLUMN <列名> <類(lèi)型>
| CHANGE COLUMN <舊列名> <新列名> <新列類(lèi)型>
| ALTER COLUMN <列名> { SET DEFAULT <默認(rèn)值> | DROP DEFAULT }
| MODIFY COLUMN <列名> <類(lèi)型>
| DROP COLUMN <列名>
| RENAME TO <新表名>
| CHARACTER SET <字符集名>
| COLLATE <校對(duì)規(guī)則名> }

修改表名

MySQL 通過(guò) ALTER TABLE 語(yǔ)句來(lái)實(shí)現(xiàn)表名的修改,語(yǔ)法規(guī)則如下:

ALTER TABLE <舊表名> RENAME [TO] <新表名>;

其中,TO 為可選參數(shù),使用與否均不影響結(jié)果。

修改表字符集

MySQL 通過(guò) ALTER TABLE 語(yǔ)句來(lái)實(shí)現(xiàn)表字符集的修改,語(yǔ)法規(guī)則如下:

ALTER TABLE 表名 [DEFAULT] CHARACTER SET <字符集名> [DEFAULT] COLLATE <校對(duì)規(guī)則名>;

其中,DEFAULT 為可選參數(shù),使用與否均不影響結(jié)果。

修改字段名稱(chēng)

MySQL 中修改表字段名的語(yǔ)法規(guī)則如下:

ALTER TABLE <表名> CHANGE <舊字段名> <新字段名> <新數(shù)據(jù)類(lèi)型>;

其中:

  • 舊字段名:指修改前的字段名;

  • 新字段名:指修改后的字段名;

  • 新數(shù)據(jù)類(lèi)型:指修改后的數(shù)據(jù)類(lèi)型,如果不需要修改字段的數(shù)據(jù)類(lèi)型,可以將新數(shù)據(jù)類(lèi)型設(shè)置成與原來(lái)一樣,但數(shù)據(jù)類(lèi)型不能為空。

修改字段數(shù)據(jù)類(lèi)型

修改字段的數(shù)據(jù)類(lèi)型就是把字段的數(shù)據(jù)類(lèi)型轉(zhuǎn)換成另一種數(shù)據(jù)類(lèi)型。在 MySQL 中修改字段數(shù)據(jù)類(lèi)型的語(yǔ)法規(guī)則如下:

ALTER TABLE <表名> MODIFY <字段名> <數(shù)據(jù)類(lèi)型>

其中:

  • 表名:指要修改數(shù)據(jù)類(lèi)型的字段所在表的名稱(chēng);

  • 字段名:指需要修改的字段;

  • 數(shù)據(jù)類(lèi)型:指修改后字段的新數(shù)據(jù)類(lèi)型。

刪除字段

刪除字段是將數(shù)據(jù)表中的某個(gè)字段從表中移除,語(yǔ)法格式如下:

ALTER TABLE <表名> DROP <字段名>;

其中,“字段名”指需要從表中刪除的字段的名稱(chēng)。

添加字段

1、在末尾添加字段

一個(gè)完整的字段包括字段名、數(shù)據(jù)類(lèi)型和約束條件。MySQL 添加字段的語(yǔ)法格式如下:

ALTER TABLE <表名> ADD <新字段名><數(shù)據(jù)類(lèi)型>[約束條件];

對(duì)語(yǔ)法格式的說(shuō)明如下:

  • <表名> 為數(shù)據(jù)表的名字;

  • <新字段名> 為所要添加的字段的名字;

  • <數(shù)據(jù)類(lèi)型> 為所要添加的字段能存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)類(lèi)型;

  • [約束條件] 是可選的,用來(lái)對(duì)添加的字段進(jìn)行約束。

這種語(yǔ)法格式默認(rèn)在表的最后位置(最后一列的后面)添加新字段。

2、在開(kāi)頭添加字段

MySQL 默認(rèn)在表的最后位置添加新字段,如果希望在開(kāi)頭位置(第一列的前面)添加新字段,那么可以使用 FIRST 關(guān)鍵字,語(yǔ)法格式如下:

ALTER TABLE <表名> ADD <新字段名> <數(shù)據(jù)類(lèi)型> [約束條件] FIRST;

FIRST 關(guān)鍵字一般放在語(yǔ)句的末尾。

3、在中間位置添加字段

MySQL 除了允許在表的開(kāi)頭位置和末尾位置添加字段外,還允許在中間位置(指定的字段之后)添加字段,此時(shí)需要使用 AFTER 關(guān)鍵字,語(yǔ)法格式如下:

ALTER TABLE <表名> ADD <新字段名> <數(shù)據(jù)類(lèi)型> [約束條件] AFTER <已經(jīng)存在的字段名>;

AFTER 的作用是將新字段添加到某個(gè)已有字段后面。

注意,只能在某個(gè)已有字段的后面添加新字段,不能在它的前面添加新字段。

以上是“sql中如何表示修改一個(gè)數(shù)據(jù)庫(kù)對(duì)象”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI