数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。
数据库发展阶段
人工管理阶段→文件系统阶段→数据库管理阶段
数据库组成部分:
数据库管理系统,数据库,数据表数据库管理系统
01.数据库管理系统
数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。
02.数据库
主要分为关系型数据库和非关系型数据库。
03.数据表
数据表是由表名、表中的字段和表的记录三个部分组成的。设计数据表结构就是定义数据表文件名,确定数据表包含哪些字段,各字段的字段名、字段类型、及宽度,并将这些数据输入到计算机当中。
04.字段名
字段名是指在以关系模型为数据结构的二维表中每一列的标识。
05.数据
数据表中具体的内容
关系型数据库和非关系型数据库的优缺点
关系型数据库优点:
1、容易理解
2、使用方便
3、易于维护
4、支持SQL,可用于复杂的查询
缺点:
1.读写性能比较差
2.灵活性差
非关系型数据库优点
1、使用键值对存储数据
2、分布式
3、一般不支持ACID特性
4、数据结构化存储方法的集合
缺点:
1、不提供sql支持,学习和使用成本较高
2、无事务处理
3、没有强大的事务关系,没有保证数据的完整性和安全性。
常见的列属性
空属性:NULL(默认)和NOT NULL(不为空)
列描述:comment
默认值:default
主键:primary key
自动增长:auto_increment
唯一键:unique key
数据类型主要有两个作用:
一是指定容器大小(即数据所占的内存大小);二是指定容器内存存放什么类型的数据。
联合查询:
子查询:
子查询是一种常用计算机语言SELECT-SQL语言中嵌套查询下层的程序模块。当一个查询是另一个查询的条件时,称之为子查询。
子查询的输出可以包括一个单独的值(单行子查询)、几行值(多行子查询)、或者多列数据(多列子查询)。
子查询的原则
■子查询必须至少包括一个SELECT子句和FROM子句。
■子查询SELECT语句不能包括在ORDER BY子句中。
■子查询“必须包括在一组括号中”,以便将它与外部查询分开。
■如果将子查询放在外部查询的WHERE或HAVING子句中,那么该子查询只能位于比较运算符的“右边”。