1. 程式人生 > >MYSQL學習筆記三——資料庫的基本操作

MYSQL學習筆記三——資料庫的基本操作

1.      建立資料庫

 MySQL安裝完成後,會在其data目錄下建立幾個必需的資料庫,可以用“show databases;”檢視當前存在的所有資料庫。

1.1建立資料庫是在系統磁碟上劃分一塊區域用於資料的儲存和管理。

1.2MySQL中建立資料庫的基本SQL語法:createdatabase name;name代表你想建立資料庫的名字。也可以用“show create database name;”檢視資料庫建立資訊。

2.刪除資料庫

刪除資料庫是將已經存在的資料庫從磁碟空間上清除,清除之後,資料庫中的所有資料也將一同被刪除。

2.1刪除的語法格式:“drop database name;”name為想刪除資料庫的名稱。資料庫被刪除後,再檢視資料庫建立資訊(show create database name),是會報錯的,因為資料庫已經不存在。

3.資料庫儲存引擎

資料庫儲存引擎是資料庫底層軟體元件,資料庫管理系統(DBMS)使用資料引擎進行建立、查詢、更新和刪除資料庫操作。不同儲存引擎提供不同的儲存機制、索引技巧、鎖定水平。MySQL的核心就是儲存引擎,主要包括處理事務安全表的引擎和處理非事務安全表的引擎。

MySQL支援引擎主要有InnoDB、MyISAM、Memory、Merge、Archive、Federated、CSV、Blackhole等。

3.1InnoDB儲存引擎

   InnoDB是事務型資料庫的首選引擎,支援事務安全表(ACID),支援行鎖定和外來鍵。5.5以後的預設儲存引擎,以前是MyISAM

      3.1.1InnoDB給MySQL提供裡具有提交、回滾、崩潰恢復能力的事務安全(ACID)儲存引擎。InnoDB鎖定在行級並且也在select語句中提供裡一個類似Oracle的非鎖定讀。

      3.1.2InnoDB是為處理巨大資料量的最大設計,它的CPU效率可能是任何其他基於磁碟關係資料庫引擎所不能匹敵的。

     3.1.3InnoDB儲存引擎完全與MySQL伺服器整合,InnoDB儲存引擎為在主記憶體中快取資料和索引而維持它自己的快取池。InnoDB將它的表和索引存在一個邏輯表空間,和MyISAM是不同的,InnoDB的表是任何尺寸的。

       3.1.4InnoDB支援完整的外來鍵完整性約束,每張表都會按住鍵順序存放,如果沒有顯示定義主鍵,InnoDB會為每一行生成一個6B的rowid,並以此為主鍵。

       3.1.5被用在需要高效能的大型資料庫站點上。

3.2MyISAM儲存引擎

     MyISAM擁有較高的插入、查詢速度,但不支援事務。在MySQL5.5以前,它是預設儲存引擎。

3.3Memory儲存引擎

   將表中的資料儲存到記憶體中,為查詢和引用其他表資料提供快速訪問。

   當不在需要memory表的內容時,要釋放被memory表使用的的記憶體,應該執行delete from或者truncate table或者刪除整個表drop table。

3.4儲存引擎的選擇

功能

MyISAM

Memory

InnoDB

Archive

儲存限制

256T

RAM

64T

None

支援事務

Y

支援全文索引

Y

支援數索引

Y

Y

Y

支援雜湊索引

Y

支援資料儲存

N/A

Y

支援外來鍵

Y

如果要提交、回滾和崩潰恢復能力的事務安全,並要求實現併發控制,InnoDB是一個選擇。

如果用來插入和查詢資料,則MyISAM提供較高的處理效率。

如果臨時存放資料,資料量不大,可選擇memory引擎

如果只有insert和select操作,可以選擇archive引擎,支援高併發插入,但是不安全,適合儲存歸檔資料,特別是日誌資訊。

可以利用“show variables like ‘storage_engine’”查詢預設的儲存引擎,如果不可以,也可以這樣輸入"show variables like '%storage_engine%'"。

注意:mysql中命令大小寫基本通用,但是\g表示命令結束與;效果等同,但是\G表示旋轉90度的顯示,主要體現在顯示效果上。

相關推薦

no