在此之前充尉,默認以安裝好mysql
首先連接數(shù)據(jù)庫 mysql -u root -p,然后輸入密碼
查看當前存在的所有數(shù)據(jù)庫 show databases;
創(chuàng)建數(shù)據(jù)庫 create database database_name;
刪除數(shù)據(jù)庫 drop database database_name;
數(shù)據(jù)庫存儲引擎
數(shù)據(jù)庫存儲引擎是數(shù)據(jù)庫底層軟件組件,數(shù)據(jù)庫管理系統(tǒng)(DBMS)使用數(shù)據(jù)引擎進行創(chuàng)建、查詢、更新芭碍、刪除數(shù)據(jù)操作。不同的存儲引擎提供不同的存儲機制孽尽、索引機制窖壕、鎖定水平等。mysql的核心就是存儲引擎杉女。
mysql存儲引擎簡介
mysql提供了多個不同的存儲引擎瞻讽,包括處理事務(wù)安全表的引擎和處理非事務(wù)安全表的引擎。在mysql中熏挎,可以對每張表使用不同的存儲引擎速勇。mysql5.7支持的存儲引擎有InnoDB,MyISAM、Memory婆瓜、Merge快集、Archive、Federated廉白、CSV、BLACKHOLE等乖寒,使用show engines查看系統(tǒng)支持的引擎類型猴蹂。
InnoDB存儲引擎
InnoDB是事務(wù)型數(shù)據(jù)庫的首選引擎,支持事務(wù)安全表(ACID)楣嘁,支持行鎖和外鍵磅轻。是mysql5.5.5之后(之前是myisam),mysql的默認存儲引擎.InnoDB的主要特性如下:
1逐虚、InnoDB給mysql提供了具有提交聋溜、回滾和崩潰恢復(fù)的事務(wù)安全(ACID兼容)存儲引擎,InnoDB鎖定行級時叭爱,能給select語句提供一個非鎖定讀撮躁。
2、InnoDB是為處理巨大數(shù)據(jù)量的最大性能設(shè)計
3买雾、InnoDB存儲引擎完全與mysql服務(wù)器整合把曼,InnoDB存儲引擎為在主內(nèi)存中緩存數(shù)據(jù)和索引而維持它自己的緩沖池。InnoDB將它的表和索引存在一個邏輯表空間中漓穿,表空間可以包含數(shù)個文件嗤军。而MyISAM表中的每個表被存放在分離的文件中。
4晃危、InnoDB支持外鍵完整性約束叙赚,如果沒有在表定義時指定主鍵,InnoDB會為每一行生成一個ROWDB,并以此作為主鍵震叮。
5沿量、InnoDB被用在眾多需要高性能的大型數(shù)據(jù)庫站點。InnoDB不創(chuàng)建目錄冤荆,使用InnoDB時朴则,mysql將在mysql數(shù)據(jù)目錄下創(chuàng)建一個ibdatal的10MB自動擴展的數(shù)據(jù)文件,以及二個名為ib_logfile0和ib_logfile1的5MB大小的日志文件钓简。
MyISAM存儲引擎
MyISAM基于ISAM存儲引擎乌妒,并對其進行擴展。它是在web外邓、數(shù)據(jù)倉儲等環(huán)境下最常使用的存儲引擎之一撤蚊。MyISAM擁有較高的插入、查詢速度损话,但不支持事務(wù)侦啸,MyISAM的主要特性如下:
1、大文件(達63位文件長度)在支持大文件的文件系統(tǒng)和操作系統(tǒng)上被支持
2丧枪、當刪除光涂、更新、插入操作混合使用的時候動態(tài)尺寸的行產(chǎn)生更少碎片拧烦。
3忘闻、每個MyISAM表的最大索引數(shù)是64,可以通過重新編譯來改變恋博。每個索引最大的列數(shù)是16個
4齐佳、最大的鍵長度是1000B。也可以通過編譯來改變
5债沮、BLOG和TEXT列可以被索引
6炼吴、NULL值被允許在索引的列中
7、所有的數(shù)字鍵值以高字節(jié)優(yōu)先被存儲疫衩,以允許一個更高的索引壓縮
8硅蹦、每個表都有一個AUTO_INCREMENT列的內(nèi)部處理。MyISAM為INSERT和UPDATE操作自動更新這一行隧土。這使的AUTO_INCREMENT列更快
9提针、可以把數(shù)據(jù)文件和索引文件放在不同的目錄
10、每個字符列可以有不同的字符集
11曹傀、VARCHAR可以固定或動態(tài)記錄長度
12辐脖、VARCHAR和CHAR列可以多達64KB
使用MyISAM引擎創(chuàng)建數(shù)據(jù)庫,將生產(chǎn)三個文件皆愉。文件的名字以表的名字開始嗜价,擴展名指出文件類型:frm文件存儲表定義艇抠,數(shù)據(jù)文件的擴展名為.MYD,索引文件的擴展名為.MYI
MEMORY存儲引擎
MEMORY存儲引擎將表中的數(shù)據(jù)存儲到內(nèi)存中,為查詢和引用其他表數(shù)據(jù)提供快速訪問久锥。主要特性如下:
1家淤、MEMORY表的每個表可以有多達32個索引,每個索引16列瑟由,以及500B的最大鍵長度
2絮重、MEMORY存儲引擎執(zhí)行HASH和BTREE索引
3、可以在一個MEMORY表中有非唯一鍵
4歹苦、MEMORY不支持BOLG或TEXT列
5青伤、MEMORY支持AUTO_INCREMENT列和包含NULL的值的列索引
6、MEMORY表在所有客戶端之間共享
7殴瘦、MEMORY表內(nèi)容被存在內(nèi)存中狠角,內(nèi)存是MEMORY表和服務(wù)器在查詢處理時的空閑中創(chuàng)建的內(nèi)部表共享
8、當不再需要MEMORY表中的內(nèi)容時蚪腋,要釋放被MEMORY表使用的內(nèi)存丰歌,應(yīng)該執(zhí)行delete from 或者truncate table 或者刪除整個表drop table
存儲引擎的選擇
如果要提供提交、回滾和奔潰恢復(fù)能力的事務(wù)安全能力屉凯,并要求實現(xiàn)并發(fā)控制立帖,InnoDB是個不錯的選擇。如果數(shù)據(jù)表主要用來插入和查詢記錄神得,則MyISAM引擎能提供較高的處理效率厘惦,如果只是臨時的存放數(shù)據(jù),數(shù)據(jù)量并不大哩簿,并且不需要較高的數(shù)據(jù)安全性,可以選擇將數(shù)據(jù)保存在內(nèi)存中的MEMORY引擎酝静,如果只有insert和select操作节榜,可以選擇archive引擎,archive支持高并發(fā)的插入操作别智,但本身并不是事務(wù)安全的宗苍,所以非常適合存儲歸檔數(shù)據(jù)。如記錄日志信息