一、查询操作
1、去重:select后面加distinct
2、查询多个字段作为一个字段返回 select后面加concat(‘字段名’,‘字段名’)
3、模糊查询
1》like
特点:一般和通配符搭配使用
通配符: % 任意多个字符
_任意单个字符
有时需要用到转义符:
2》between and
包含临界值
两个临界值不要调换顺序
3》in
小括号内部不能用通配符
4》is null/ is not null
=号不能判断是否为null值,但是is null和is not null可以
5》安全等于 <=>
既可以判断字符数字型,也可以判断null
4、查询排序
asc升序 desc降序
5、常见函数
类似与Java的方法,将一组逻辑语句封装在方法体中,对外暴露方法名。
分类:
1》、单行函数
字符函数:
length: 获取参数值的字节个数(utf8下英文占一个字节,汉字占三个字节)。
concat: 拼接字符串。
upper转化为大写, lower转化为小写:
substr、substring:截取字符串
注意:MySQL 中字符串索引从1开始
instr:返回字串第一次出现的索引,如果找不到返回0。
trim:去掉某个字符串的前后空格,也可以去掉字符串前后指定值。
lpad和rpad:
replace:替换(把周芷若替换为赵敏)
数值函数:
日期函数:
查询相差天数:select datediff(now(),‘1996-1-1’)
流程控制函数:
2》、分组函数
功能:做统计使用,又称统计函数/聚合函数/组函数
分类:sum求和 avg求平均值 max最大值 min最小值 count计算个数
特点:
1、sum、avg一般用于处理数值类型
max、min、count可以处理任何类型
2、以上分组函数都忽略null值
3、可以和distinct搭配实现去重的运算
4、count
6、分组查询
特点:
2、group by 子句支持单个字段分组,多个字段分组(用逗号隔开,没有顺序要求),表达式或函数(用的较少)。
3、也可以添加排序(排序放在整个分组查询的最后)
7、连接查询
sql96语法:
一》等值链接
二》非等值链接
三》自链接
sql99语法:
内连接:inner
外连接:左外left【outer】、右外right【outer】、全外full【outer】
交叉连接:cross (两个表笛卡尔积的结果)
8、子查询
出现在其他语句中的select语句,称为子查询或内查询,子查询的是优先于主查询的。
9、分页查询
10、union联合查询
当查询结果来源于多个表,并且表之间没有直接的链接关系,但查询的信息一致。
二、增删改
1、插入
方式一支持插入多行和子查询
2、修改
3、删除
方式对比: