常用sql语句整理[MySql]

  1. 查看执行计划
     explain update test100 set contractSn=99 where contractSn=45;  
  2. 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;
  3. mysql表示boolean使用类型:`FieldName` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否XXX',
    相关1:mybatis 连接mysql数据库 tinyint 为boolean类型
    相关2:MySQL数据类型 int(M)中M含义
  4. SELECT * FROM tableName LIMIT m,n; 表示从第m+1条开始取n条。limit 0, 3表示取前3条数据
  5. BETWEEN AND不包括右边界
  6. 查询表结构
    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语句。不能在其中插入内容,不能更新它们,也不能删除其中的内容。

  7. 查看表创建的DDL
    show create table table_name;
  8. 简单表结构
    desc tabl_name
  9. 查看mysql事务级别
    select @@tx_isolation
  10. 查看客户端连接信息
    -- 当前连接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;
  11. 查看innodb当前状态
    show engine innodb status;
  12. mysql字符集文档 https://dev.mysql.com/doc/refman/5.6/en/charset-charsets.html
  13. 命令连接mysql指定字符集
    mysql -hlocalhost -P3306 --default-character-set=utf8  -uroot -p
    -- 查看字符集
    show variables like 'character_set%';

    注:因为在windows上通过命令连接mysql然后用source命令执行.sql脚本出现了中文comment乱码,故需要指定字符集。

  14. 设置事务级别
    SET SESSION tx_isolation='READ-COMMITTED';
  15. -

转载于:https://www.cnblogs.com/liqipeng/p/6212759.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值