Mysql的使用(二)_铽可喏_新浪博客

本文介绍了SQL的基本操作,包括排序、NULL值处理、模式匹配、正则表达式使用、统计行数的方法、INNER JOIN的运用及批量执行SQL语句的方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1)排序 :ORDER BY 
默认是升序,降序的话需增加DESC
字符串比较,默认是不分大小写的,若想区分大小写,需用ORDER BY BINARY,加了BINARY后速度也比较慢
例子:计算岁数,并将岁数用字段age表示,以name排序。
SELECT name, birth, CURDATE(), TIMESTAMPDIFF(YEAR,birth,CURDATE()) AS age
 FROM pet ORDER BY name;
2)NULL值的使用
用IS NULL 或者IS NOT NULL来判断
NULL means “a missing unknown value”,所以可以在一个属性为NOT NULL的列中插入0或者空字符串

3)模式匹配
"_"代表一个字符,“%”代表不定数量的字符。用到模式匹配的是,用LIKE或者NOT LIKE来作为比较标识

4)正则匹配
a. REGEXP 或者 NOT REGEXP
b. "."  任何一个单字符
c. [...] 括号内的任何一个单字符,如[abc],代表a或b或c [a-z]代表a~z范围内的任何一个值
d. “*”表示*之前的字符的任意个数,如“a*”,任意个a  ".*"任意数量的任意字符
e. 正则表达式,以“^”开头或者“$”结尾。如^b,表示以b开头;b$表示以b结尾
f. {n}表示重复5次,如"b{5}"代表“bbbbb”

5)统计行数
a.COUNT(*)
b.GROUP BY:用来分类 如查询每个主人拥有几个宠物:SELECT owner,COUNT(*) AS petsnum FROM pet GROUP BY owner;
c.ONLY_FULL_GROUP_BY 模式,如果设置(SET sql_mode = 'ONLY_FULL_GROUP_BY';),
  就不能执行“SELECT owner,COUNT(*) AS petsnum FROM pet”,mysql会认为没有能与name匹配的集群,也就是必须
  配合GROUP BY使用。
  如果设置(SET sql_mode = ''),执行语句“SELECT owner,COUNT(*) AS petsnum FROM pet”就会将整张表作为一个集群,
  只输出一条记录,name的值则是服务器随机从表中获取的name那一列的值。
  理解:SELECT 预约中包含列名称和统计信息的时候,会逐行统计。如果不用GROUP BY则有可能错乱,难以为每行数据匹配到
  一个可用来统计的集群。
  
6)INNER JOIN
输出结果是两张表共有的部分

7)批量执行SQL语句
mysql> source filename;
mysql> \. filename
备注:filename需要是全路径,并且不需要用引号。例子:source D:\tmp.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值