@
添加数据
- 语法:
* insert into 表名(列名1,列名2,...列名n) values(值1,值2,...值n);
- 注意:
(1) 列名和值要一一对应。
(2) 如果表名后,不定义列名,则默认给所有列添加值
insert into 表名 values(值1,值2,...值n);
(3) 除了数字类型,其他类型需要使用引号(单双都可以)引起来
删除数据
- 语法:
* delete from 表名 [where 条件]- 注意:
(1) 如果不加条件,则删除表中所有记录。
(2) 如果要删除所有记录- 使用推荐:
(1)delete from 表名; -- 不推荐使用。有多少条记录就会执行多少次删除操作
(2)TRUNCATE TABLE 表名; -- 推荐使用,效率更高 先删除表,然后再创建一张一样的表。
修改数据
- 语法:
update 表名 set 列名1 = 值1, 列名2 = 值2,... [where 条件];
- 注意:
如果不加任何条件,则会将表中所有记录全部修改。
查询数据
1) 多个字段的查询:
- 语法
select 字段名1,字段名2... from 表名;- 注意:
如果查询所有字段,则可以使用*来替代字段列表。- 去除重复:distinct
- 计算列
(1) 一般可以使用四则运算计算一些列的值。(一般只会进行数值型的计算)
(2) ifnull(表达式1,表达式2):null参与的运算,计算结果都为null
(3) 表达式1:哪个字段需要判断是否为null
(4) 如果该字段为null后的替换值。- 起别名:as:as也可以省略
2)条件查询:
- where子句后跟条件
- 运算符:
(1) != 、 > 、< 、<= 、>= 、= 、<>
(2) BETWEEN...AND
(3) IN( 集合)
(4) LIKE:模糊查询
(5) 占位符:
(6) _:单个任意字符
(7) %:多个任意字符
(8) IS NULL :为空集
(9) and 或 &&:并且
(10) or 或 || :或
(11) not 或 !:非
3)查询语句:
- 排序查询
(1) 语法:order by 子句
(2) order by 排序字段1 排序方式1 , 排序字段2 排序方式2...
(3) 排序方式: ASC:升序,默认的; DESC:降序。
- 注意: 如果有多个排序条件,则当前边的条件值一样时,才会判断第二条件。
- 聚合函数:将一列数据作为一个整体,进行纵向的计算。
(1)count:计算个数
* 一般选择非空的列:主键
* count(*)
(2) max:计算最大值
(3) min:计算最小值
(4) sum:计算和
(5) avg:计算平均值
- 注意:聚合函数的计算,排除null值。
解决方案:
(1) 选择不包含非空的列进行计算
(2) IFNULL函数
4)分组查询:
- 语法:group by 分组字段;
- 注意:
(1) 分组之后查询的字段:分组字段、聚合函数
(2) where 和 having 的区别?
* where 在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来
- where 后不可以跟聚合函数,having可以进行聚合函数的判断。
5)分页查询:
- 语法:limit 开始的索引,每页查询的条数;
- 公式:开始的索引 = (当前的页码 - 1) * 每页显示的条数-- 每页显示3条记录