MySQL 數據庫的操作

數據庫的創建

show databases

查看當前MySQL服務的所有數據庫
在這裏插入圖片描述

create database 數據庫名字

創建數據庫

在這裏插入圖片描述

show create database 數據庫的名字

查看創建數據庫的定義

在這裏插入圖片描述

刪除數據庫

drop database 數據庫的名字

在這裏插入圖片描述

數據庫存儲引擎

show engines

查看當前系統支持的引擎,support 爲yes值 表示可以使用
默認使用的是 innodb

mysql> show engines\G;
*************************** 1. row ***************************
      Engine: InnoDB
     Support: DEFAULT
     Comment: Supports transactions, row-level locking, and foreign keys
Transactions: YES
          XA: YES
  Savepoints: YES
*************************** 2. row ***************************
      Engine: MRG_MYISAM
     Support: YES
     Comment: Collection of identical MyISAM tables
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 3. row ***************************
      Engine: MEMORY
     Support: YES
     Comment: Hash based, stored in memory, useful for temporary tables
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 4. row ***************************
      Engine: BLACKHOLE
     Support: YES
     Comment: /dev/null storage engine (anything you write to it disappears)
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 5. row ***************************
      Engine: MyISAM
     Support: YES
     Comment: MyISAM storage engine
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 6. row ***************************
      Engine: CSV
     Support: YES
     Comment: CSV storage engine
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 7. row ***************************
      Engine: ARCHIVE
     Support: YES
     Comment: Archive storage engine
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 8. row ***************************
      Engine: PERFORMANCE_SCHEMA
     Support: YES
     Comment: Performance Schema
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 9. row ***************************
      Engine: FEDERATED
     Support: NO
     Comment: Federated MySQL storage engine
Transactions: NULL
          XA: NULL
  Savepoints: NULL
9 rows in set (0.00 sec)

這裏說一下最常使用的兩種類型

innodb

  • innodb默認支持事務
  • 事務的四大特性

原子性:事務中所有操作是不可再分割的原子單位。事務中所有操作要麼全部執行成功,要麼全部執行失敗。
一致性:事務執行後,數據庫狀態與其它業務規則保持一致。如轉賬業務,無論事務執行成功與否,參與轉賬的兩個賬號餘額之和應該是不變的。
隔離性:隔離性是指在併發操作中,不同事務之間應該隔離開來,使每個併發中的事務不會相互干擾。
持久性:一旦事務提交成功,事務中所有的數據操作都必須被持久化到數據庫中,即使提交事務後,數據庫馬上崩潰,在數據庫重啓時,也必須能保證通過某種機制恢復數據。

  • 默認支持行鎖以及外鍵

Myisam

  • myisam有較高的insert和select功能,不支持事務
  • 支持表鎖
  • blob和text可以設置索引

存儲引擎的選擇

  • 如果需要回滾,提交和崩潰恢復的能力,需要實現併發控制,innodb是個很好的選擇
  • 如果數據表主要是insert和select則myisam是一個更好的選擇
發佈了50 篇原創文章 · 獲贊 9 · 訪問量 3442
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章