MySql语句
单表(重点)
DDL语句:create alter drop truncate
DML语句:insert update delete
insert into 表名 values(全部的值);列和值一致
insert into 表名(列) values(值);一一对应
update 表名 set 列=值,列=值 where 条件
delete from 表名 where 条件
DQL:重点
select 列名 as ‘别名’ from 表 where 条件 group by 列 having 条件 order by 排序 asc/desc
where = != > >= < <= between…and like not like is is not or and
日期函数:datediff(expr1,expr2) 返回的是两个日期的天数
date_format(date,format)
adddate(date,interval expr unit)
subdate(date,interval expr unit)
last_day(date)
unix_timestamp()
year()
month()
dayofmonth(date)
dayofweek(date)
dayofyear(date)
字符串:upper()
lower()
substr()
trim()
length()
reverse()
replace()
小数:round() 四舍五入
floor() 向下取整
ceil() 向上取整
2.多表查询,连接主外键连接(表的设计:外键代表关系,创建外键,外键约束太多,数据无法修改,伪外键(没有约束了,开发过程灵活了,但数据无法保证一致性))
3.多表查询,数据在多张表中
– 笛卡尔积,连接(几乎不用) 先匹配,再过滤,匹配过程中: 数据条数*数据条数=结果集 ->筛选
数据庞大,效率最低
– 连接(开发中常用 左连接 右连接 内连接)
– 左连接(常用) 左表数据全部出来,右连接,右表数据全部出来,内连接:重合的部分出来
– 内连接(笛卡尔积)
– 全连接(两表的数据全部出来,MySQL没有全连接)
子查询:一步无法实现,我们需要多个sql实现,称为子查询(尽量不用)
select 列名 from 子查询 where 条件 符号 子查询
1.子查询可以当做表来用
2.条件