登陸數據庫系統:mysql
mysql –h localhost –u root –p
其中,「-h」參數指鏈接的主機名,所以此處是鏈接本機,因此後面的內容爲localhost;sql
「-u」參數表示用戶名,此處的用戶名爲 root;數據庫
「-p」參數指用戶名密碼。安全
建立數據庫:併發
CREATE DATABASE 數據庫名;
顯示已經存在的數據庫:編碼
SHOW DATABASES;
刪除數據庫:spa
DROP DATABASE 數據庫;
數據庫存儲引擎:存儲引擎指的表的類型。數據庫的存儲引擎決定了表在計算機中的存儲方式。code
查看數據庫支持的存儲引擎類型:事務
SHOW ENGINES;
查詢MySQL支持的存儲引擎:內存
SHOW VARIABLES LIKE ‘have%’;
查詢默認存儲引擎:
SHOW VARIABLES LIKE ‘storage_engine’;
若是想要更改默認的存儲引擎,能夠再my.ini 中進行修改。將」default-storage-engine=INNODB」更改成 「default-storage-engine = MyISAM」。而後重啓服務,修改生效。( 有待驗證,沒找到這個文件,多是文件名不同了吧)
存儲引擎的對比:
選擇存儲引擎的建議:
InnoDB 存儲引擎: InnoDB 存儲引擎支持事務處理,支持外鍵。同時支持崩潰修復能力和併發控制。若是須要對事務的完整性要求比較高,要求實現併發控制,那選擇InnoDB存儲引擎有其很大的優點。若是須要頻繁的進行更新,刪除操做的數據庫,也能夠選擇InnoDB存儲引擎。由於,該類存儲引擎能夠實現事務的提交(Commit)和回滾(Rollback)。
MyISAM 存儲引擎: MyISAM 存儲引擎的插入數據快,空間和內存使用比較低。若是表主要是用於插入新記錄和讀出記錄,那麼選擇MyISAM存儲引擎能實現處理的高效率。若是應用的完整性,併發性要求很低,也能夠選擇MyISAM 存儲引擎。
MEMORY 存儲引擎: MEMORY存儲引擎的全部數據都在內存中,數據的處理速度快,但安全性不高。若是須要很快的讀寫速度,對數據的安全性要求較低,能夠選擇MEMORY 存儲引擎。MEMORY 存儲引擎對錶的大小有要求,不能創建太大的表。因此,這類數據庫只使用於相對較小的數據庫表。
技巧:同一個數據庫中可使用多種存儲引擎的表。若是一個表要求較高的事務處理,能夠選擇InnoDB。這個數據庫中能夠將查詢要求比較高的表選擇MyISAM存儲引擎。若是須要改數據庫中須要一個用於查詢的臨時表,能夠選擇MEMORY存儲引擎。
建立表的語法:
CREATE TABLE 表名 (屬性名 數據類型 [完整性約束條件], 屬性名 數據類型 [完整性約束條件], …… 屬性名 數據類型 );
「表名」參數表示所要建立的表的名稱,
「屬性名」參數表示表中字段的名稱,
「數據類型」參數指定字段的數據類型,
「完整性約束條件」參數指定字段的某些特殊約束條件。
注意: 在使用CREATE TABLE語句建立表時,首先要使用USE語句選擇數據庫。選擇數據語句的基本格式爲」USE 數據庫名」。若是沒有選擇數據庫,建立表時會出現」ERROR 1046(3D000):No database selected」錯誤。
完整性約束條件表
DESCRIBE語句能夠查看錶的基本定義。其中包括,字段名,字段數據類型,是否爲主鍵和默認值等。DESCRIBE語句的語法形式以下:
DESCRIBE 表名;(DESCRIBE 能夠縮寫成DESC)
SHOW CREATE TABLE語句能夠查看錶的詳細定義。該語句能夠查看錶的字段名,字段的數據類型,完整性約束條件等信息外,還能夠查看錶默認的存儲引擎和字符編碼。SHOW CREATE TABLE語句的語法形式以下:
SHOW CREATE TABLE 表名;
修改表名:
ALTER TABLE 舊錶名 RENAME [TO]新表名;
修改字段的數據類型:
ALTER TABLE 表名 MODIFY 屬性名 數據類型;
其中,「表名「參數指所要修改的表的名稱;
「屬性名「參數指須要修改的字段的名稱;
「數據類型「參數指修改後的新數據類型。
修改字段名:
ALTER TABLE 表名 CHANGE 舊屬性名 新屬性名 新數據類型;
新數據類型「參數修改後的數據類型,如不須要修改,則將新數據類型設置成與原來同樣。
增長字段:
ALTER TABLE 表名 ADD 屬性名1 數據類型 [完整性約束條件] [FIRST|AFTER 屬性名2];
「FIRST」參數也是可選參數,其做用是將新增字段設置爲表的第一字段;
「AFTER 屬性名2」參數也是可選參數,其做用是將新增字段添加到「屬性名2「所指的字段後。若是執行的SQL語句中沒有」FIRST」 「AFTER 屬性名2」參數指定新增字段的位置,新增的字段默認爲表的最後一個字段。
刪除字段:
ALTER TABLE 表名 DROP 屬性名;
其中,「屬性名「參數指須要從表中刪除的字段的名稱。
修改字段的排列順序:
ALTER TABLE 表名 MODIFY 屬性名1 數據類型 FIRST|AFTER 屬性名2;
「屬性名1「參數指須要修改位置的字段名稱;
「數據類型「參數指」屬性名1」的數據類型;
「FIRST「參數指定位置爲表的第一個位置;
「AFTER屬性名2」參數指定」屬性名1」插入在」屬性名2」以後。
更改表的存儲引擎:
ALTER TABLE 表名 ENGINE=存儲引擎名;
其中,「存儲引擎名「參數指設置的新存儲引擎的名稱。
MySQl存儲引擎包括InnoDB, MyISAM, MEMORY等。
刪除表的外鍵約束:
ALTER TABLE 表名 DROP FOREIGN KEY 外鍵別名;
刪除表:
DROP TABLE 表名;
技巧:刪除一個表時,表中的全部數據也會被刪除。所以,在刪除表的時候必定要慎重。最穩妥的作法是先將表中全部的數據備份出來,而後再刪除表。一旦刪除表後發現形成了損失,能夠經過備份的數據還原,以便將損失下降到最小。