查询
select * from tana
column as 别名 或 column 别名
select id as ID, name NAME from tana
只查询某一段 limit 5,20 第一个参数是从几行开始检索,第二个参数是结果行数。一般分页都是这么处理的
select * from tana limit 5,20
where 子句 <> 不等于,between 在某个范围内, not between 不在范围类。 AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
where column > < >= <= <> (not | between id = 5 and id =10) LIKE
只查询某个范围where age between 20 and 25 等价于 where age >=20 and age <=25
select * from tana where age between 20 and 25
多条件查询 in 等价于 name = 'drip' or name = 'drip2' (尽量不要用in(不能用索引),数据越多效率越低)
selsct * from tana where name in ('drip','drip2')
按条件查询 where。 and 同时满足。 or 满足任意一个
select * from tana where name = 'drip' and age = 20 or name = 'drip2'
基本函数 avg(id)平均值。 sum(id)求和。 max(id)最大值, min(id) 最小值,count(id)总数。
select avg(id),sum(id),max(id),min(id),count(id) from tana where tana
模糊查询 like '%d%' 查询内容包含有d的结果。 ‘%d’d结尾的数据。 'd%'d开头的数据。'_d' 值为?d的结果。可结合使用。 ‘_r%d’ 比如 drip,?r???d。 not like 表示不包含。 通配符 % _ [] [!]
select * from tana where name like '%d%' |
排序 order by id asc 或 desc (默认asc升序) 当多个参数时,当第一个参数相同时,按第二个参数排序。以此类推。
select * from tana order by id asc, name desc
分组 group by sex 。 按sex分组。获取男女总数。 一般配合聚合函数使用。
select sex,count(id) from tana group by sex
多表查询 inner,只返回满足条件的结果。 left以左表为基础,返回满足条件的结果(左表行全部返回,左表有,右表没有,则右表列显示为null)。 right, (以右表为基础,返回满足条件的结果(右表行全部返回,右表有,左表没有,则左表列显示为null)。
select * from bana1 left join bana2 on bana1.id = bana2.b1id
多个结果集组合(两个表的列数量要相同,类型也要相同) union(会删除数据相同的行) , union all,(结果是前10行和后10行1 2 3...10 20 19 18...11);
SELECT * FROM tana limit 10 union all (SELECT * FROM tana order by id desc limit 10)
is null 和 is not null;
获取字段不为空的数据 is null; is not null
SELECT * FROM tana where name is not null
插入
INSERT INTO 表名称 VALUES (值1, 值2,....)
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
更新
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
update base_user set name = 'drip' where id = '1';
删除
DELETE FROM 表名称 WHERE 列名称 = 值