常用sql语句整理[MySql]
- 查看执行计划
explain update test100 set contractSn=99 where contractSn=45; - insert ... on duplicate key使用
insert into 表名(f1, f2, Count, LastUpdateTime) values(2223, 222, 1, xxx) on duplicate key update LastUpdateTime=values(xxx),Count=Count+1;
- mysql表示boolean使用类型:`FieldName` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否XXX',
相关1:mybatis 连接mysql数据库 tinyint 为boolean类型
相关2:MySQL数据类型 int(M)中M含义 - SELECT * FROM tableName LIMIT m,n; 表示从第m+1条开始取n条。limit 0, 3表示取前3条数据
- BETWEEN AND不包括右边界
- 查询表结构
select * from information_schema.columns where table_schema = 'xxxdb' #表所在数据库 and table_name = 'xxtable' ; #你要查的表
注:INFORMATION_SCHEMA是信息数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息。在INFORMATION_SCHEMA中,有数个只读表。它们实际上是视图,而不是基本表,因此,你将无法看到与之相关的任何文件。
每位MySQL用户均有权访问这些表,但仅限于表中的特定行,在这类行中含有用户具有恰当访问权限的对象。
事实上,尽管不需要生成名为INFORMATION_SCHEMA的文件,我们仍提供了名为INFORMATION_SCHEMA的新数据库。可以使用USE语句将INFORMATION_SCHEMA选择为默认数据库,但访问该数据库中所含表的唯一方式是使用SELECT语句。不能在其中插入内容,不能更新它们,也不能删除其中的内容。 - 查看表创建的DDL
show create table table_name;
- 简单表结构
desc tabl_name
- 查看mysql事务级别
select @@tx_isolation
- 查看客户端连接信息
-- 当前连接id select connection_id(); -- 当前连接的client host select host from information_schema.processlist WHERE ID=connection_id(); -- 当前连接的信息 select * from information_schema.processlist WHERE ID=connection_id(); -- 全部连接信息 select * from information_schema.processlist;
- 查看innodb当前状态
show engine innodb status;
- mysql字符集文档 https://dev.mysql.com/doc/refman/5.6/en/charset-charsets.html
- 命令连接mysql指定字符集
mysql -hlocalhost -P3306 --default-character-set=utf8 -uroot -p
-- 查看字符集
show variables like 'character_set%';注:因为在windows上通过命令连接mysql然后用source命令执行.sql脚本出现了中文comment乱码,故需要指定字符集。
- 设置事务级别
SET SESSION tx_isolation='READ-COMMITTED';
-
mysql 查看数据库中所有表的记录数
use information_schema; select table_name,table_rows from tables where TABLE_SCHEMA = 'testdb' order by table_rows desc;
- -
如果你觉得这篇文章对你有帮助或者使你有所启发,请点击右下角的推荐按钮,谢谢,:)