logo资料库

数据库重要知识点梳理.pdf

第1页 / 共27页
第2页 / 共27页
第3页 / 共27页
第4页 / 共27页
第5页 / 共27页
第6页 / 共27页
第7页 / 共27页
第8页 / 共27页
资料共27页,剩余部分请下载后查看
22.简述MySQL体系结构的组成,并描述每个组成部分的作用。
50什么是读写分离?
55.MySQL主从复制原理?
56.什么是多实例 ,为什么要使用多实例
在一台物理主机上运行多个数据库服务就叫作多实例。
1.什么是数据库 DB.DataBase 数据库: 依照某种数据模型进行组织并存放到存储器的数据集合 DBMS.DataBase Management System – 数据库管理系统: 用来操纵和管理数据库的大型服务 软件 DBS.DataBase System – 数据库系统: 即 DB+DBMS ,指带有数据库并整合了数据库管理软件的计算机系统 指带有数据库并整合了数据库管理软件的计算机系统 2.主流数据库服务软件有哪些?开源且跨平台的数据库软件有哪些? 主流数据库服务软件有: 甲骨文公司 Oracle IBM DB2 微软 SQL Server 美国 Sybase 公司 Sybase 加州大学伯克利分校计算机系开发的 PostgreSQL 开源且跨平台的数据库软件有: MySQL、PostgreSQL:开源且跨平台 Oracle、DB2:跨平台不开源 SQL Server:不跨平台不开源 Sybase:跨平台不开源 3.MySQL 的特点及应用 主要特点 – 适用于中小规模、关系型数据库系统 – 支持 Linux/Unix 、 Windows 等多种操作系统 – 使用 C 和 C++ 编写,指带有数据库并整合了数据库管理软件的计算机系统 可移植性强 – 通过 API 支持 Python/Java/Perl/PHP 等语言 典型应用环境 – LAMP 平台,指带有数据库并整合了数据库管理软件的计算机系统 与 Apache HTTP Server 组合 – LNMP 平台,指带有数据库并整合了数据库管理软件的计算机系统 与 Nginx 组合 4.mysql 服务相关参数有什么? 文件 说明 /etc/my.cnf 主配置文件 /var/lib/mysql 数据库目录 默认端口号 进程名 传输协议 进程所有者 3306 mysqld TCP mysql
进程所属组 mysql 5.mysql 操作指令和注意事项? 操作指令类型 – MySQL 指令:环境切换、看状态、退出等控制 – SQL 指令:数据库定义 / 查询 / 操纵 / 授权语句 基本注意事项 – 操作指令不区分大小写(密码、变量值除外) – 每条 SQL 指令以 ; 结束或分隔 – 不支持 Tab 键自动补齐 – \c 可废弃当前编写错的操作指令 6.库管理命令都有什么? // 显示已有的库 // 切换库 – Show databases; – Use 库名 ; – Select database(); // 显示当前所在的库 – Create database 库名 ; // 创建新库 – Show tables; // 显示已有的表 – Drop database 库名; // 删除库 7.常见的信息种类 • 数值型:体重、身高、成绩、工资 • 字符型:姓名、工作单位、通信住址 • 枚举型:兴趣爱好、性别 • 日期时间型:出生日期、注册时间 8.(数值型)关于整数型字段 – 使用 UNSIGNED 修饰时,指带有数据库并整合了数据库管理软件的计算机系统 对应的字段只保存正数 – 数值不够指定宽度时,指带有数据库并整合了数据库管理软件的计算机系统 在左边填空格补位 – 宽度仅是显示宽度,指带有数据库并整合了数据库管理软件的计算机系统 存数值的大小由类型决定 – 使用关键字 ZEROFILL 时,指带有数据库并整合了数据库管理软件的计算机系统 填 0 代替空格补位 – 数值超出范围时,指带有数据库并整合了数据库管理软件的计算机系统 报错。 9.(数值型)关于浮点型字段 – 定义格式: float( 总宽度 , 小数位数 ) – 当字段值与类型不匹配时,指带有数据库并整合了数据库管理软件的计算机系统 字段值作为 0 处理 – 数值超出范围时,指带有数据库并整合了数据库管理软件的计算机系统 仅保存最大 / 最小值 10.字符类型 定长: • char( 字符数 ) – 最大长度 255 字符 – 不够指定字符数时在右边用空格补齐 – 字符数断超出时,指带有数据库并整合了数据库管理软件的计算机系统 无法写入数据。 • 变长: varchar( 字符数 ) – 按数据实际大小分配存储空间
– 字符数断超出时,指带有数据库并整合了数据库管理软件的计算机系统 无法写入数据。 大文本类型: • – 字符数大于 65535 存储时使用 text/blob 11.日期时间类型 日期时间,指带有数据库并整合了数据库管理软件的计算机系统 • DATETIME – 占用 8 个字节 – 范围: 1000-01-01 00:00:00.000000 ~ 9999-12-31 23:59:59.999999 • 日期时间,指带有数据库并整合了数据库管理软件的计算机系统 TIMESTAMP – 占用 4 个字节 – 范围: 1970-01-01 00:00:00.000000 ~ 2038-01-19 03:14:07.999999 日期,指带有数据库并整合了数据库管理软件的计算机系统 • DATE – 占用 4 个字节 – 范围: 0001-01-01 ~ 9999-12-31 • 年份,指带有数据库并整合了数据库管理软件的计算机系统 YEAR – 占用 1 个字节 – 范围: 1901~2155 • 时间,指带有数据库并整合了数据库管理软件的计算机系统 TIME – 占用 3 个字节 – 格式: HH:MM:SS 12.时间函数 类型 now() year() sleep(N) curdate() curtime() month() date() time() 用途 获取系统当前日期和时间 执行时动态获得系统日期时间 休眠 N 秒 获取当前的系统日期 获取当前的系统时刻 获取指定时间中的月份 获取指定时间中的日期 获取指定时间中的时刻 13.枚举类型 从给定值集合中选择单个值,指带有数据库并整合了数据库管理软件的计算机系统 • ENUM – 定义格式: enum( 值 1, 值 2, 值 N) 从给定值集合中选择一个或多个值,指带有数据库并整合了数据库管理软件的计算机系统 • – 定义格式: set( 值 1, 值 2, 值 N) SET 14 约束条件 • Null 允许为空,指带有数据库并整合了数据库管理软件的计算机系统 默认设置 • NOT NULL 不允许为空 • Key 索引类型 • Default 设置默认值,指带有数据库并整合了数据库管理软件的计算机系统 缺省为 NULL
15 修改表结构的基本用法 – ALTER TABLE 表名 执行动作 ; Add 添加字段 Modify 修改字段类型 Change 修改字段名 Drop 删除字段 Rename 修改表名 16.索引是什么? – 索引是对记录集的多个字段进行排序的方法。 – 类似于书的目录 – 索引类型包括 :Btree 、 B+tree 、 hash 17.索引优缺点? 索引优点 • – 通过创建唯一性索引,指带有数据库并整合了数据库管理软件的计算机系统 可以保证数据库表中每一行数 据的唯一性 – 可以加快数据的检索速度 • 索引缺点 – 当对表中的数据进行增加、删除和修改的时候,指带有数据库并整合了数据库管理软件的计算机系统 索引 也要动态的维护,指带有数据库并整合了数据库管理软件的计算机系统 降低 了数据的维护速度 – 索引需要占物理空间 18.键值类型有几种,指带有数据库并整合了数据库管理软件的计算机系统 分别是什么? • INDEX :普通索引 • UNIQUE :唯一索引 • FULLTEXT :全文索引 • PRIMARY KEY :主键 • FOREIGN KEY :外键 19.INDEX 普通索引说明? – 一个表中可以有多个 INDEX 字段 – 字段的值允许有重复,指带有数据库并整合了数据库管理软件的计算机系统 切可以赋 NULL 值 – 经常把做查询条件的字段设置为 INDEX 字段 – INDEX 字段的 KEY 标志是 MUL 20.primary key 主键注意事项 – 一个表中只能有一个 primary key 字段 – 对应的字段值不允许有重复,指带有数据库并整合了数据库管理软件的计算机系统 且不允许赋 NULL 值 – 如果有多个字段都作为 PRIMARY KEY ,指带有数据库并整合了数据库管理软件的计算机系统 称为复合主 键,指带有数据库并整合了数据库管理软件的计算机系统 必须一起创建。 – 主键字段的 KEY 标志是 PRI – 通常与 AUTO_INCREMENT 连用 – 经常把表中能够唯一标识记录的字段设置为主键字段 21.foreign key 外键 什么是外键? – 让当前表字段的值在另一个表中字段值的范围内选择 。 • 使用外键的条件
– 表的存储引擎必须是 innodb – 字段类型要一致 – 被参照字段必须要是索引类型的一种 (primary key) 22.简述 MySQL 体系结构的组成,指带有数据库并整合了数据库管理软件的计算机系统 并描述每个组成部分的作用。 主要包括 8 个部分: 连接池:进程数限制、内存检查、缓存检查等。 SQL 接口:用户通过 sql 客户端发过来的命令,由 sql 接口接收,sql 操作(DML 数 据操作语言:查询、修改、升级数据等;DDL 数据定义语言:创建一个新的数据库、新 的索引、删除一个用户等;存储过程、视图触发器。 分析器: 分析查询语句 事务处理 对象访问权限。 优化器: 优化访问路径 、 生成执行树。 缓存和缓冲:保存 sql 查询结果。 存储引擎:用于管理存储的文件系统,将逻辑结构转换为物理结构的程序;不同 的存储引擎有不同的功能和存储方式。 管理工具:备份,恢复,安全,移植,集群等,这些工具一般和文件系统打交 道,不需要和 mysql-server 打交道,它们对应的都是命令。 物理存储设备(文件系统)。 23.MySQL 存储引擎 作为可插拔式的组件提供 • – MySQL 服务软件自带的功能程序,指带有数据库并整合了数据库管理软件的计算机系统 处理表的处理器 – 不同的存储引擎有不同的功能和数据存储方式 • 默认的存储引擎 – MySQL 5.0/5.1 ---> MyISAM – MySQL 5.5/5.6 ---> InnoDB 24.Myisam 存储引擎的主要特点 – 支持表级锁 – 不支持事务、事务回滚、外键 • 相关的表文件 – 表名 .frm 、 – 表名 .MYI – 表名 .MYD 25.InnoDB 存储引擎主要特点 – 支持行级锁定 – 支持事务、事务回滚、支持外键 • 相关的表文件 – xxx.frm 、 xxx.ibd – ibdata1 – ib_logfile0 – ib_logfile1 26.MySQL 锁机制 锁粒度 • – 表级锁:一次直接对整张表进行加锁。 – 行级锁:只锁定某一行。
– 页级锁:对整个页面( MySQL 管理数据的基本存储单 位)进行加锁。 • 锁类型 – 读锁(共享锁):支持并发读。 – 写锁(互斥锁、排它锁):是独占锁,指带有数据库并整合了数据库管理软件的计算机系统 上锁期间其他 线程不能读表或写表。 27.数据库事务的事务特性 (ACID) • Atomic :原子性 – 事务的整个操作是一个整体,指带有数据库并整合了数据库管理软件的计算机系统 不可分割,指带有数据库并整合了数据库管理软件的计算机系统 要么全部成 功,指带有数据库并整合了数据库管理软件的计算机系统 要么全部失败。 • Consistency : 一致性 – 事务操作的前后,指带有数据库并整合了数据库管理软件的计算机系统 表中的记录没有变化。 • Isolation :隔离性 – 事务操作是相互隔离不受影响的。 • Durability :持久性 – 数据一旦提交,指带有数据库并整合了数据库管理软件的计算机系统 不可改变,指带有数据库并整合了数据库管理软件的计算机系统 永久改变表数据 28.数据导入基本用法和注意事项 基本用法 • – LOAD DATA INFILE “ 目录名 / 文件名” INTO TABLE 表名 FIELDS TERMINATED BY “ 分隔符” LINES TERMINATED BY “\n”; 注意事项 • – 字段分隔符要与文件内的一致 – 指定导入文件的绝对路径 – 导入数据的表字段类型要与文件字段匹配 – 禁用 SElinux 29.数据导出基本用法和注意事项 – SELECT 查询 .. .. INTO OUTFILE “ 目录名 / 文件名” FIELDS TERMINATED BY “ 分隔符” LINES TERMINATED BY “\n”; 注意事项 • – 导出的内容由 SQL 查询语句决定 – 禁用 SElinux 30.增加表记录的格式 格式 1 : 给所有字段赋值 – INSERT INTO 表名 VALUES ( 字段 1 值,指带有数据库并整合了数据库管理软件的计算机系统 .. .. ,指带有数据库并整合了数据库管理软件的计算机系统 字段 N 值 ) ,指带有数据库并整合了数据库管理软件的计算机系统 ( 字段 1 值,指带有数据库并整合了数据库管理软件的计算机系统 .. .. ,指带有数据库并整合了数据库管理软件的计算机系统 字段 N 值 ) ,指带有数据库并整合了数据库管理软件的计算机系统 ( 字段 1 值,指带有数据库并整合了数据库管理软件的计算机系统 .. .. ,指带有数据库并整合了数据库管理软件的计算机系统 字段 N 值 ) ,指带有数据库并整合了数据库管理软件的计算机系统 … … ; 格式 2 给指定字段赋值 – INSERT INTO 表名 ( 字段 1,.. .., 字段 N) VALUES
( 字段 1 值,指带有数据库并整合了数据库管理软件的计算机系统 字段 2 值,指带有数据库并整合了数据库管理软件的计算机系统 字段 N 值 ) ,指带有数据库并整合了数据库管理软件的计算机系统 ( 字段 1 值,指带有数据库并整合了数据库管理软件的计算机系统 字段 2 值,指带有数据库并整合了数据库管理软件的计算机系统 字段 N 值 ) ,指带有数据库并整合了数据库管理软件的计算机系统 ( 字段 1 值,指带有数据库并整合了数据库管理软件的计算机系统 字段 2 值,指带有数据库并整合了数据库管理软件的计算机系统 字段 N 值 ) ,指带有数据库并整合了数据库管理软件的计算机系统 .. .. ; 注意事项 字段值要与字段类型相匹配 对于字符类型的字段,指带有数据库并整合了数据库管理软件的计算机系统 要用双或单引号括起来 依次给所有字段赋值时,指带有数据库并整合了数据库管理软件的计算机系统 字段名可以省略 只给一部分字段赋值时,指带有数据库并整合了数据库管理软件的计算机系统 必须明确写出对应的字段名称 31.查询表记录 语法格式 格式 • 1 ELECT 字段 1, .. .., 字段 N FROM 表名 ; • 格式 2 SELECT 字段 1, .. .., 字段 N FROM 表名 WHERE 条件表达式 ; • 注意事项 使用 * 可匹配所有字段 指定表名时,指带有数据库并整合了数据库管理软件的计算机系统 可采用 库名 . 表名 的形式 32.更新表记录 语法格式 格式 • 更新表内的所有记录 – UPDATE 表名 SET 字段 1= 字段 1 值 , 字段 2= 字段 2 值 , 字段 N= 字段 N 值 ; 1 ,指带有数据库并整合了数据库管理软件的计算机系统 格式 2 ,指带有数据库并整合了数据库管理软件的计算机系统 只更新符合条件的部分记录 – UPDATE 表名 SET 字段 1= 字段 1 值 , 字段 2= 字段 2 值 , 字段 N= 字段 N 值 ; WHERE 条件表达式 ; • 注意事项 字段值要与字段类型相匹配 对于字符类型的字段,指带有数据库并整合了数据库管理软件的计算机系统 要用双或单引号括起来 若不使用 WHERE 限定条件,指带有数据库并整合了数据库管理软件的计算机系统 会更新所有记录 限定条件时,指带有数据库并整合了数据库管理软件的计算机系统 只更新匹配条件的记录 34.删除表记录 格式 • 仅删除符合条件的记录 – DELETE FROM 表名 WHERE 条件表达式 ; 1 ,指带有数据库并整合了数据库管理软件的计算机系统
格式 • – DELETE FROM 表名 ; 2, 删除所有的表记录 35.基本查询条件 数值比较 = 等于 > 、 >= 大于、大于或等于 < 、 <= 小于、小于或等于 != 不等于 字符比较 = 相等 != 不相等 IS NULL 匹配空 IS NOT NULL 非空 逻辑比较 多个判断条件时使用 • OR 逻辑或 AND 逻辑与 ! 逻辑非 ( ) 提高优先级 范围内匹配 / 去重显示 匹配范围内的任意一个值即可 • In ( 值列表 ) 在…里… Not in ( 值列表 ) 不在…里… Between 数字 1 and 数字 2 在…之间… DISTINCT 字段名 去重显示 36.聚集函数都有哪些? • MySQL 内置数据统计函数 – avg( 字段名 ) : 求平均值 – sum( 字段名 ) :求和 – min( 字段名 ) : 统计最小值 – max( 字段名 ) :统计最大值 – count( 字段名 ) :统计个数 37.常见的 MySQL 管理工具有哪些? mysql 命令行 跨平台 MySQL 官方 bundle 包自 带 MySQL-Workbench 图形 跨平台 MySQL 官方提供 MySQL-Front 图形 Windows 开源,指带有数据库并整合了数据库管理软件的计算机系统 轻量级客户端软件 phpMyAdmin 浏览器 跨平台 开源,指带有数据库并整合了数据库管理软件的计算机系统 需 LAMP 平台 Navicat 图形 Windows 专业、功能强大,指带有数据库并整合了数据库管理软件的计算机系统 商业版 38.安装 PhpMyAdmin 基本思路是什么? 1. 安装 httpd 、 mysql 、 php-mysql 及相关包 2. 启动 httpd 服务程序
分享到:
收藏