MySQL學習筆記(一)

初學MySQL,感受SQL語句仍是有點多,在此作一些MySQL的基礎筆記,以防忘記。mysql

1. 鏈接數據庫: mysql -h hostname -u username -psql

默認狀況下是鏈接本地的數據庫,因此上面能夠簡寫爲:mysql -u  root -p數據庫

2. 顯示數據庫:SHOW DATABASES;數據結構

3. 建立數據庫:CREATE DATABASE db1;spa

4. 刪除數據庫:DROP DATABASE db1;基礎

5. 使用某一數據庫:USE db1;數據類型

6. 顯示該數據庫中全部的表:SHOW TABLES;語法

7. 建立表:CREATE TABLE  <表名> (字段 數據類型 [約束條件] [默認值/其餘屬性] );方法

這裏講解經常使用的約束:數據

(1)主鍵約束,能夠加快查詢速度,要求主鍵列的數據惟一且不爲空。一種是上面的設置方式,另爲一種是在字段的最後加上:PRIMARY KEY [字段1,字段2,...]  

(2)外鍵約束,創建兩個數據表之間的連接,它是表中的一個字段,對應另外一個表的主鍵,其做用是保持數據的一致性與完整性。涉及的主表與從表概念:主表(父表):相關聯字段中主鍵所在的那個表;從表(子表):相關聯字段中外鍵所在的那個表。子表的外鍵必須關聯父表的主鍵,且關聯字段的數據類型必須匹配。

語法規則以下:CONSTRAINT <外鍵名> FOREIGN KEY [字段1,字段2,...] REFERENCES <主鍵名> [主鍵列1,主鍵列2,...]

(3)非空約束:指定字段的值不爲空,語法:NOT NULL

(4)惟一性約束:指明該列惟一,容許爲空,但只能有一個空值,它與主鍵的區別是:一個表只容許存在一個主鍵,且主鍵列不準爲空,而聲明UNIQUE的字段能夠有多個,且容許爲空。它使用與主鍵同樣,能夠在數據類型後面加上,也能夠在全部字段後面加上 CONSTRAINT <約束名> UNIQUE (字段名)  

(5)默認約束:定義默認值,使用DEFAULT關鍵詞。

   固然還有一個設置自動增長的屬性:AUTO_INCREMENT。一個表只容許有一個AUTO_INCREMENT,且它必須爲主鍵的一部分。其字段的數據類型能夠爲任意整型類型(TINYINT、SMALLIN、INT、BIGINT等)。

8. 查看錶結構:DESC tab1;

當須要查看建立表的詳細信息時,可使用:SHOW CREATE TABLE tab1\G;

9. 修改表名:ALTER TABLE <舊錶名> RENAME <新表名>;

10. 修改字段名:ALTER TABLE <表名> CHANGE <舊字段名> <新字段名> <新數據類型>;

11. 修改字段的數據結構:ALTER TABLE <表名> MODIFY <字段名> <數據類型>;

12. 添加字段:ALTER TABLE <表名> ADD <新字段名> <數據類型> [約束條件] [字段位置屬性];

這裏的字段位置屬性是指新添加的字段在表中的順序,能夠指定爲表的第一列:FIRST,也能夠指定在某一列的後面:AFTER line。固然也可使用下面的語句修改字段的排列位置。

13. 修改字段的排列位置:LATER TABLE <表名> MODIFY <字段1> <字段1數據類型> FIRST | AFTER <字段2>;

這裏還加上了字段1數據類型,因此經過這種方法也能夠修改字段1的數據類型。

14. 刪除字段:ALTER TABLE <表名> DROP <字段名>;

15. 刪除外鍵約束:ALTER TABLE <表名> DROP FOREIGN KEY <外鍵約束名>;

外鍵約束關聯到其餘的表,在這種狀況下,若是直接刪除父表會失敗,因此能夠先解除外鍵關聯,再刪除主表。

16. 刪除表:DROP TABLE IF EXITS tab1;

相關文章
相關標籤/搜索