创建student表
CREATE TABLE student(
id INT(20) PRIMARY KEY,
name VARCHAR(50),
score INT(50),
sex VARCHAR(10)
)
给student表插入一些测试数据并查询student表
INSERT INTO student VALUES(1,'张三',70,'男'),(2,'李四',80,'女'),(3,'王五',90,'女'),(4,'王六',70,'男');
select * from student;
集合函数
count(): 统计记录数条数
select count(*) from student; --查询表记录数
select score,count(score) from student group by score; --结合分组函数查询各分数人数
sum(): 计算字段的值的总和
select sum(score) from student; --查询学生总成绩的和
avg(): 计算字段的值的平均值
select avg(score) from student; --查询学生的平均成绩
max(): 查询字段的最大值
select max(score) from student; --查询学生成绩最大值
min(): 查询字段最小值
select min(score) from student; --查询学生成绩最小值
正则表达式
^: 查询以特定字符或者字符串开头的记录
select * from student where name regexp '^王'; --查询姓王的学生
$: 查询以特定字符或者字符串结尾的记录
select * from student where name regexp '三$'; --查询名字三结尾的学生
.: 匹配字符串中的任意一个字符
select * from student where name regexp '^张.'; --查询姓张的同学
[]: 匹配所包含的任意一个字符
select * from student where name regexp '["张","四"]'; --查询名字带张或四的同学
[^字符集合]: 匹配指定字符以外的字符
select * from student where sex regexp '[^"男"]'; --查询性别不为男的同学
*: 匹配多个该符号之前的字符
+: 匹配多个该符号之前的字符
*和+的区别在于*可以表示0个字符,但+至少表示一个字符
注释符
# 单行注释
-- 单行注释
/**/ 多行注释
查询函数
system_user(): 系统用户名
select system_user();
user(): 用户名
select user();
current_user(): 当前用户名
select current_user();
session_user(): 连接数据库用户名
select session_user();
database(): 数据库名
select database();
version(): 数据库版本
select version();