今天介紹一些MySQL經常使用的實用命令,都是一些比較簡單的命令。已經知道的朋友,就當是鞏固吧,不知道的童鞋,能夠好好在本身的機器上,練習下。 mysql
0. 顯示數據庫
命令:show databases
。
做用:列出當前數據庫服務器中全部的數據庫。
例子:sql
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | andyqian | | mydata | | mysql | | performance_schema | | sys | +--------------------+ 6 rows in set (0.00 sec)
1. 切換數據庫
命令: use database_name
。
做用: 切換數據庫。
例子:數據庫
mysql> use andyqian; Database changed
2. 顯示數據庫中的全部表
命令: show tables
。
做用: 顯示數據庫中的全部表。
例子:json
mysql> show tables; +--------------------+ | Tables_in_andyqian | +--------------------+ | hit_counter | | t_base_01 | | t_base_data | | t_base_user | +--------------------+ 4 rows in set (0.00 sec)
3. 顯示錶中的全部列
命令:show full columns tables_name;
做用: 顯示錶中全部列信息。
例子:服務器
mysql> show full columns from t_base_data\G; *************************** 1. row *************************** Field: id Type: bigint(20) Collation: NULL Null: NO Key: PRI Default: NULL Extra: auto_increment Privileges: select,insert,update,references Comment: *************************** 2. row *************************** Field: content Type: json Collation: NULL Null: YES Key: Default: NULL Extra: Privileges: select,insert,update,references Comment: 2 rows in set (0.01 sec)
注意:我這裏使用終端直接鏈接數據庫,\G
爲按列格式化顯示。若是使用Navicat工具,則爲下面這樣。微信
4. 查看MySQL版本
命令:select version();
。
做用:查看服務器版本。
例子:工具
mysql> select version(); +-----------+ | version() | +-----------+ | 5.7.20 | +-----------+ 1 row in set (0.00 sec)
注意:查看MySQL版本是一件很是重要的事情,好比:MySQL5.6以前就不支持Online DDL,MySQL 5.7.8 以前就不支持JSON數據類型。優化
5. 查看當前用戶
命令:select current_user();
做用:顯示當前登陸用戶
例子:spa
mysql> select current_user(); +----------------+ | current_user() | +----------------+ | root@localhost | +----------------+ 1 row in set (0.00 sec)
注意:上面是僅僅是爲了演示,在生產環境中,不建議直接使用root用戶,建議的是:建一個新用戶鏈接數據庫,以及作好權限分配,至於爲何?這裏就不一一展開了,下次單獨擰出來寫一篇文章。3d
6. 顯示單表信息
命令:show table status like table_name
。
做用:顯示錶詳細信息。
例子:
mysql> show table status like "t_base_data"\G; *************************** 1. row *************************** Name: t_base_data Engine: InnoDB Version: 10 Row_format: Dynamic Rows: 2 Avg_row_length: 8192 Data_length: 16384 Max_data_length: 0 Index_length: 0 Data_free: 0 Auto_increment: 3 Create_time: 2017-12-08 00:30:03 Update_time: NULL Check_time: NULL Collation: utf8_unicode_ci Checksum: NULL Create_options: Comment: 1 row in set (0.00 sec)
注意:該命令詳細的展現了表的信息,其中包括表名,表的存儲引擎,版本,數據長度,索引長度,建立時間,修改時間等等。
7. 顯示進程數
命令: show processlist
。
做用:顯示正在操做數據庫的進程數。
例子:
mysql> show processlist\G; *************************** 1. row *************************** Id: 6 User: root Host: localhost db: andyqian Command: Query Time: 0 State: starting Info: show processlist *************************** 2. row *************************** Id: 7 User: root Host: localhost:46612 db: NULL Command: Sleep Time: 1439 State: Info: NULL
注意:該命令顯示了全部鏈接數據庫的進程數,其中就包括,用戶,主機,鏈接的數據庫等信息。
8. 顯示索引
命令:show index from table_name
;
做用:顯示錶中的全部索引。
例子:
mysql> show index from t_base_data\G; *************************** 1. row *************************** Table: t_base_data Non_unique: 0 Key_name: PRIMARY Seq_in_index: 1 Column_name: id Collation: A Cardinality: 2 Sub_part: NULL Packed: NULL Null: Index_type: BTREE Comment: Index_comment: *************************** 2. row *************************** Table: t_base_data Non_unique: 1 Key_name: idx_created_at Seq_in_index: 1 Column_name: created_at Collation: A Cardinality: 1 Sub_part: NULL Packed: NULL Null: YES Index_type: BTREE Comment: Index_comment: 2 rows in set (0.00 sec)
注意:這裏顯示了表中的索引信息,從這裏就能看出建了哪些索引,聯合索引的順序。對索引不瞭解的童鞋,能夠看看這篇文章《寫會MySQL索引》。
9. 查看執行計劃
命令:explain 查詢語句
。
做用:查看查詢語句的執行狀況,經常使用於SQL優化。
例子:
mysql> explain select * from t_base_user where created_at>"2017-12-09"\G; *************************** 1. row *************************** id: 1 select_type: SIMPLE table: t_base_user partitions: NULL type: ALL possible_keys: NULL key: NULL key_len: NULL ref: NULL rows: 1 filtered: 100.00 Extra: Using where 1 row in set, 1 warning (0.00 sec)
注意: 查看SQL的執行計劃是一個好習慣,不管是新手,仍是老司機,都應該養成這個習慣。上面這個執行計劃還讀的懂嗎?若是不懂,能夠回顧這篇文章《讀懂MySQL執行計劃》
上面列出了一些SQL命令,在實際工做中,很是實用。其實工做中用到的SQL命令遠遠不止這些,下次咱們再寫。
這裏預告一下,下一篇文章咱們一塊兒說說MySQL存儲引擎。着重介紹一下MySQL經常使用存儲引擎有哪些,以及各個的區別。
PS:你們週末好呀!
相關閱讀:
掃碼關注,一塊兒進步!
我的博客: www.andyqian.com