目录
1.数据库、数据库管理系统、结构化查询语言?
- 数据库(Database),简称DB。是按照一定的数据结构来组织、存储和管理数据的仓库。
- 数据库管理系统(Database Management System),是一种操纵和管理数据库的大型软件,用于创建、使用和维护数据库,简称DBMS。MySQL或者Oracle等就是属于这种数据库管理系统。
- 结构化查询语言(Structured Query Language),简称SQL。SQL是一种操作关系型数据库的编程语言,它定义了一套操作关系型数据库统一的标准。
2.RDBMS与NoSQL?
关系型数据库(RDBMS)的概念:关系型数据库,是建立在关系模型的基础上,由多张相互连接的二维表组成的数据库,比如有MySQL,Oracle等等。
特点:
1. 使用表来存储数据,格式统一,便于维护。
2. 使用SQL语句操作,标准统一,使用方便。
3. 数据存储在磁盘中,安全。
非关系型数据库(NoSQL)的概念:Not-Only SQL,泛指非关系型数据库,是对关系型数据库的一种补充。比如有Redis等等。
特点:
1. 数据结构灵活。
2. 伸缩性强。
3.SQL语句的分类?
4.MySQL数据库中的数据类型?
MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。
- 数值类型:常见的有,TINTINT(1个字节), SMALLINT(2个字节), INT(4个字节), BIGINT(8个字节), FLOAT(4个字节), DOUBLE(8个字节)。
- 字符串类型:常见的有,定长字符串CHAR(0~255),变长字符串VARCHAR(0~65535个字节)。
- 日期时间类型:DATE(格式:YYYY-MM-DD),TIME(格式:HH:MM:SS),YEAR(格式:YYYY),DATETIME(格式:YYYY-MM-DD HH:MM:SS)。
值得注意的是,日期时间类型和字符串类型使用的时候要加(单)引号。
5.聚合函数?
1.聚合函数:
将一列数据作为一个整体,进行纵向计算。SQL中提供的聚合函数可以用来统计、求和、求最值等等。值得注意的是,null值不参与所有聚合函数的运算。
2.分类:
COUNT:统计行数量。
SUM:获取单个列的合计值。
AVG:获取某个列的平均值。
MAX:获取列的最大值。
MIN:获取列的最小值。
6.SQL关键字?
重点:
1.分页:
MySQL的分页关键词limit。
SELECT * FROM student LIMIT 2,6; 查询学生表中的数据,从第三条开始显示(注意记录从0开始算),一共显示6条。
2.分组:
MySQL的分组关键字:group by。
SELECT sex, count(*) FROM student GROUP BY sex; 查询学生表中的数据,通过性别分组,展示男女各有多少人。
3.去重:
去重关键字:distinct。
select DISTINCT NAME FROM student; 给查询出来的NAME字段下的记录去重。
7.SQL中where和having的区别?
- HAVING常常和分组查询关键字GROUP BY绑定到一起使用,用来对分组之后的结果进行过滤。而WHERE是在分组之前进行过滤,不满足WHERE条件的,不会参与到分组之中。所以这两者的执行时机不同。
- WHERE不能对聚合函数进行判断,因为WHERE的执行顺序先于聚合函数的执行顺序。但是HAVING可以,因为聚合函数的执行顺序先于HAVING的执行顺序。
8.SQL中SELECT语句完整的执行顺序?
查询中用到的关键词主要包含如下展示,并且他们的顺序依次为
form...on...left join...where...group
by...avg()/sum()...having..select...
order by...asc/desc...limit...
重点解释:
from:表示需要从哪个数据库表中检索数据。
where:表示过滤掉表中数据的条件。
group by:表示如何将上面过滤出的数据分组然后得出结果(分组关键字)。
order by:表示需要按照什么样的顺序来返回数据(默认为ASC自然排序)。
9.MySQL数据库中的函数?
函数:是指一段可以直接被另一段程序调用的程序或代码。函数有着良好的封装性和复用性。
10.MySQL中的约束?
重点:外键用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性。