创建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();