Mysql 常用命令

1.时间戳转换

select FROM_UNIXTIME(1156219870);

Select UNIX_TIMESTAMP('2006-11-04 12:23:00');  

2.类型转换

cast(value as type);

BINSRY 二进制

CHAR() DATE TIME DATETIME DECIMAL(浮点)

SIGNED(整数) UNSIGNED无符号整数)

3.时间 字符串

SELECT STR_TO_DATE('1992-04-12',"%Y-%m-%d")

SELECT DATE_FORMAT(now(),"%Y-%m-%d %H:%i:%s %p")

DATE_SUB(curdate(),interval 1 day) -1d

DATE_SUB(curdate(),interval -1 day) +1d

DATE_SUB(curdate(),interval 1 month) -1m

DATE_SUB(curdate(),interval -1 month) +m

DATE_SUB(curdate(),interval 1 year) -1y

DATE_SUB(curdate(),interval -1 year) +1y

DATE_ADD(curdate(),interval 1 day) +1d

4.String

replace('abc','a','b') 替换目标字符串

length(‘aaa’) 字符串长多

concat('a','b','c') 连接abc

concat_ws(sep,s1,s2...,sn) 将s1,s2...,sn连接成字符串,并用sep字符间隔

substring_index('avvdvvc','v',1) 截取字符串,从0至第1次出现V的位置之前

substring('abc',1) 截取字符串,从1开始 bc

substring('abc',1,1) 截取字符串,从1开始 截取1个长度b

right/left('abc',1) 自左/右截取1个长度

LOCATE('abc','a')>0 是否包含,包含>o

trim rtrim ltrim

find_in_set(patientId,patientIds)>0

FIND_IN_SET(str,strlist)

假如字符串str 在由N 子链组成的字符串列表strlist 中,则返回值的范围在 1 到 N 之间。一个字符串列表就是一个由一些被‘,’符号分开的自链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则   FIND_IN_SET() 函数被优化,使用比特计算。如果str不在strlist 或strlist 为空字符串,则返回值为 0 。如任意一个参数为NULL,则返回值为 NULL。这个函数在第一个参数包含一个逗号(‘,’)时将无法正常运行。返回值为str在strlist中的位置,从1开始计数。

LOCATE(substr,str) || POSITION(substr IN str) 定位指定字符再字符串中的位置['\等特殊字符需要转义']

4.聚合函数

常用于GROUP BY从句的SELECT查询中

1.AVG(col)返回指定列的平均值

2.COUNT(col)返回指定列中非NULL值的个数

3.MIN(col)返回指定列的最小值

4.MAX(col)返回指定列的最大值

5.SUM(col)返回指定列的所有值之和

6.GROUP_CONCAT(col) 返回由属于一组的列值连接组合而成的结果

SELECT @@global.group_concat_max_len; 查看GROUP_CONCAT的最大长度

SET GLOBAL group_concat_max_len=102400; 设置group_concat的最大长度

5.外键失效

SET FOREIGN_KEY_CHECKS = 0;

TRUNCATE TABLE user_db_test.u_patient;

SET FOREIGN_KEY_CHECKS = 1;

6.判读数字和字符串

select ('123a' REGEXP '[^0-9.]'); --‘123a'中含有字符'a' 输出结果为1 mysql中常量true输出为1 false输出为0

7.更新插入问题

INSERT INTO t_name VALUES(2,'lisi') ON DUPLICATE KEY UPDATE name='zhangsan';

mysql 删除插入问题(出现重复先删除,再插入)

REPLACE INTO t_name VALUES(2, 'lisi');

mysql 忽略异常插入

INSERT IGNORE INTO t_name VALUES(2, 'lisi');

8.查看数据库是否锁表

show open tables from db;

9.查看正在执行的命令

show processlist;(100条)

show full processlist;

select * from information.processlist;

10.查看外键

SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE

REFERENCED_TABLE_NAME = 'u_patient' AND REFERENCED_COLUMN_NAME='patientId'

11.查询系统中记录数

SELECT
 table_name,
 table_rows
FROM
information_schema.`TABLES`
WHERE
 TABLE_SCHEMA = 'suifang_temp'
ORDER BY table_rows DESC;

SELECT COUNT(*) FROM suifang_temp.patient_temp;

table_rows = count(*) myisam

table_rows <> count(*) Innodb

12.AES加解密

select HEX(AES_ENCRYPT('123', '123'));
select AES_DECRYPT(UNHEX('81F44672F7707F551EA23C36B66F7AFE'), '123');

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值