mysql 实用查询

整理一些本人在开发过程中经常用到的mysql数据库相关查询,分享给大家。其它数据库的相关查询应该一样或类似,本文只针对mysql。

 

本文为本人原创,转载请注明出处。

 

 

1、查询表索引

sql语句
mysql> show index from tableName(执行时替换为具体表名,下同);
mysql> show keys from tableName;
结果列说明
· Table
表的名称。
· Non_unique
如果索引不能包括重复词,则为0。如果可以,则为1。
· Key_name
索引的名称。
· Seq_in_index
索引中的列序列号,从1开始。
· Column_name
列名称。
· Collation
列以什么方式存储在索引中。在MySQL中,有值‘A’(升序)或NULL(无分类)。
· Cardinality
可以翻译为“散列程度,它表示某个索引对应的列包含多少个不同的值
· Sub_part
如果列只是被部分地编入索引,则为被编入索引的字符的数目。如果整列被编入索引,则为NULL。
· Packed
指示关键字如何被压缩。如果没有被压缩,则为NULL。
· Null
如果列含有NULL,则含有YES。如果没有,则该列含有NO。
· Index_type
用过的索引方法(BTREE, FULLTEXT, HASH, RTREE)。
· Index_Comment
索引备注
 
2、显示表的创建语句,包括此表使用哪种数据库引擎,以及表分区情况
sql语句
SHOW CREATE TABLE tableName;
 
3、查看表结构(列名、列类型、是否可空、类型、默认值等)
sql语句
SHOW COLUMNS FROM tableName;
DESC tableName;
describe tableName;
select * from columns where table_name='tableName';
 
4、显示一个连接下的所有数据库名
sql语句
show databases;
 
5、显示一个数据库下面的所有表名
sql语句
show tables FROM database(具体数据库名);
 
6、显示本数据库下所有进程
SHOW PROCESSLIST;
说明,在查出具体进程后,往往会用“kill+查出的进程id”语句来结束僵尸进程
 
7、查看本数据库引擎,可查出默认,支持,不支持的所有引擎
sql语句
show engines;
 
8、group_concat(),说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果。
例:班级表class含cId(班级id)和sName(学生姓名)两列,数据如下:
1 小明
2 小红
3 小东
1 小梅
1 小花
3 小强
要求分班查出每个班的学生,每个班显示一行。
sql语句:select cId,group_concat(sName) from class group by cId;
结果:
cId    sName
1     小明,小梅,小花
2     小红
3     小东,小强
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值