MYSQL學習筆記——基本文法

來源:互聯網
上載者:User

標籤: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學習筆記——基本文法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.