MySQL基础知识总结(三):单表查询
程序员文章站
2024-03-06 08:43:49
...
单表查询
插入数据
insert into table_name(field1,field2,....fieldn);
插入记录的一部分
insert into 表名(字段1,字段3,字段5)values(对应字段1,对应字段3,对应字段5);
插入多条记录
格式:
insert into table_name(field1,field2,...fieldn)values(value1,value2,...valuen),(value1,value2,...valuen),(value1,value2,...valuen),....
更新数据
更新特定数据
update table_name set filed1=value1, filed2=value2 where condition
更新所有数
update table_name set filed=value;
删除数据
删除指定数据
delete from table_name where condition
删除所有数据
delete from tabe_name;
**
查询数据
**
简单记录查询
select field1,field2,...fieldn from table_name;
select* from table_name;
包含数学运算的查询
+、-、、/、%
例如:select name,sal12 as “年薪” from employee;
格式化显示
concat()连接字符
select concat(name,“的年薪为:”,sal*12) “薪资” from employee;
条件记录查询
比较运算符:>, <, =, !=(<>), >=, <=
逻辑运算符:and(&&)、or(||)、Xor、NOT(!)
between and
is null / is not null
带in关键字的条件查询
带like的关键字查询
like语句支持的通配符:
**“_”**表示匹配单个字符
**“%”**表示可以匹配任意长度的字符串
排序记录查询
order by:
asc:升序(默认)
desc:降序
限制记录查询
limit
语句格式:
select field1,field2,...fieldn from table_name where condition limit offset_start(起始偏移量),row_count(行数);
统计函数
count()
avgr()
sum()
max()
min()
分组记录查询
group by
简单分组
语句:
select function() from table_name where condition group by field;
group_concat:显示每个分组中的字段,显示每个分组中的指定字段
语句:
select group_concat(field) from Table_name where condition group by field;
多个字段的分组查询
having组织分组后的条件
1、where语句只能放在group by 之前!
2、where是在列出现之前查询,having是在列出现之后再筛选
select column_name,aggregate_function(column_name)
from table_name
where column_name operator value
group by column_name
having aggregate_function(column_name) operator value;
having和where的区别:
结果去重
避免重复查询:distinct 放在字段名前
上一篇: 【Scala】Scala练习题(一)