一、入门必读
二、Linux
三、数据库
数据库:Database。是按照数据结构来组织、存储和管理数据的仓库。
1.MySQL基础
1)别名与重复记录
- 字段的别名:通过 字段名 (as)别名 的语法,给字段起一个别名,可以为中文。
- 表的别名:通过 表名 (as) 别名,给表起一个别名,可中文。
- 消除重复记录
- 格式:
SELECT DISTINCT column_name,column_name FROM table_name;
- 作用:消除select查询结果中重复的内容
- 格式:
2)条件查询
- where子句
- 格式:
SELECT field1, field2,...fieldN FROM table_name1, table_name2... [WHERE condition1 [AND [OR]] condition2.....-
- where + 条件,实现有选择的查询
- select 查询的基本规律:select 查询返回的字段(列),where控制了返回的记录(行)。
- 格式:
- where 后支持多种运算符,进行条件处理
- 比较运算法:使用 > 、< 、= 、!=(<>)
- 逻辑运算符:使用and 、or 、not
- update 、 delete后面也可以用
- 模糊查询
- 格式:
SELECT field1, field2,...fieldN FROM table_name WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
- '%'代表任意多个字符
- ’_‘代表任意一个字符
- 格式:
- 范围查询
- in:非连续查询,in(a,b,c)相当于a or b or c
- between:连续查询,between a and b 相当于 a<=x<=b
- 空判断 格式:
where card is null;
- 排序
- 格式
SELECT field1, field2,...fieldN FROM table_name1, table_name2... ORDER BY field1 [ASC [DESC][默认 ASC]], [field2...] [ASC [DESC][默认 ASC]];
- asc 代表升序, dese 代表降序
- 如
select * from stu order by age;
意为学生列表按照年龄升序排列 - 如
select * from stu order by age desc,studentNo;
意为按照年龄降序排序,再按照学号升序排序。写在前面的优先级高。
- 格式
3)聚合函数
为了快速得到统计数据,经常会用到如下5个聚合函数
- count 总记录数,格式:
select (*) from table_name;
意为查询语句查询到信息总条数 - max 求最大值,格式:
select max(file1)from table_name;
温馨提示:聚合函数不能在where语句后的条件里使用;
聚合函数不能与普通字段同时出现在查询结果中 - min 求最小值,格式:
select min(file1)from table_name;
- sum 求和,格式:
select sum(file1)from table_name;
- avg 求平均值,格式:
select avg(file1)from table_name;
4)数据分组
- group by 作用是分组
- 格式:
select count(*) from table_name group by file1;
- 意为按照字段名将表分组,并分别查询信息条数。
5)一个练习
- 统计各性别学生总数、平均年龄、最大年龄、最小年龄
- 但不统计’2号’,统计结果按学号从大到小排序
6)分组后的数据筛选
- having
- 用法区别:
- where 查询男生总数:
select count(*) from stu where sex = ‘男’;
先筛选后聚合 - having 查询男生总数:
select count(*) from stu group by having sex = ‘男’;
先分组聚合统计,在统计到结果中筛选 - having 查询后可以用聚合函数,是对group by 后的数据进行筛选
7)数据分页显示
- limit 开始行,获取行数
- 格式
select * from table_name where 条件 group by 字段 order by 字段 limit start,count
,从start 开始,获取 count 条数据。 - 如
select * from stu limit 0,3
,意为查询前三行记录。同select * from stu limit 3
- 如
select * from stu limit 3,3
,意为查询从第四行开始的三行记录 - limit出现在select语句最后,start 表示开始行号,从0开始编号。count 表示显示多少行。省略start即默认从0开始,从第一行算起
- 排序之后用limit选取第一个数据,则可以得到最大/最小值
- 格式
- 分页
- 当一张表记录特别多时就需要分页显示
- 已知:每页显示 m 条数据,求:查询第 n 页的数据
select * from stu limit (n-1)*m,m