MySQL必知必会笔记(2)

2019-01-19 15:54

操作符 = <> != < > <= > >=

说明 等于

不等于(数字比较) 不等于(数字和字符串比较) 小于 大于 小于等于 大于 大于等于

BETWEEN 在指定的两个指之间 必须指定2个值。这两个值必须使用AND连接 SELECT columnOne,columnTwo, FROM table WHERE columnOne BETWEEN 3 AND 8; // 检索columnOne值为3到8之间的行

空值检查

SELECT 语句中有一个子句检查具有NULL值的列,IS NULL子句。

SELECT columnOne FROM table WHERE columnOne IS NULL; //检索 columnOne值为NULL的行

注意:在数据库中NULL是不能被匹配和不匹配的语句找出来,所以一定要注意表中是否存在NULL值。

第七章 数据过滤

组合WHERE子句 组合方式

AND组合 和 OR组合 必须满足所有条件

SELECT columnOne,columnTwo,columnThire FROM table WHERE columnOne = 2009 AND columnTwo <= 10; //检索columnOne =2009 且 columnTwo <= 10 的行 满足任意一个条件

SELECT columnOne,columnTwo,columnThire FROM table WHERE columnOne = 2009 OR columnTwo <= 10;//检索columnOne =2009 或 columnTwo <= 10 的行 计算次序

先计算AND再计算OR,不要过分依赖默认计算次序,可以使用括号改变计算次序,它能消除歧义。

IN操作符 IN操作符用来指定范围,范围中的每个条件进行匹配。IN取合法值的逗号分隔的清单。

SELECT columnOne,columnTwo FROM table WHERE columnOne IN (1002,1005,1006) ORDER BY columnTwo; //检索columnOne为1002或1005或1006的行并且按columnTwo分组

IN操作符完成与OR相同的功能,优点如下:

1 使用长的合法选项清单时,IN操作符的预防更清楚且直观 2 使用IN时,计算的次序更容易管理(以为使用的操作符更少) 3 IN操作符一般比OR操作符执行更快

4 IN操作符最大的优点可以包含其他SELECT语句,使得能够更动态的创建WHERE子句。

NOT操作符 WHERE子句中的NOT操作符有且只有一个功能,那就是否定它之后所跟的任何条件

SELECT columnOne,columnTwo FROM table WHERE columnOne NOT IN

(1002,1005,1006) ORDER BY columnTwo; //检索columnOne不为1002或1005或1006的行并且按columnTwo分组

MySQL支持使用NOT对IN、BETWEEN和EXISTS子句取反。

第八章 用通配符进行过滤

LINK操作符

通配符:用来匹配值的一部分的特殊字符。

搜索模式:又字面值、通配符或两者组成构成的搜索条件 %

任何字符出现任何位置区分大小写

//检索以jet开头的词或句子

SELECT columnOne,columnTwo FROM table WHERE columnOne LINK ' jet% '; //检索以jet结尾的词或句子

SELECT columnOne,columnTwo FROM table WHERE columnOne LINK ' %jet '; //检索以jet包含的词或句子

SELECT columnOne,columnTwo FROM table WHERE columnOne LINK ' %jet% ';

//检索以e开头,以u 结尾的词或句子 //检索' e%u ';

%还可以匹配0字符,注意尾空格会影响搜索模式的结果。

_ 匹配单个字符

SELECT columnOne,columnTwo FROM table WHERE columnOne LINK '_abc' //匹配aabc eabc eabc 等前面一个字母的词 让like区分大小写的方法

在WHERE和列名之间加BINARY关键字,或者再建立表时就指定区分大小写name varhar(50) binary

使用通配符是有代价的,提供以下的技巧: 不要过度的使用通配符

除非是必要的,否则通配符不要用在搜索模式的开始处 仔细注意通配符的位置。不要放错位置

第九章 用正则表达式进行搜索

仅支持正则表达式的一小部分 基本字符匹配

检索列prod_name包含1000 的所有行

SELECT columnOne FROM table WHERE columnOne REGEXP '1000' ORDER BY columnOne

. 匹配任意一个字符1000 2000 3000 a000

SELECT columnOne FROM table WHERE columnOne REGEXP '.000' ORDER BY columnOne

正则匹配不区分大小写 ,如想区分匹配可在REGEXP 后面加上BINARY关键字 进行OR匹配

为搜索两个或n个字符串之一

SELECT columnOne FROM table WHERE columnOne REGEXP '1000|2000|3000' ; 匹配单个字符

SELECT columnOne FROM table WHERE columnOne REGEXP '[123] Ton'; //匹配1 Ton 或2 Ton或3 Ton

当有非匹配的内容时使用[],它是 | 的另一种形式,如1|2|3 Ton这时匹配的只有3带有Ton

如果想要得到非匹配的内容可以使用[^123]的形式 匹配范围 [0-9] [a-z][A-Z]

SELECT columnOne FROM table WHERE columnOne REGEXP '[1-5] Ton' ; 匹配特殊字符

想要匹配 . [ ] | 这些字符串怎么办呢,可以在这些字符前加 \\\\ 进行转义,第一个\\ mysql自己解释,第二个给正则解释的

元字符 说明


MySQL必知必会笔记(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:结构设计原理-1997-2007试题集

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: