理解性记忆MySQL数据库
理解性记忆MySQL数据库
1、什么是数据库?
本质是文件存储系统。可以简单理解为存储数据的仓库。
2、为什么要使用数据库?
方便数据管理。
3、什么是数据库管理系统?
管理数据库的软件,比如mysql。****
4、什么是关系型数据库?
关系型数据库就是由二维表及其之间的联系组成的一个数据组织。比如mysql、oracle。
5、什么是sql?
结构化查询语言(Structured Query Language)。
6、简述mysql的逻辑架构
连接层、服务层、引擎层、存储层。
7、mysql5.5版本以后默认的存储引擎是什么?
InnoDB
8、说说你知道的InnoDB的特点
支持事务安全;底层数据存储格式是B+树。
9、如何跨库查询?
加上库名
10、乱码问题一般是怎么引起的?
编码格式和解码格式不一致。
11、mysql常用数据类型
整型:int;浮点型:float、double;定点型:decimal、bigdecimal;日期时间类型:datetime;字符串类型:char、varchar、text。
12、举例说明char、varchar、text的使用场景
char 一般值固定字符 例如 男和女 varchar 只变量的字符 text就是指定义文本
13、说说decimal(5,2)的含义
最大5位数字,保留两位小数的数字类型
14、说说null的五个特征
①所有得类型的值都可以是null,包括int,float'等数据类型
②空字符串 “ ”,0,false都不等于null
③任何运算符,判断符碰到null,都得null
④NULL的判断只能用 is NULL或者is not NULL
⑤NULL影响查询速度,一半避免使值为NULL
15、自定义表名或字段名和mysql关键字冲突,怎么解决?
给关键字加上撇,1键左边的那个 (别名,尽量使用双引号(“”)
16、举例说明什么是DDL?
数据定义语言,定义不同的数据段,库,表,列,索引等数据对象(create,drop,alter
17、举例说明什么是DML?
数据操作语句,增,删,改,查 insert delete update select
18、举例说明什么是DCL?
数据控制语句 ,控制不同数据段直接的许可和访问级别的语句。这些语句定义了库,表,字段,用户的访问权限和安全级别/主要的语句关键字包括grant、revoke等
19、说说mysql常用的五种约束以及你的理解
主键,外键,唯一键,缺省约束,非空约束
20、如何区分主表和从表?
含有外键的表为从表,与从表外键对应的主键的表为主表
21、什么是索引?
索引是对数据库表中一列或多列的值进行排序的一种结构。**索引是一个有组织良好的数据结构
22、 笛卡尔积
将两(或多)个表的所有行进行组合,连接后的行数为两(或多)个表的乘积数.
23、内连接
有两种,显式的和隐式的,返回连接表中符合连接条件和查询条件的数据行
格式:
隐式:SELECT [cols_list] from 表1,表2 where [condition]
显式:SELECT [cols_list] from 表1 INNER JOIN 表2 ON [关联条件] where [其他筛选条件] SELECT [cols_list] from 表1 CROSS JOIN 表2 ON [关联条件] where [其他筛选条件] SELECT [cols_list] from 表1 JOIN 表2 ON [关联条件] where [其他筛选条件]
24、左外连接
返回左表中的所有行,如果左表中行在右表中没有匹配行,则结果中右表中得到列返回空值
25、右外连接
恰与左连接相反,返回右表中的所有行,如果右表中行在左表中没有匹配行,则结果中左表中的列返回空值
26、自连接
当table1和table2本质上是同一张表,只是用取别名的方式虚拟成两张表以代表不同的意义。然后两个表再进行内连接,外连接等查询