1. 程式人生 > >MySQL的身份資訊及常用管理MySQL的命令

MySQL的身份資訊及常用管理MySQL的命令

Mysql是什麼?

        MySQL是一個關係型資料庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下產品。MySQL 最流行的關係型資料庫管理系統,在 WEB 應用方面MySQL是最好的 RDBMS (Relational Database Management System,關係資料庫管理系統) 應用軟體之一。MySQL是一種關聯資料庫管理系統,關聯資料庫將資料儲存在不同的中,而不是將所有資料放在一個大倉庫內,這樣就增加了速度並提高了靈活性。MySQL所使用的 SQL 語言是用於訪問資料庫的最常用標準化語言。MySQL 軟體採用了雙授權政策,它分為社群版和商業版,其體積小、速度快、總體擁有成本低,並且開源.

Mysql儲存引擎

1.MyISAM MySQL 5.0 之前的預設資料庫引擎,最為常用。擁有較高的插入,查詢速度,但***不支援事務***.

2.InnoDB事務型資料庫的首選引擎,支援ACID事務,支援行級鎖定, MySQL 5.5 起成為預設資料庫引擎.

3.BDB源 自 Berkeley DB,事務型資料庫的另一種選擇,支援Commit 和Rollback 等其他事務特性

4.Memory所有資料置於記憶體的儲存引擎,擁有極高的插入,更新和查詢效率。但是會佔用和資料量成正比的記憶體空間。並且其內容會在 MySQL 重新啟動時丟失

5.Merge將一定數量的 MyISAM 表聯合而成一個整體,在超大規模資料儲存時很有用

6.Archive非常適合儲存大量的獨立的,作為歷史記錄的資料。因為它們不經常被讀取。Archive 擁有高效的插入速度,但其對查詢的支援相對較差

7.Federated將不同的 MySQL 伺服器聯合起來,邏輯上組成一個完整的資料庫。非常適合分散式應用

8.Cluster/NDB高冗餘的儲存引擎,用多臺資料機器聯合提供服務以提高整體效能和安全性。適合資料量大,安全和效能要求高的應用

9.CSV 邏輯上由逗號分割資料的儲存引擎。它會在資料庫子目錄裡為每個資料表建立一個 .csv 檔案。這是一種普通文字檔案,每個資料行佔用一個文字行。CSV 儲存引擎不支援索引。

10.BlackHole 黑洞引擎,寫入的任何資料都會消失,一般用於記錄 binlog 做複製的中繼

11.EXAMPLE 儲存引擎是一個不做任何事情的存根引擎。它的目的是作為 MySQL 原始碼中的一個例子,用來演示如何開始編寫一個新儲存引擎。同樣,它的主要興趣是對開發者。EXAMPLE 儲存引擎不支援編索引。另外,MySQL 的儲存引擎介面定義良好。有興趣的開發者可以通過閱讀文件編寫自己的儲存引擎。

管理MySQL的命令

以下列出了使用MySQL資料庫過程中常用的命令:

  • USE 資料庫名 :選擇要操作的MySQL資料庫,使用該命令後所有MySQL命令都只針對該資料庫。
mysql> use W3CSCHOOL;
Database changed
  • SHOW DATABASES: 列出 MySQL 資料庫管理系統的資料庫列表。
  • SHOW TABLES: 顯示指定資料庫的所有表,使用該命令前需要使用 use 命令來選擇要操作的資料庫。
  • SHOW COLUMNS FROM 資料表: 顯示資料表的屬性,屬性型別,主鍵資訊 ,是否為 NULL,預設值等其他資訊。
mysql> SHOW COLUMNS FROM W3Cschool_tbl;
+-----------------+--------------+------+-----+---------+-------+
| Field           | Type         | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+---------+-------+
| W3Cschool_id       | int(11)      | NO   | PRI | NULL    |       |
| W3Cschool_title    | varchar(255) | YES  |     | NULL    |       |
| W3Cschool_author   | varchar(255) | YES  |     | NULL    |       |
| submission_date | date         | YES  |     | NULL    |       |
+-----------------+--------------+------+-----+---------+-------+
4 rows in set (0.01 sec)
  • SHOW INDEX FROM 資料表: 顯示資料表的詳細索引資訊,包括PRIMARY KEY(主鍵)。
  • SHOW TABLE STATUS LIKE 資料表\G: 該命令將輸出MySQL資料庫管理系統的效能及統計資訊。
mysql> SHOW TABLE STATUS  FROM W3CSCHOOL;   # 顯示資料庫 W3CSCHOOL 中所有表的資訊
mysql> SHOW TABLE STATUS from W3CSCHOOL LIKE 'W3Cschool%';     # 表名以W3Cschool開頭的表的資訊
mysql> SHOW TABLE STATUS from W3CSCHOOL LIKE 'W3Cschool%'\G;   # 加上 \G,查詢結果按列列印