- 作者:柯基大佬
- 日期:2021-08-13
- 类型:Java
- 说明:本文源于 柯基 手写摘要,如需转载请带上链接或注明出处!
符号
注释:
使用双中划线,--
xxx
通配符:
一般用作条件,查询或修改某字段对应的值
%
:占位符,代表任意长度,任意内容;举例:like %xxx%
_
:占位符,代表一个长度,任意内容;举例:like x_
like
:模糊匹配;举例:like ‘s%’
:模糊匹配以s开头任意长度、任意内容的值like ‘s_’
:模糊匹配s后一个长度、任意内容的值like ‘%s%’
:模糊匹配s两头任意长度、任意内容的值
or
:两个以上或条件;举例:name = ‘张三’or
age = 18and
:两个以上与条件;举例:name = ‘张三’and
age = 18in
:两个以上包含条件;举例:agein
(1,3,6)
查询:SELECT
常用基本查询
select * from 表名
select 字段1,字段2... from 表名where
:查询条件约束select * from 表名 where 字段名=‘值’
limit
:查询个数约束(分页)select * from 表名 limit 2
limit 2:查询count限制n数据
limit 1,2:查询下标1~2的数据
limit 0,-1:查询所有数据,高版本已不可用count
:表的总行数查询select count(*) from 表名
distinct
:不重复的总行数查询(去重查询)-- 写法1
select count(distinct 字段名) from 表名
-- 写法2,省略count()
select distinct 字段名 from 表名length
:查询约束长度value是中文的情况下查询时需注意:
在utf-8编码下,一个汉字占3个长度;
在gbk编码下,一个汉字占2个长度;
在Oracle的gbk编码下,一个汉字占1个长度
-- 如果值是纯中文,以下语句查询到的会是2个汉字以上的条件
select * from 表名 where length(字段名) >= 6
-- CHAR_LENGTH() 能够做到一个汉字一个字符,以下语句查询到的是6个汉字或字符以上的条件
select * from 表名 where char_length(字段名) >= 6
插入:INSERT INTO
注意:不可空字段是必传的
字段名与值一一对应
insert into 表名(字段1, 字段2 ...) value(字段1值, 字段2值 ...)
无关字段名,必须传入所有字段
insert into 表名 value(字段1值,字段2值 ...)
修改:UPDATE
无条件修改所有该字段的值
update 表名 set 字段 = 值
加条件修改某字段的值
update 表名 set 字段1=字段1值 where 字段2=字段2值 or 字段3=字段3值
删除:DELETE
清空表
delete from 表名
加条件删除字段
delete from 表名 where 字段1=字段1值
高级用法
别名:AS
别名不修改原字段,只是在查询结果中显示
-- 表别名 |
时间
-- yyyy-MM-dd HH:mm:ss |
排序:ORDER BY
(asc是升序(默认),desc是降序)
-- 升序 |
分组:GROUP BY
select 字段 from 表名 group by 字段条件 |
区间:BETWEEN、OR、IN
-- BETWEEN,查询区间的值 |
聚合函数
SUM
:总数select sum(字段) from 表名
AVG
:平均数select avg(字段) from 表名
MAX
:最大值select max(字段) from 表名
MIN
:最小值select min(字段) from 表名