MySQL常用語句

來源:互聯網
上載者:User

標籤:條件   exist   ;;   inno   out   一鍵   primary   總結   mysq   

一、前言

  今天天氣很好,大晴天,心情也好好的。就將MySQL常用的語句總結一下,記錄在隨筆裡,也順便分享分享。日後,這篇隨筆我將會持續更新,作為我自己的MySQL語句大全。

二、常用SQL語句

  我將由外到裡進行編寫(資料庫到表再到資料)

  庫層:

  1、SHOW DATABASES;

  2、CREATE DATABASE dbname;

  3、DROP DABABASE dbname;

  4、ALTER DATABASE dbname set=新字元集 collate=新校對集;

  5、USE dbname;

  6、SHOW CREATE DATABASE dbname;

  表層:

  1、建立表形式:

  CREATE TABLE tabname

  (

           欄位名1,資料類型 [列層級約束條件] [預設值],

       欄位名1,資料類型 [列層級約束條件] [預設值],

     …

      [表層級約束條件]

  );

    a、使用主鍵約束PRIMARY KEY

       兩個地方添加:1、列約束條件位置(PRIMARY KEY)  2、表層級約束條件位置([CONSTRAINT <約束名>]  PRIMARY KEY [欄位名])

    b、使用唯一性限制式UNIQUE

       同上兩個地方添加:1、UNIQUE  2、[CONSTRAINT <約束名>]  UNIQUE(<欄位名>)

       與主鍵的區別,兩者同樣要求唯一,但是UNIQUE可以是NULL,主鍵不可以。且一個表中PRIMARY KEY只能是一個,UNIQUE可以存在多個。

    c、使用外鍵約束(InnoDB) FOREIGN KEY

       一個地方添加:1、表層級約束條件位置添加 [CONSTRAINT <外鍵名>]  FOREIGN KEY 欄位名1[,欄位名2,…]  REFERENCES <主表名> 主鍵列 [,主鍵列2,….]

    注意:兩個表之間有了外鍵的聯絡,不能直接刪除主表,否則會出錯!若必須要刪除主表,可以先刪除外鍵,再來刪除主表。

    d、非空約束 NOT NULL

       一個地發添加:1、列約束條件位置  NOT NULL

    e、使用預設約束 DEFAULT

       一個位置添加:1、列約束條件位置  DEFAULT 預設值

    f、設定表的屬性值自動增加  AUTO_INCREMENT

       一個位置添加:1、列約束條件位置  AUTO_INCREMENT

    注意:此時的列必須是主鍵或者唯一鍵!

    索引問題:以下是普通索引、全文索引、空間索引。上面建立約束的同時也是建立相應的索引,主鍵索引、唯一索引等等。

    g、普通索引 INDEX/KEY

       一個位置添加:1、列約束條件位置  INDEX(<欄位名>);

    h、全文索引(MyISAM) FULLTEXT

       一個位置添加:1、列約束條件位置  FULLTEXT KEY [‘名字’] (‘欄位名’);

    i、建立空間索引(MyISAM) SPATIAL

       一個位置添加:1、列約束條件位置  SPATIAL KEY [‘名字’] (‘欄位名’);

  2、DESCRIBE/DESC tabname;

  3、SHOW CREATE TABLE tabname;

  4、DROP TABLE [IF EXISTS] <表名>;

  5、ALTER TABLE <表名> ENGINE=<更改後的儲存引擎>;

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

  7、ALTER TABLE <表名> MODIFY <欄位名> <資料類型>;

  8、ALTER TABLE <表名> CHANGE <舊欄位名> <新欄位名> <新資料類型>;

  9、ALTER TABLE <表名> ADD <新欄位名> <新欄位類型> [約束條件] [FIRST|AFTER 已存在的欄位名];

  10、ALTER TABLE <表名> MODIFY <欄位1> <資料類型> FIRST|AFTER <欄位2>;

  11、ALTER TABLE <表名>DROP <欄位名>;

  #在已有的表上建立索引

  12、ALTER TABLE <表名> ADD INDEX [索引名] (欄位名);

  13、ALTER TABLE <表名> ADD PRIMARY KEY (欄位名);

  14、ALTER TABLE <表名> ADD FOREIGN KEY (欄位名) REFERENCES <主表名> (主鍵欄位);

  15、ALTER TABLE <表名> ADD UNIQUE KEY (欄位名);

  16、ALTER TABLE <表名> ADD FULLTEXT KEY(欄位名);

  17、ALTER TABLE <表名> ADD SPATIAL KEY (欄位名);

  18、ALTER TABLE <表名> ALTER <欄位名> SET DEFAULT 預設值;

  #刪除索引

  19、ALTER TABLE <表名> ALTER <欄位名> DROP DEFAULT;

  20、ALTER TABLE <表名> DROP PRIMARY KEY;

  21、ALTER TABLE <表名> DROP FOREIGN KEY 外鍵名;

  22、ALTER TABLE <表名> DROP INDEX 索引名;

  23、DROP INDEX index_name ON tabname;

  資料層:

  1、插入資料

  INSERT INTO tabname (column_list) VALUES (value_list);

  INSERT INTO tabname (column_list) VALUES (value_list1),(value_list2),….,(value_listn);

  INSERT INTO tabname SET 欄位名1=值1,欄位名2=值2,…..,欄位名n=值n;\

  2、更新資料

  UPDATE tabname SET column_name1=value1,column_name2=value2,…column_namen=valuen WHERE (condition);

  3、刪除資料

  DELETE FROM tabname[WHERE <condition>];

  TRUNCATE [TABLE] tabname;

  DELETE與TRUNCATE的區別:TRUNCATE直接刪除整個表,再建立一個一模一樣的表。

  4、資料查詢

  (1)、SELECT {*|<欄位列表>}

  [

  FROM <表1>,<表2>,…,<表n>

  WHERE <運算式>

  GROUP BY <分組欄位>

  HAVING <expression>

  ORDER BY <排序欄位>

  LIMIT <num>

  ]

  (2)、SELECT [欄位1,欄位2,…,欄位n] from [表|視圖] WHERE [查詢條件];

  (3)、串連查詢

  a、內串連查詢  SELECT tab1.* tab2.* FROM tab1 INNER JOIN tab2 ON <condition>;

  b、左串連查詢  SELECT tab1.* tab2.* FROM tab1 LEFT [OUTER] JOIN tab2 ON <condition>;

  c、右串連查詢  SELECT tab1.* tab2.* FROM tab1 RIGHT [OUTER] JOIN tab2 ON <condition>;

  (4)、合并查詢結果

       SELECT column,… FROM tab1

       UNION [ALL]

       SELECT column,…FROM tab2;

 

(以上是自己的一些見解,若有不足或者錯誤的地方請各位指出)

壹葉隨風

聲明:本部落格文章為原創,只代表本人在工作學習中某一時間內總結的觀點或結論。轉載時請在文章頁面明顯位置給出原文連結。

 

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.