Mysql 随笔记录
Soundex 声音相似的
select * from demos where Soundex('title') = Soundex('标示');
Concat 拼接语句
select concat(id,'(##',title,'##)') from demos;
正则 REGEXP
select * from demos where value regexp '\\内容';
\\表示查找;
\\f 换页
\\n 换行
\\r 回车
\\t 制表
\\v 纵向制表
AND 和 OR 一起时,先处理 AND;
_下划线只匹配一个字符,%可以匹配除了NULL的数据;
IS NULL
检测是否为NULL; SELECT * FROM tab WHERE id IS NULL;
返回不同值
SELECT DISTINCT row FROM tab;
显示授权用户
SHOW GRANTS;
显示广泛的服务器状态信息
SHOW STATUS;
INNER JOIN 关键字
在表中存在至少一个匹配时,INNER JOIN 关键字返回行。
注释:INNER JOIN 与 JOIN 是相同的。
SELECT id FROM tab1 INNER JOIN tab2 ON tab1.id = tab2.id
AS 关键字
SELECT f.id,m.title FROM tab1 AS f LEFT JOIN tab2 AS m ON f.id = m.id
USING 关键字
用于表连接时给定连接条件(可以理解为简写形式),如
SELECT * FROM table1
JOIN table2 ON table1.id = table2.id
使用 USING 可以写为
SELECT * FROM table1
JOIN table2 USING(id)
HAVING
引入 HAVING 是因为 WHERE 无法和统计函数一起使用
如表 order (定单)有如下字段:
id, date, price, customer
查找订单总额少于2000的客户可以这样写:
SELECT customer, SUM(price) FROM order
GROUP BY customer
HAVING SUM(price)<2000
查找指定客户中订单超过1500的订单总额:
SELECT customer,SUM(price) FROM order
WHERE customer=’…’ OR customer = ‘…’
GROUP BY customer
HAVING SUM(price) > 1500
MATCH AGAINST
在body(后面的)里查询database与title(前面的)一起显示
mysql> SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('database');
DATEDIFF 返回两个日期之间的天数,
使用如下 SELECT 语句:
SELECT DATEDIFF('2008-12-30','2008-12-29') AS DiffDate
结果:
DiffDate 1
IF条件
IF(expr1,expr2,expr3) 1为条件,true返回2,false返回3
SELECT IF(1<2,true,false); //返回true, 1
CASE 5 WHEN 1 THEN 'ONE' WHEN 2 THEN TWO ELSE XXX
类似 switch(5)
{
case 1:
'ONE'
break;
case 2:
'TWO'
break;
default:
xxx
break;
}
SELECT CASE 5 WHEN 1 THEN "one" WHEN 2 THEN "two" ELSE id END from TabName;
//如果这里的返回值带有引号,就是string类型,不能用于select 查询,不然返回的是这个字符串
Mysql 随笔记录的更多相关文章
- Atitit 分区后的查询 mysql分区记录的流程与原理
Atitit 分区后的查询 mysql分区记录的流程与原理 1.1.1. ibd是MySQL数据文件.索引文件1 1.2. 已经又数据了,如何分区? 给已有的表加上分区 ]1 1.3. 分成4个区, ...
- PHP获取MySql新增记录ID值的方法
今天发现用mysql_insert_id()获取到的新增记录的id不正确, 虽然发现源代码的事务写的有问题,但是最根本的原因是,我插入数据的id类型是bigint型 获取MySql新增记录ID值的方法 ...
- MapXtreme 随笔记录1
最近在用MapXtreme做项目,随笔记录备忘. 声明:PubMapPara 静态类,后缀为静态类成员变量 1.加载地图 /// <summary> /// 地图工作空间文件路径 /// ...
- MySQL如何记录binlog
--MySQL如何记录binlog -------------------------------2014/07/08 binlog文件的内容 log event MySQL的 ...
- 【转】MySQL 当记录不存在时insert,当记录存在时update
MySQL当记录不存在时insert,当记录存在时更新:网上基本有三种解决方法 第一种: 示例一:insert多条记录 假设有一个主键为 client_id 的 clients 表,可以使用下面的语句 ...
- MySQL行(记录)的详细操作一 介绍 二 插入数据INSERT 三 更新数据UPDATE 四 删除数据DELETE 五 查询数据SELECT 六 权限管理
MySQL行(记录)的详细操作 阅读目录 一 介绍 二 插入数据INSERT 三 更新数据UPDATE 四 删除数据DELETE 五 查询数据SELECT 六 权限管理 一 介绍 MySQL数据操作: ...
- PHP获取MySql新增记录ID值的3种方法
From: http://www.jb51.net/article/51473.htm 这篇文章主要介绍了PHP获取MySql新增记录ID值的3种方法,一般使用PHP自带函数mysql_insert_ ...
- MySQL 当记录不存在时insert,当记录存在时update(ON DUPLICATE KEY UPDATE, REPLACE语句)
MySQL 当记录不存在时insert,当记录存在时更新 网上基本有三种解决方法. 第一种:示例一:insert多条记录 假设有一个主键为 client_id 的 clients 表,可以使用下面的语 ...
- MySQL 当记录不存在时insert,当记录存在时update
MySQL当记录不存在时insert,当记录存在时更新:网上基本有三种解决方法 第一种: 示例一:insert多条记录 假设有一个主键为 client_id 的 clients 表,可以使用下面的语句 ...
随机推荐
- 并查集(不相交集)的Union操作
在并查集(不相交集)中附加操作\(Deunion\),它实现的功能是取消最后一次\(Union\)的操作. 实现思想 初始化一个空栈,将每一次的\(Union\)操作的两个集合的根和其值\(Push\ ...
- JZOJ 5328. 【NOIP2017提高A组模拟8.22】世界线
5328. [NOIP2017提高A组模拟8.22]世界线 (File IO): input:worldline.in output:worldline.out Time Limits: 1500 m ...
- 【一统江湖的大前端(8)】matter.js 经典物理
目录 [一统江湖的大前端(8)]matter.js 经典物理 一.经典力学回顾 二. 仿真的实现原理 2.1 基本动力学模拟 2.2 碰撞模拟 三. 物理引擎matter.js 3.1 <愤怒的 ...
- git add的各种情况分类
· git add -A 提交所有变化 · git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new) · git add . 提交新文件( ...
- php+apache 环境配置(window环境)
最近,小主从事PHP开发.特将最近如何搭建php7的过程记录在此!希望有需要,可以借鉴!( 电脑必须win7 sp1以上, .netframework4 ) Windows7安装php7,Win7+p ...
- Redis(8)——发布/订阅与Stream
一.Redis 中的发布/订阅功能 发布/ 订阅系统 是 Web 系统中比较常用的一个功能.简单点说就是 发布者发布消息,订阅者接受消息,这有点类似于我们的报纸/ 杂志社之类的: (借用前边的一张图) ...
- 解决 unable to lock the administration directory (/var/lib/dpkg/) 问题
阿里开源镜像站提供了raspbian的软件包镜像,国内的用户可以选择改用阿里镜像站作为更新源. 但是在更换源之后,执行 sudo apt-get update && apt-get u ...
- golang的sync.WaitGroup使用示例
下面一段代码 len(m) 不一定会打印为 10,为什么?.如果想要 len(m) 打印为 10,应该怎么修改代码? func main() { const N = 10 m := make(map[ ...
- .NET写入文件操作
2018-01-16 22:44:35 许多程序需要记录运行日志,这就需要将程序运行记录写入本机,一般是.txt 文本或.csv 文件.具体操作如下: 一.C# using System.IO; ...
- html 5 cavans 简易祖玛
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...