前言今天给大家介绍一些MySQL常用的实用命令,都是比较简单的命令。已经知道的朋友,就当做巩固,还不知道的童鞋,可以在自己的机器上练习一下。0.显示数据库命令:showdatabases。功能:列出当前数据库服务器中的所有数据库。示例:mysql>showdatabases;+--------------------+|Database|+--------------------+|information_schema||andyqian||mydata||mysql||performance_schema||sys|+--------------------+6rowsinset(0.00sec)1.切换数据库命令:使用数据库名称。功能:切换数据库。示例:mysql>useandyqian;Databasechanged2。显示数据库中的所有表命令:showtables。作用:显示数据库中的所有表。示例:mysql>showtables;+--------------------+|Tables_in_andyqian|+--------------------+|hit_counter||t_base_01||t_base_data||t_base_user|+--------------------+4rowsinset(0.00sec)3.显示表中的所有列命令:showfullcolumnstables_name;功能:显示表中所有列的信息。示例:mysql>showfullcolumnsfromt_base_data\G;******************************1.row***************************字段:idType:bigint(20)排序规则:NULLNull:NOKey:PRIDefault:NULLExtra:auto_incrementPrivileges:select,insert,update,referencesComment:*****************************2.行****************************Field:contentType:jsonCollat??ion:NULLNull:YESKey:Default:NULLExtra:Privileges:select,insert,update,referencesComment:2rowsinset(0.01sec)注:我这里是使用终端直接连接数据库,并且\G按列格式化。如果使用Navicat工具,则如下。4、查看MySQL版本命令:selectversion();。功能:查看服务器版本。示例:mysql>selectversion();+------------+|version()|+----------+|5.7.20|+-----------+1rowinset(0.00sec)注意:检查MySQL版本很重要,例如:MySQL5.6不支持OnlineDDL,MySQL5.7.8不支持JSON数据类型。5、查看当前用户命令:selectcurrent_user();功能:显示当前登录用户示例:mysql>selectcurrent_user();+----------------+|current_user()|+---------------+|root@localhost|+----------------+1rowinset(0.00sec)注意:以上只是为了演示。在生产环境中,不建议直接使用root用户。建议是:新建一个用户连接数据库,做好权限分配。为什么?这里就不一一展开了,下次会单独写一篇文章。6、显示单表信息命令:showtablestatusliketable_name。作用:显示表的详细信息。示例:mysql>showtablestatuslike"t_base_data"\G;***************************1.row*************************名称:t_base_dataEngine:InnoDB版本:10Row_format:DynamicRows:2Avg_row_length:8192Data_length:16384Max_data_length:0Index_length:0Data_free:0Auto_increment:3Create_time:2017-12-0800:30:03Update_time:NULLCheck_time:NULLCollat??ion:utf8_unicode_ciChecksum:NULLCreate_options:Comment:1rowinset(0.00sec)注意:该命令显示表的详细信息,包括表名、表存储引擎、版本、数据长度、索引长度、创建时间、修改时间等。7、显示进程数命令:showprocesslist。功能:显示正在操作数据库的进程数。示例:mysql>showprocesslist\G;*******************************1.row****************************Id:6User:rootHost:localhostdb:andyqianCommand:QueryTime:0State:startingInfo:showprocesslist****************************2.row******************************Id:7User:rootHost:localhost:46612db:NULLCommand:SleepTime:1439State:Info:NULL注:该命令显示连接数据库的进程数,包括用户、主机、连接的数据库等信息。8、显示索引命令:showindexfromtable_name;功能:显示表中的所有索引。示例:mysql>showindexfromt_base_data\G;*****************************1.row***************************表:t_base_dataNon_unique:0Key_name:PRIMARYSeq_in_index:1Column_name:idCollat??ion:ACardinality:2Sub_part:NULLPacked:NULLNull:Index_type:BTREEComment:Index_comment:****************************2.row******************************表:t_base_dataNon_unique:1Key_name:idx_created_atSeq_in_index:1Column_name:created_atCollat??ion:ACardinality:1Sub_part:NULLPacked:NULLNull:YESIndex_type:BTREEComment:Index_comment:2rowsinset(0.00sec)注:这里显示的是表中的索引信息,从中可以看出建了哪些索引,联合索引的顺序。对索引不了解的童鞋,可以看看这篇文章《写会MySQL索引》。9、查看执行计划命令:explainquerystatement。功能:查看查询语句的执行状态,常用于SQL优化。示例:mysql>explainselect*fromt_base_userwherecreated_at>"2017-12-09"\G;******************************1.row***************************id:1select_type:SIMPLEtable:t_base_userpartitions:NULLtype:ALLpossible_keys:NULLkey:NULLkey_len:NULLref:NULLrows:1filtered:100.00Extra:Usingwhere1rowinset,1warning(0.00sec)注意:检查SQL的执行计划是个好习惯,不管你是新手还是老司机,都应该养成这个习惯。上面的执行计划你看懂了吗?不明白的可以回顾这篇文章《读懂MySQL执行计划》***上面列举了一些SQL命令,在实际工作中非常实用。其实工作中用到的SQL命令远不止这些,下次再写。
