MySQL基本SELECT语句
select语句
检索数据
检索单个列
SELECT columnName FROM tableName;//单个语句可以不加分号,本语句将返回⼀组未过滤(过滤将得出结果集的⼀个⼦集,消除冗余),未排序的数据检索多个列
SELECT columnsName1,columnsName2,...FROM tableName;//列名中⽤逗号隔开
检索所有列
SELECT*FROM tableName;//使⽤通配符 *,返回列的顺序⼀般是在表中定义出现的顺序
检索不同的⾏
SELECT DISTINCT columnsName FROM tableName;//使⽤关键字DISTINCT,告诉MySQL只返回不同的值
DISTINCT关键字作⽤于全部列,不能部分使⽤
SELECT DISTINCT columnsName1,columnsName2 FROM tableName;
除⾮制定的两个列都不同,否则所有⾏都会被检索出来
限制结果
SELECT columnsName FROM tableName LIMIT5;//只显⽰前5⾏数
SELECT columnsName FROM tableName LIMIT5,5;//返回从第5⾏开始(不包括第5⾏),往后数5个数据immensely
1.第⼀⾏是第零⾏
2.指定返回⾏数为最⼤⾏数,表中数据不够时到最后⼀⾏停⽌
3.MySQL 5版本开始⽀持:LIMIT 5,5 等价于 LIMIT 5 OFFSET 5
使⽤完全限定的表名或者列名
webrtc在线测试lumnsName FROM databaseName.tableName;
排序数据
使⽤ORDER BY⼦句
按⼀个列排序
SELECT columnsName FROM tableName ORDER BY columnsName;//按照列的某种顺序排序
SELECT columnsName1 FROM tableName ORDER BY columnsName2;//按照列2的某种顺序来排列列1
按多个列排序
SELECT c1,c2,c3 FROM t ORDER BY c1,c2;//先按照c1排序,c1相同的按c2排序
制定排序⽅向(默认升序ASC)
mysql语句顺序SELECT c1,c2,c3 FROM t ORDER BY c1 DESC;//按c1降序排列
SELECT c1,c2,c3 FROM t ORDER BY c1 DESC, c2;//按c1降序排列,相同的按c1升序排列
ORDER BY与LIMIT
SELECT c1 FROM t ORDER BY c1 DESC LIMIT1;//LIMIT位于ORDER BY后
过滤数据
使⽤WHERE⼦句,放在ORDER BY⼦句之前
SELECT c1 FROM t WHERE条件;
WHERE⼦句操作符
AND操作符
SELECT c1,c2,c3 FROM t WHERE条件1AND条件2;//可以有多个AND,同时符合所有条件
OR操作符
SELECT c1,c2 FROM t WHERE条件1OR条件2;//可以有多个OR,满⾜任意条件即可
当同时使⽤AND或者OR时,默认顺序是先满⾜AND,但是建议尽量使⽤括号()括起来,便于阅读。
IN操作符
SELECT c1,c2 FROM t WHERE某个属性IN(条件1,条件2,……);//功能类似于OR,但速度更快,且⽀持嵌套SELECT查询⼦句
NOT操作符
⽤于否定它后⾯跟的条件,MySQL⽀持对IN、BETWEEN、EXISTS⼦句取反
SELECT name,price FROM products WHERE id NOT IN(1002,1003)ORDER BY name;
使⽤通配符
LIKE操作符
为使⽤通配符,必须使⽤LIKE操作符,它指⽰MySQL,后⾯跟的搜索模式利⽤通配符匹配⽽不是直接相等匹配进⾏⽐较。(此时从技术讲,应该称呼LIKE为谓词)
百分号(%)通配符:表⽰任何字符出现任何次数
SELECT id,name FROM pproducts WHERE name LIKE'jet%';//查询所有以‘jet’开头的产品的id,name,可以使⽤多次,出现在任意地⽅,也可以代表0次出现不能匹配NULL
WHERE name LIKE'%';即使这样也不会匹配到NULL
下划线(_)通配符:⽤途与%⼀样,但只匹配单个字符
无水印搞笑视频素材下载使⽤通配符的技巧:
1. 不要过度使⽤,会减慢搜索速度
2. 在确实需要使⽤通配符时,如⾮必要,不要将之⽤在开头,这时搜索速度最慢
3. 注意通配符的位置,如放错可能得不到想要的结果
正则表达式英语怎么读?
SELECT name FROM products WHERE name REGEXP'1000'ORDER BY name;
关键字LIKE被REGEXP替换
LIKE匹配整个列,如果被匹配⽂本在列中出现,则不会被到
LIKE'1000';//如果列中有1000,结果不会返回数据
REGEXP'1000';//返回1000
REGEXP'.000';//返回四位数后三位为000的值
//匹配不分⼤⼩写,若想区分则使⽤关键字 BINARY
WHERE name REGEXP BINARY'JetPack .000';
REGEXP'1000|2000';//or操作,可使⽤多个
REGEXP[123] Ton';//匹配1 Ton,2 Ton,3 Ton,类似于or功能
REGEXP[^123];//匹配除1,2,3字符以外的任何东西
REGEXP[0-9];//匹配0到9
\作为前导,相当于转义
REGEXP'\\.';//匹配.开头的所有字符
字符类
元字符
‘ ^ ’在集合或 [ ] 中表⽰否定,否则表⽰在⽂本开始
拼接字段:Concat(str1,str2,...)
SELECT CONCAT(adminName,'(',age,')')FROM admininfo ORDER BY age DESC;
可以通过Rtrim(str) [Ltrim(str)]来去掉右侧[左侧]多余空格,Trim(str)去掉两端空格
SELECT CONCAT(RTRIM(adminName),' (',age,')')FROM admininfo ORDER BY age DESC;
使⽤别名:AS,同样可以为表起别名
SELECT CONCAT(RTRIM(adminName),' (',age,')')AS title FROM admininfo ORDER BY age DESC;
执⾏算数计算
SELECT ticketName,price,residue,price*residue AS sumprice FROM ticketinfo ORDER BY sumprice DESC;
使⽤数据处理函数
⽂本处理函数
RTrim(),LTrim(),Trim()⽤来处理空格
Upper()⽤来将字母转为⼤写
以下为⼀些常⽤的⽂本处理函数
其中SOUNDEX()函数是⼀个将任何⽂本串转换为其语⾳表⽰的字母数字模式的算法。可以进⾏发⾳⽐较搜索,将与⽬标参数发⾳相似的结果搜索出来
⽇期和时间处理函数
常⽤⽇期和时间函数
css有哪几种引入方式
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论