mysql好玩的命令_十个非常实用的MySQL命令!

744edaa65f05526b63b00cf8884442e4.png

前言

今天介绍一些MySQL常用的实用命令,都是一些比较简单的命令。已经知道的朋友,就当是巩固吧,不知道的童鞋,可以好好在自己的机器上,练习下。

0. 显示数据库

命令:show databases。

作用:列出当前数据库服务器中所有的数据库。

例子:

mysql> show databases;

+--------------------+

| Database|

+--------------------+

| information_schema |

| andyqian           |

| mydata             |

| mysql              |

| performance_schema |

| sys                |

+--------------------+

6 rowsinset(0.00 sec)

1. 切换数据库

命令: use database_name。

作用: 切换数据库。

例子:

mysql> use andyqian;

Databasechanged

2. 显示数据库中的所有表

命令: show tables。

作用: 显示数据库中的所有表。

例子:

mysql> show tables;

+--------------------+

| Tables_in_andyqian |

+--------------------+

| hit_counter        |

| t_base_01          |

| t_base_data        |

| t_base_user        |

+--------------------+

4 rowsinset(0.00 sec)

3. 显示表中的所有列

命令:show full columns tables_name;

作用: 显示表中所有列信息。

例子:

mysql> showfullcolumnsfromt_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>selectversion();

+-----------+

| version() |

+-----------+

| 5.7.20    |

+-----------+

1 row inset(0.00 sec)

注意:查看MySQL版本是一件非常重要的事情,比如:MySQL5.6之前就不支持Online DDL,MySQL 5.7.8 之前就不支持JSON数据类型。

5. 查看当前用户

命令:select current_user();

作用:显示当前登录用户

例子:

mysql>selectcurrent_user();

+----------------+

| current_user() |

+----------------+

| root@localhost |

+----------------+

1 row inset(0.00 sec)

注意:上面是仅仅是为了演示,在生产环境中,不建议直接使用root用户,建议的是:建一个新用户连接数据库,以及做好权限分配,至于为什么?这里就不一一展开了,下次单独拧出来写一篇文章。

6. 显示单表信息

命令:show table status like table_name。

作用:显示表详细信息。

例子:

mysql> showtablestatuslike"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 inset(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> showindexfromt_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 rowsinset(0.00 sec)

注意:这里显示了表中的索引信息,从这里就能看出建了哪些索引,联合索引的顺序。对索引不了解的童鞋,可以看看这篇文章《写会MySQL索引》。

9. 查看执行计划

命令:explain 查询语句。

作用:查看查询语句的执行情况,常用于SQL优化。

例子:

mysql> explainselect*fromt_base_userwherecreated_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 inset, 1 warning (0.00 sec)

注意: 查看SQL的执行计划是一个好习惯,无论是新手,还是老司机,都应该养成这个习惯。上面这个执行计划还读的懂吗?如果不懂,可以回顾这篇文章《读懂MySQL执行计划》

***

上面列出了一些SQL命令,在实际工作中,非常实用。其实工作中用到的SQL命令远远不止这些,下次我们再写。

【编辑推荐】

【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值