新聞中心
修改數(shù)據(jù)表的前提是數(shù)據(jù)庫(kù)中已經(jīng)存在該表。修改表指的是修改數(shù)據(jù)庫(kù)中已經(jīng)存在的數(shù)據(jù)表的結(jié)構(gòu)。修改數(shù)據(jù)表的操作也是數(shù)據(jù)庫(kù)管理中必不可少的,就像畫(huà)素描一樣,畫(huà)多了可以用橡皮擦掉,畫(huà)少了可以用筆加上。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:主機(jī)域名、網(wǎng)絡(luò)空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、玉泉街道網(wǎng)站維護(hù)、網(wǎng)站推廣。
不了解如何修改數(shù)據(jù)表,就相當(dāng)于是我們只要畫(huà)錯(cuò)了就要扔掉重畫(huà),這樣就增加了不必要的成本。
在 MySQL 中可以使用
ALTER TABLE 語(yǔ)句來(lái)改變?cè)斜淼慕Y(jié)構(gòu),例如增加或刪減列、更改原有列類型、重新命名列或表等。
其語(yǔ)法格式如下:
ALTER TABLE <表名> [修改選項(xiàng)]
修改選項(xiàng)的語(yǔ)法格式如下:
{ ADD COLUMN <列名> <類型>
| CHANGE COLUMN <舊列名> <新列名> <新列類型>
| ALTER COLUMN <列名> { SET DEFAULT <默認(rèn)值> | DROP DEFAULT }
| MODIFY COLUMN <列名> <類型>
| 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é)果。
例 1
使用 ALTER TABLE 將數(shù)據(jù)表 student 改名為 tb_students_info,SQL 語(yǔ)句和運(yùn)行結(jié)果如下所示。
mysql> ALTER TABLE student RENAME TO tb_students_info; Query OK, 0 rows affected (0.01 sec) mysql> SHOW TABLES; +------------------+ | Tables_in_test | +------------------+ | tb_students_info | +------------------+ 1 row in set (0.00 sec)
提示:修改表名并不修改表的結(jié)構(gòu),因此修改名稱后的表和修改名稱前的表的結(jié)構(gòu)是相同的。用戶可以使用 DESC 命令查看修改后的表結(jié)構(gòu),
修改表字符集
MySQL 通過(guò) ALTER TABLE 語(yǔ)句來(lái)實(shí)現(xiàn)表字符集的修改,語(yǔ)法規(guī)則如下:
ALTER TABLE 表名 [DEFAULT] CHARACTER SET <字符集名> [DEFAULT] COLLATE <校對(duì)規(guī)則名>;
其中,DEFAULT 為可選參數(shù),使用與否均不影響結(jié)果。
例 2
使用 ALTER TABLE 將數(shù)據(jù)表 tb_students_info 的字符集修改為 gb2312,校對(duì)規(guī)則修改為 gb2312_chinese_ci。SQL 語(yǔ)句和運(yùn)行結(jié)果如下所示。
mysql> ALTER TABLE tb_students_info CHARACTER SET gb2312 DEFAULT COLLATE gb2312_chinese_ci;
Query OK, 0 rows affected (0.08 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> SHOW CREATE TABLE tb_students_info \G
*************************** 1. row ***************************
Table: tb_students_info
Create Table: CREATE TABLE `tb_students_info` (
`id` int(11) NOT NULL,
`name` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=gb2312
1 row in set (0.00 sec)由于篇幅有限,我們?cè)凇?MySQL數(shù)據(jù)表添加字段》和《 MySQL修改/刪除字段》文章中介紹了 MySQL 數(shù)據(jù)表字段的操作(增刪改查)。
本文標(biāo)題:創(chuàng)新互聯(lián)數(shù)據(jù)庫(kù)教程:MySQL ALTER TABLE:修改數(shù)據(jù)表
新聞來(lái)源:http://fisionsoft.com.cn/article/djecieg.html


咨詢
建站咨詢
