数据库即数据的仓库,在数据库中提供了专门的管理系统,对数据库中的数据进行集中的控制和管理,能高效的对数据进行存储、检索
关系型数据库
1、什么是关系型数据库
- 关系型数据库是一种以数据库表作为实体,以主键和外键的关联关系作为联系的数据库结构
2、什么是主键,什么是外键?
- 主键:在关系型数据库表中,每条记录的唯一标识,用于区分不同的行和不同的实体
特点:不能为空,不能重复 - 外键:用来表达表和表之间关联关系的列
3、关系型数据库的关系有哪些?
- 一对一 : 一条主表记录对应一条从表记录,同时一条从表记录对应一条主表记录
- 一对多 :一条主表记录对应多条从表记录,同时一条从表记录对应一条主表记录
- 多对多 :一条主表记录对应多条从表记录,同时一条从表记录对应多条主表记录
4、常用的数据库引擎有哪些,各有什么特点
-
InnoDB存储引擎
InnoDB是事务型数据库的首选引擎,提供提交、回滚、崩溃恢复能力的事务安全能力,并可以实现并发控制,InnoDB是默认的MySQL引擎 -
MyISAM存储引擎 拥有较高的插入、查询速度、但不支持事务
-
MEMORY存储引擎 将表中的数据存储到内存中,为查询和引用其他数据提供快速访问,主要用于数据量不大的临时数据
5、如何创建和删除数据库?
- 创建数据库: create database 库名;
删除数据库: drop database 库名;
6、数据库的数据类型有几种?
-
整型 int
-
浮点型 float:单精度浮点型
double:双精度浮点型
decimal(M,D) 可以指定总数M,保留D个小数位 -
字符串型 char(20) :定长字符串,内容不满,空格填充
varchar(20) : 变长字符串,以内容长度作为长度
text 大文本类型 -
日期型 date : b包含年月日
time : 包含时分秒
datetime : 包含年月日时分秒。8字节
timestamp : 包含年月日时分秒。4字节 -
二进制型 blob : 长文本数据
-
枚举型–不是单独的数据类型,定义主要用于该列的值只能在指定范围内选取 enum(‘选项一’,‘选项二’)
7、如何创建和删除数据库表?
- 创建表: create table 表名 ( 列一 类型, 列二 类型 … };
- 删除表 : drop table 表名;
8、书写增、删、改的SQL语句
- 增:1、单条语法:inser into 表名(列一,列二) values(值一,值二);
2、多条语法:语法:inser into 表名(列一,列二) values(值一,值二),(值一,值二),(值一,值二); - 删:语法: delete from 表名 where 条件
- 改:语法: update 表名 set 列一 = 新值一,列二 = 新值二 where 条件
9、如何去除重复记录,如何返回限定行?
- SELECT DISTINCT s_class FROM t_student;
– distinct 去除重复的记录 - – 显示前三个学生信息
SELECT * FROM t_student LIMIT 0,3;
– 第一条从0开始,3表示3条信息
10、如何处理null值?
-
查询为null 不能用 =null !=null
-
is null
SELECT * FROM t_student WHERE s_grade IS NULL; -
is not null
SELECT * FROM t_student WHERE s_grade IS NULL;