標籤:des style blog http color ar 使用 strong sp
1、建表語句
建表是資料庫最基本的功能,常用的建表語句如下:
CREATE TABLE `staff_info`( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT ‘PK‘, `job_number` varchar(100) NOT NULL COMMENT ‘工號‘, `city` varchar(100) NOT NULL DEFAULT ‘上海‘ COMMENT ‘員工居住城市‘, `street` varchar(100) NOT NULL DEFAULT ‘徐匯區‘ COMMENT ‘員工居住街道‘, `salary` int(11) COMMENT ‘薪水‘, `status` tinyint(4) NOT NULL DEFAULT 1 COMMENT ‘選項組,0:無效,1:有效‘, PRIMARY KEY (`id`),
UNIQUE KEY `UNIQUE_JOBNUMBER_STATUS` (`job_number`,`status`), KEY `IX_JOBNUMBER`(`job_number`), KEY `IX_CITY_STREET`(`city`, `street`))ENGINE=InnoDB AUTO_INCREMENT=10000 DEFAULT CHARSET=utf8 COMMENT=‘員工資訊表‘;
對於建表語句,有以下幾點需要說明:
1、建表語句的每一行最起碼需要指定資料項目名稱和資料項目類型;
2、如果某一資料項目不能為NULL,需要指定NOT NULL屬性;
3、如果某一項資料有預設值,可以使用DEFAULT指定預設值;
4、為了方便他人使用該表,請在每一項後面增加COMMENT注釋;
5、如果在建表的時候就已經能夠確定後期查詢格式,那麼可以使用KEY文法指定表索引;
6、如果有一列或某幾列的內容必須唯一,那麼可以使用UNIQUE KEY指定這幾列;
7、在建表語句的最後我們可以使用ENGINE指定資料庫引擎,DEFAULT CHARSET指定表字元集;
8、我在每一資料項目上都加了反引號`,在鍵盤esc的下方,它是為了區分MYSQL的保留字與一般字元而引入的符號,如果資料項目中包含保留字,就必須使用反引號;
9、在mysql中,一般會建立一個需求無關的自增主鍵,我這裡取名為id。在id項增加了AUTO_INCREMENT屬性,說明該項自增加,PRIMARY KET指定id項是主鍵,建表語句最後的"AUTO_INCREMENT=10000"說明從10000開始自增;
2、查看錶結構
如果想知道表定義了哪些資料項目,我們可以使用"DESC 表名"查看錶結構:
不過使用以上文法查看錶結構,我們無法看到我們在資料項目上增加的注釋,所以我更喜歡使用"show create table 表名"查看錶結構:
"show create table"命令除了可以看到資料項目及資料項目類型外,還能看到表上的索引以及注釋。
3、改變資料表結構
上一部分講解了查看錶結構,這一部分我們講解如何修改表結構。
在表的最後增加一列
在表的最後增加一列的文法如下:
Alter table 表名 add 列名稱 列類型 列參數;
例如,我們可以使用以下語句在staff_info表的最後增加一列,該列表明該員工的入職日期:
ALTER TABLE `staff_info` add `entrant_date` DATE comment ‘入職時間‘;
把新列增加在某列之後
除了預設地在最後增加一列,我們也可以指定在某一列之後增加一列:
Alter table 表名 add 列名稱 列類型 列參數 after 某列
例如,我們可以使用以下語句在job_number後增加一列,該列表明該員工的性別:
ALTER TABLE `staff_info` add `gender` char(1) NOT NULL DEFAULT ‘M‘ comment ‘性別‘ after `job_number`;
把新列加在最前面
我們還可以把列增加在表最前面,文法如下:
Alter table 表名 add 列名稱 列類型 列參數 first
例如,我們可以使用以下語句在staff_info表的最開頭增加一列:
ALTER TABLE `staff_info` add test VARCHAR(100) NOT NULL FIRST;
刪除列
除了增加列,ALTER TABLE還可以刪除列,刪除列的文法如下:
Alter table 表名 drop 列名
例如,以下語句可以把剛剛增加的test列刪除:
ALTER TABLE `staff_info` drop test;
修改列類型
ALTER TABLE可以修改列類型,文法如下:
Alter table 表名 modify 列名 新類型 新參數
例如如下語句可以把city列的列類型修改為varchar(10):
ALTER TABLE `staff_info` modify city varchar(10) NOT NULL DEFAULT ‘上海‘ comment ‘員工居住城市‘;
修改列名及列類型
以上文法只能修改列類型,無法修改列名,我們可以使用以下文法同時修改列名和列類型:
Alter table 表名 change 舊列名 新列名 新類型 新參數
以下語句可以把city列名修改為live_city,同時把列類型修改為varchar(100):
ALTER TABLE `staff_info` change `city` `live_city` varchar(100) NOT NULL DEFAULT ‘上海‘ comment ‘員工居住城市‘;
修改表名
最後介紹修改表名,文法如下:
ALTER TABLE 【表名字】 RENAME 【表新名字】
以下語句可以把staff_info表重新命名為staff:
ALTER TABLE `staff_info` RENAME `staff`;
MYSQL學習筆記——基本文法