zoukankan      html  css  js  c++  java
  • mysql简单常用语句汇总

    1. 常用函数

    uuid和时间戳

    SELECT UUID(),UNIX_TIMESTAMP() ;

    日期格式 相关

    1.时间转字符串

    DATE_FORMAT(日期,格式字符串)

    SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');

    2.字符串转时间

    STR_TO_DATE(字符串,日志格式)

    SELECT STR_TO_DATE('2019-01-20 16:01:45', '%Y-%m-%d %H:%i:%s');

    3.时间转时间戳

    select unix_timestamp(now());

    4.字符串转时间戳

    select unix_timestamp('2019-01-20');  

    5.时间戳转字符串

    select FROM_UNIXTIME(mw.created_at,'%Y-%m-%d %H:%i:%s');

    设置参数

    select @m_no:= max(m_no) from vc_m;
    set @m_no = @m_no+1;
    set @merchant_name = 'xxxx';
    
    insert into vc_merchant_accounts(id,m_no,created_at,updated_at)
    VALUES (UUID(),@m_no,UNIX_TIMESTAMP(),UNIX_TIMESTAMP());

    连接字符串

    普通连接:
    1. CONCAT('assets/card/',@m_no,'_cover.jpg')

    //string1,string2代表的是字符串,而separator代表的是连接其他参数的分隔符,可以是符号,也可以是字符串。如果分隔符为NULL,则结果为NULL。此方法参数可以为NULL。
    2. CONCAT_WS(separator,string1,string2,...)

    group by 连接:
    3. SELECT id,GROUP_CONCAT(type) FROM log_sys_interview GROUP BY type ;
    例如:SELECT id,GROUP_CONCAT(type) FROM log_sys_interview GROUP BY type ;

      4.  SELECT id,GROUP_CONCAT(type Separator '#') FROM log_sys_interview GROUP BY type ;

      5.  SELECT id,GROUP_CONCAT(type ORDER BY type DESC) FROM log_sys_interview GROUP BY ip ;

     6.SELECT id,GROUP_CONCAT(DISTINCT type ORDER BY type DESC) FROM log_sys_interview GROUP BY ip ;

    -- group_concat拼接排序

    group_concat(id order by id)

    前一天条件

     -- mw.created_at为时间戳
    TO_DAYS(NOW()) - TO_DAYS(FROM_UNIXTIME(mw.created_at,'%Y-%m-%d %H:%i:%s')) = 1

    case 

    CASE
    WHEN mw. STATUS = 0 THEN  '未处理'
    WHEN mw. STATUS = 1 THEN  '已审核'
    WHEN mw. STATUS = 2 THEN  '已拒绝'
    ELSE  '未知'
    END
     AS '状态',

    2.mySQL表明称大小写敏感查询

    show variables like '%case%';

     3. UNION ALL 、UNION 操作符用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。

    SELECT E_Name FROM Employees_China
    UNION ALL
    SELECT E_Name FROM Employees_USA

     4.查询当前进程

    show full processlist;

    5. 清空大量数据表技巧

    方法一:truncate 表名
    例:truncate bssTbCfrmAccessRcd;

    方法二:复制结构 + 删除表 +重命名

    create table a like b ; -- 复制表结构 drop table b ; -- 彻底删除 alter table a rename to b ; -- 重命名空表

    6.开启远程访问权限

    mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
    重载授权表:
    FLUSH PRIVILEGES;
    -- 注意:记得开启服务器端口

     查询实例

    -- 套餐失效了2个月的设备
    select * from (select   d.keyDevID, group_concat(s.suiteState) status,s.invalidDate
    from tbViFiDevice d,tbUserSuite s
    where d.keyDevID=s.idxViFiID   
    GROUP BY d.keyDevID
    HAVING group_concat(s.suiteState)='3' ) x
    where  x.invalidDate < STR_TO_DATE( DATE_ADD(NOW(), INTERVAL - 2 MONTH), '%Y-%m-%d %H:%i:%s')  
    ORDER BY invalidDate desc

      7.设置自增长段落默认下标

    alter table tbxxx AUTO_INCREMENT 0 ;

     8.先备份表结构和数据

    #导出命令 -u用户名 -p密码 -h主机IP地址 数据库名 表名1   > 导出文件.sql
    
    mysqldump -uroot -proot -h192.168.1.101 Project persons > persons.sql 

    9.备份表数据

     mysqldump   -u root  -p EULOCATION tbCid >/opt/uuwifi/log/uuwifih5_xsjs/20210616tbCid.sql

  • 相关阅读:
    利用DTrace实时检测MySQl
    改进MySQL Order By Rand()的低效率
    RDS for MySQL查询缓存 (Query Cache) 的设置和使用
    RDS For MySQL 字符集相关说明
    RDS for MySQL 通过 mysqlbinlog 查看 binlog 乱码
    RDS for MySQL Mysqldump 常见问题和处理
    RDS for MySQL Online DDL 使用
    RDS MySQL 表上 Metadata lock 的产生和处理
    RDS for MySQL 如何使用 Percona Toolkit
    北京已成为投融资诈骗重灾区:存好骗子公司黑名单,谨防上当!
  • 原文地址:https://www.cnblogs.com/dztHome/p/10837485.html
Copyright © 2011-2022 走看看