MySQL 數(shù)據(jù)庫

2021-04-06 14:35 更新

MySQL 數(shù)據(jù)庫

命令行登錄:

mysql -u root -p
Enter Password: 123456

MySQL 創(chuàng)建數(shù)據(jù)庫

語法:

CREATE DATABASE [IF NOT EXISTS] <數(shù)據(jù)庫名&
[[DEFAULT] CHARACTER SET <字符集名&]
[[DEFAULT] COLLATE <校對(duì)規(guī)則名&];

  • <數(shù)據(jù)庫名>:創(chuàng)建數(shù)據(jù)庫的名稱。
  • IF NOT EXISTS:在創(chuàng)建數(shù)據(jù)庫之前進(jìn)行判斷,只有該數(shù)據(jù)庫目前尚不存在時(shí)才能執(zhí)行操作。此選項(xiàng)可以用來避免數(shù)據(jù)庫已經(jīng)存在而重復(fù)創(chuàng)建的錯(cuò)誤。
  • [DEFAULT] CHARACTER SET:指定數(shù)據(jù)庫的字符集。指定字符集的目的是為了避免在數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù)出現(xiàn)亂碼的情況。如果在創(chuàng)建數(shù)據(jù)庫時(shí)不指定字符集,那么就使用系統(tǒng)的默認(rèn)字符集。
  • [DEFAULT] COLLATE:指定字符集的默認(rèn)校對(duì)規(guī)則。

簡單創(chuàng)建 MySQL 數(shù)據(jù)庫 test_db1

CREATE DATABASE test_db1;

防重復(fù)創(chuàng)建 MySQL 數(shù)據(jù)庫 test_db2

CREATE DATABASE IF NOT EXISTS test_db2;

指定字符集和校對(duì)規(guī)則創(chuàng)建 MySQL 數(shù)據(jù)庫 test_db3

CREATE DATABASE IF NOT EXISTS test_db3
    -> DEFAULT CHARACTER SET utf8mb4
    -> DEFAULT COLLATE utf8mb4_unicode_ci;

MySQL 查看數(shù)據(jù)庫

語法:

SHOW DATABASES [LIKE '數(shù)據(jù)庫名'];

  • LIKE 從句是可選項(xiàng),用于匹配指定的數(shù)據(jù)庫名稱。LIKE 從句可以部分匹配,也可以完全匹配。
  • 數(shù)據(jù)庫名由單引號(hào) ' 包圍。

查看所有數(shù)據(jù)庫

SHOW DATABASES;

查看數(shù)據(jù)庫

  • information_schema:主要存儲(chǔ)了系統(tǒng)中的一些數(shù)據(jù)庫對(duì)象信息,比如用戶表信息、列信息、權(quán)限信息、字符集信息和分區(qū)信息等。
  • mysql:MySQL 的核心數(shù)據(jù)庫,類似于 SQL Server 中的 master 表,主要負(fù)責(zé)存儲(chǔ)數(shù)據(jù)庫用戶、用戶訪問權(quán)限等 MySQL 自己需要使用的控制和管理信息。常用的比如在 mysql 數(shù)據(jù)庫的 user 表中修改 root 用戶密碼。
  • performance_schema:主要用于收集數(shù)據(jù)庫服務(wù)器性能參數(shù)。
  • sys:主要提供了一些視圖,數(shù)據(jù)都來自于 performation_schema,主要是讓開發(fā)者和使用者更方便地查看性能問題。

模糊查看數(shù)據(jù)庫

SHOW DATABASES LIKE ;

模糊查看

MySQL 修改數(shù)據(jù)庫

語法:

ALTER DATABASE [數(shù)據(jù)庫名] {
[ DEFAULT ] CHARACTER SET <字符集名& |
[ DEFAULT ] COLLATE <校對(duì)規(guī)則名&}

  • ALTER DATABASE 用于更改數(shù)據(jù)庫的全局特性。
  • 使用 ALTER DATABASE 需要獲得數(shù)據(jù)庫 ALTER 權(quán)限。
  • 數(shù)據(jù)庫名稱可以忽略,此時(shí)語句對(duì)應(yīng)于默認(rèn)數(shù)據(jù)庫。
  • CHARACTER SET 子句用于更改默認(rèn)的數(shù)據(jù)庫字符集。

創(chuàng)建數(shù)據(jù)庫 test_db

創(chuàng)建數(shù)據(jù)庫

查看數(shù)據(jù)庫 test_db 結(jié)構(gòu)

查看數(shù)據(jù)庫

修改數(shù)據(jù)庫 test_db 編碼和校隊(duì)規(guī)則

修改數(shù)據(jù)庫

修改數(shù)據(jù)庫 test_db 結(jié)構(gòu)

修改數(shù)據(jù)庫

MySQL 刪除數(shù)據(jù)庫

語法:

DROP DATABASE [ IF EXISTS ] <數(shù)據(jù)庫名&

  • <數(shù)據(jù)庫名>:指定要?jiǎng)h除的數(shù)據(jù)庫名。
  • IF EXISTS:用于防止當(dāng)數(shù)據(jù)庫不存在時(shí)發(fā)生錯(cuò)誤。

刪除數(shù)據(jù)庫 test_db1

DROP DATABASE test_dbl;

防止不存在刪除數(shù)據(jù)庫 test_db2

DROP DATABASE IF EXISTS test_db2;

MySQL 選擇使用數(shù)據(jù)庫

語法:

USE <數(shù)據(jù)庫名&

選擇使用數(shù)據(jù)庫

MySQL 存儲(chǔ)引擎

MySQL 支持多種類型的數(shù)據(jù)庫引擎:InnoDB、MyISAM、Memory、Merge、Archive、Federated、CSV、BLACKHOLE 等。

查看系統(tǒng)支持的存儲(chǔ)引擎

語法:

SHOW ENGINES

存儲(chǔ)引擎

Support 列的值表示某種引擎是否能使用, YES表示可以使用, NO表示不能使用, DEFAULT表示該引擎為當(dāng)前默認(rèn)的存儲(chǔ)引擎。

MySQL 存儲(chǔ)引擎特點(diǎn)

功能 MylSAM MEMORY InnoDB Archive
存儲(chǔ)限制 256TB RAM 64TB None
支持事務(wù) No No Yes No
支持全文索引 Yes No No No
支持樹索引 Yes Yes Yes No
支持哈希索引 No Yes No No
支持?jǐn)?shù)據(jù)緩存 No N/A Yes No
支持外鍵 No No Yes No

MySQL 默認(rèn)存儲(chǔ)引擎

InnoDB 是系統(tǒng)的默認(rèn)引擎,支持可靠的事務(wù)處理。

臨時(shí)修改默認(rèn)存儲(chǔ)引擎

語法:

SET default_storage_engine=< 存儲(chǔ)引擎名 &

注意:重啟 mysql 服務(wù)后失效。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)