MYSQL笔记(2)

1.SELECT pro_name FROM products LIMIT5,5
LIMIT后面第一个数为开始位置,第二个数为要检索的行数,LIMIT 5, 5指示MySQL返回从行5(第一行序号是0,所以5实际是第6行)开始的5行。
LIMIT 4 OFFSET 3意为从行3开始取4行,就像LIMIT 3, 4一样

2.也是通配符,与%一样,但是%可以匹配多个字符,但是只能匹配一个,不多也不少

3.LIKE和REGEXP的区别
LIKE匹配整个列。如果被匹配的文本仅在列值中出现,LIKE并不会找到它,相应的行也不会返回(使用通配符除外)。而REGEXP在列值内进行匹配,如果被匹配的匹配的文本在列值中出现,REGEXP将会找到它,相应的行将被返回(如果适应定位符号^和$,可以实现REGEXP匹配整个列而不是列的子集)。
e.g.如果表products中的列pro_name有两个数据,分别是Jetpack 1000和Jetpack 2000
select pro_name from products where pro_name like '1000'
select pro_name from products where pro_name REGEXP '1000'
如果执行上述两条语句,会发现第一条语句不返回数据,而第二条语句返回一行。

4.count()与count(1)的区别
一般情况下select count(
) 与select count(1)两者返回的结果一致。但是针对表中主键的有无,情况会有不同。
无主键:count(1)比count()快
有主键:count(主键)最快
count(
)与count(1)都包括null统计,而count(column)不包括null统计,即如果指定列名,则指定列的值为空的行被COUNT()函数忽略,但如果COUNT(*),则不忽略。

5.Concat()拼接串,即把多个串连接起来形成一个较长的串,各个串之间用逗号分隔。
e.g.concat(A,'(',B,')')------->A(B)

6.RTrim()(去掉串右边的空格),LTrim()(去掉串左边的空格),Trim()(去掉串左右两边的空格)

7.SOUNDEX是一个将任何文本串转换为描述其语音表示的字母数字模式的算法。
SOUNDEX考虑了类似的发音字符和音节,使得能对串进行发音比较而不是字母比较
e.g.资料中有个客户名叫Y.Lee,但其实是输入错误,他的正确名字是Y.Lie,要是用正确的名字查找显然是查找不到的,但可以用SOUNDEX函数查找。
select * from customers where Soundex(cust_contact)=Soundex('Y.Lie');

8.UNION默认去重,如果想返回所有匹配行,可使用UNION ALL而不是UNION。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • MySQL数据库对象与应用 2.1-MySQL数据类型 库建立好之后基本不动,和我们接触最频繁的是表. 建表就是声...
    极客圈阅读 6,551评论 0 8
  • MySQL笔记2 创建计算字段 1、拼接字段 拼接(concatenate):将值联结到一起(将一个值附加到另一个...
    defphot阅读 1,895评论 0 0
  • 这一篇最主要是记录下命令,方便以后查找 使用Mysql 创建数据库 create database mysql_t...
    Treehl阅读 3,757评论 0 0
  • 创建高性能索引 索引是什么?有什么作用? 索引是存储引擎用于快速找到记录的一种数据结构 如书的目录索引一般,数据库...
    esrever阅读 3,897评论 0 0
  • 你一边刷牙一边玩手机吗? 你一边穿袜子一边玩手机吗? 你一边工作一边听广播吗? 你会为了玩手机而宁可早起吗? 你会...
    亲亲雨风阅读 1,756评论 0 3

友情链接更多精彩内容