MySQL的基本使用(二)

2021-09-29 14:01:27 字數 2516 閱讀 6552

插入資料

(欄位與值要一一對應)

insert

into 表名 (列欄位,列欄位...

.)values

(列值,列值....);

獲取資料
select 字段列表 from 表名 查詢條件
刪除資料
delete

from 表名 刪除條件;

修改資料
update 表名 set 欄位1

=新值1

,欄位2

=新值2…….條件

檢視當前版本
select version(

)

各個引擎簡介

innodb儲存引擎

innodb是mysql的預設事務型引擎,它被設計用來處理大量的短期(short-lived)事務。除非有非常特別的原因需要使用其他的儲存引擎,否則應該優先考慮innodb引擎。行級鎖,適合高併發情況

myisam儲存引擎

myisam提供了大量的特性,包括全文索引、壓縮、空間函式(gis)等,但myisam不支援事務和行級鎖(myisam改表時會將整個表全鎖住),有乙個毫無疑問的缺陷就是崩潰後無法安全恢復。

archive引擎

archive儲存引擎只支援insert和select操作,在mysql5.1之前不支援索引。

archive表適合日誌和資料採集類應用。適合低訪問量大資料等情況。

根據英文的測試結論來看,archive錶比myisam表要小大約75%,比支援事務處理的innodb錶小大約83%。

blackhole引擎

blackhole引擎沒有實現任何儲存機制,它會丟棄所有插入的資料,不做任何儲存。但伺服器會記錄blackhole表的日誌,所以可以用於複製資料到備庫,或者簡單地記錄到日誌。但這種應用方式會碰到很多問題,因此並不推薦。

csv引擎

csv引擎可以將普通的csv檔案作為mysql的表來處理,但不支援索引。

csv引擎可以作為一種資料交換的機制,非常有用。

csv儲存的資料直接可以在作業系統裡,用文字編輯器,或者excel讀取。

memory引擎

如果需要快速地訪問資料,並且這些資料不會被修改,重啟以後丟失也沒有關係,那麼使用memory表是非常有用。memory表至少比myisam表要快乙個數量級。(使用專業的記憶體資料庫更快,如redis)

federated引擎

federated引擎是訪問其他mysql伺服器的乙個**,儘管該引擎看起來提供了一種很好的跨伺服器的靈活性,但也經常帶來問題,因此預設是禁用的。

myisam與innodb

sql執行順序

sql的邏輯架構

連線層最上層是一些客戶端和連線服務,包含本地sock通訊和大多數基於客戶端/服務端工具實現的類似於tcp/ip的通訊。主要完成一些類似於連線處理、授權認證、及相關的安全方案。在該層上引入了執行緒池的概念,為通過認證安全接入的客戶端提供執行緒。同樣在該層上可以實現基於ssl的安全鏈結。伺服器也會為安全接入的每個客戶端驗證它所具有的操作許可權。

服務層management serveices & utilities: 系統管理和控制工具

sql inte***ce: sql介面

接受使用者的sql命令,並且返回使用者需要查詢的結果。比如select from就是呼叫sql inte***ce

解析器sql命令傳遞到解析器的時候會被解析器驗證和解析。

optimizer: 查詢優化器。

sql語句在查詢之前會使用查詢優化器對查詢進行優化。

用乙個例子就可以理解: select uid,name from user where gender= 1;

優化器來決定先投影還是先過濾。

cache和buffer: 查詢快取。

如果查詢快取有命中的查詢結果,查詢語句就可以直接去查詢快取中取資料。

這個快取機制是由一系列小快取組成的。比如表快取,記錄快取,key快取,許可權快取等

快取是負責讀,緩衝負責寫。

引擎層儲存引擎層,儲存引擎真正的負責了mysql中資料的儲存和提取,伺服器通過api與儲存引擎進行通訊。不同的儲存引擎具有的功能不同,這樣我們可以根據自己的實際需要進行選取。後面介紹myisam和innodb

儲存層資料儲存層,主要是將資料儲存在執行於裸裝置的檔案系統之上,並完成與儲存引擎的互動。

mysql 使用 MySQL 基本使用

資料庫 create database 名字 建立資料庫 show databases 檢視所有資料庫 show create database book g 檢視建立好的資料庫的定義 drop database if exists 名字 刪除資料庫 use 名字 使用資料庫 引擎 show eng...

MySQL的基本使用

1.資料庫 資料庫就是一種特殊的檔案,其中儲存著需要的資料 2.資料庫分為關係型資料庫和非關係型資料庫 關係型資料庫 oracle db2 microsoft sql server microsoft access mysql 非關係型資料庫 nosql cloudant mongodb redis...

MySQL的基本使用

1 建立 刪除 選擇資料庫 create database 資料庫名 drop database 資料庫名 use 資料庫名 show tables 2 建立 檢視 刪除表 資料庫名 表名 欄位名使用反引號包裹,姓名 男等字串使用單引號包裹。create table student id int u...