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 表,可以使用下面的语句 ...
随机推荐
- unittest实战(三):用例编写
# coding:utf-8import unittestfrom selenium import webdriverimport timefrom ddt import ddt, data, unp ...
- (Win10)Java,Maven,Tomcat8.0,Mysql8.0.15安装与环境配置,以及IDEA2019.3使用JDBC连接MySQL、创建JavaEE项目
之前用windows+linux的双系统,最近不怎么舒服就把双系统给卸了,没想到除了问题,导致有linux残余,于是就一狠心重装了电脑,又把Java及其相关的一些东西重新装了回来,还好当初存了网盘链接 ...
- disruptor 入门 一
一.disruptor基本概念 https://www.cnblogs.com/haiq/p/4112689.html 二.disruptor入门程序 导入disruptor包 <depende ...
- C语言程序设计(八) 数组
第八章 数组 //L8-1 #include <stdio.h> int main() { int score1, score2, score3, score4, score5; int ...
- 前端BOM和DOM
前端基础之BOM和DOM 前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些 ...
- USB设备描述符和请求命令
USB设备描述符和请求命令 介绍标准的USB设备描述符和请求命令. 标准的USB描述符 当USB设备第一次连接到主机上时,要接收主机的枚举和配置,目的就是让主机知道该设备具有什么功能.是哪一类的USB ...
- 一、create-react-app的安装及使用
一.安装create-react-app 1.在全局环境中安装create-react-app npm install -g create-react-app 2.在您所需要的目录(盘)下生成一个项目 ...
- 正则匹配电话号码demo
public static String doFilterTelnum(String sParam) { String result = sParam; if (sParam.length() < ...
- Mol. Cell. Proteomics | 癌细胞衍生的小细胞外囊体通过促进HGF-Met途径促进受体细胞转移
题目:Cancer cell derived small extracellular vesicles contribute to recipient cell metastasis through ...
- 设计模式—建造者模式(Builder)
title: 设计模式-建造者模式 建造者模式(Builder)是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节.建造者模式属于对 ...