没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
1. 为什么要使用数据库
� 数据保存在内存
优点:存取速度快
缺点:数据不能永久保存
� 数据保存在文件
优点:数据永久保存
缺点:1)速度比内存操作慢,频繁的 IO 操作。2)查询数据不方便
� 数据保存在数据库
1)数据永久保存
2)使用 SQL 语句,查询方便效率高。
3)管理数据方便
2. 什么是 SQL?
结构化查询语言(Structured Query Language)简称 SQL,是一种数据库查询语言。
作用:用于存取数据、查询、更新和管理关系数据库系统。
3. 什么是 MySQL?
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,属于 Oracle 旗下
产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL 是
最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应
用软件之一。在 Java 企业级开发中非常常用,因为 MySQL 是开源免费的,并且方便扩
展。
4. 数据库三大范式是什么
第一范式:每个列都不可以再拆分。
第二范式:在第一范式的基础上,非主键列完全依赖于主键,而不能是依赖于主键的一部
分。
第三范式:在第二范式的基础上,非主键列只依赖于主键,不依赖于其他非主键。
在设计数据库结构的时候,要尽量遵守三范式,如果不遵守,必须有足够的理由。比如性
能。事实上我们经常会为了性能而妥协数据库的设计。
5. mysql 有关权限的表都有哪几个
MySQL 服务器通过权限表来控制用户对数据库的访问,权限表存放在 mysql 数据库里,
由 mysql_install_db 脚本初始化。这些权限表分别 user,db,table_priv,
columns_priv 和 host。下面分别介绍一下这些表的结构和内容:
� user 权限表:记录允许连接到服务器的用户帐号信息,里面的权限是全局级的。
� db 权限表:记录各个帐号在各个数据库上的操作权限。
� table_priv 权限表:记录数据表级的操作权限。
� columns_priv 权限表:记录数据列级的操作权限。
� host 权限表:配合 db 权限表对给定主机上数据库级操作权限作更细致的控制。这个权限
表不受 GRANT 和 REVOKE 语句的影响。
6. MySQL 的 binlog 有有几种录入格式?分别有什么区别?
有三种格式,statement,row 和 mixed。
� statement 模式下,每一条会修改数据的 sql 都会记录在 binlog 中。不需要记录每一行的
变化,减少了 binlog 日志量,节约了 IO,提高性能。由于 sql 的执行是有上下文的,因
此在保存的时候需要保存相关的信息,同时还有一些使用了函数之类的语句无法被记录复
制。
� row 级别下,不记录 sql 语句上下文相关信息,仅保存哪条记录被修改。记录单元为每一
行的改动,基本是可以全部记下来但是由于很多操作,会导致大量行的改动(比如 alter
table),因此这种模式的文件保存的信息太多,日志量太大。
� mixed,一种折中的方案,普通操作使用 statement 记录,当无法使用 statement 的时
候使用 row。
此外,新版的 MySQL 中对 row 级别也做了一些优化,当表结构发生变化的时候,会记录
语句而不是逐行记录。
数据类型
mysql 有哪些数据类型
分类
类型名称
说明
� 1、整数类型,包括 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,分别表示 1
字节、2 字节、3 字节、4 字节、8 字节整数。任何整数类型都可以加上 UNSIGNED 属
性,表示数据是无符号的,即非负整数。 长度:整数类型可以被指定长度,例如:
INT(11)表示长度为 11 的 INT 类型。长度在大多数场景是没有意义的,它不会限制值的合
法范围,只会影响显示字符的个数,而且需要和 UNSIGNED ZEROFILL 属性配合使用才
有意义。 例子,假定类型设定为 INT(5),属性为 UNSIGNED ZEROFILL,如果用户插入
的数据为 12 的话,那么数据库实际存储数据为 00012。
� 2、实数类型,包括 FLOAT、DOUBLE、DECIMAL。 DECIMAL 可以用于存储比 BIGINT
还大的整型,能存储精确的小数。 而 FLOAT 和 DOUBLE 是有取值范围的,并支持使用
标准的浮点进行近似计算。 计算时 FLOAT 和 DOUBLE 相比 DECIMAL 效率更高一些,
DECIMAL 你可以理解成是用字符串进行处理。
� 3、字符串类型,包括 VARCHAR、CHAR、TEXT、BLOB VARCHAR 用于存储可变长字
符串,它比定长类型更节省空间。 VARCHAR 使用额外 1 或 2 个字节存储字符串长度。
列长度小于 255 字节时,使用 1 字节表示,否则使用 2 字节表示。 VARCHAR 存储的内
容超出设置的长度时,内容会被截断。 CHAR 是定长的,根据定义的字符串长度分配足够
的空间。 CHAR 会根据需要使用空格进行填充方便比较。 CHAR 适合存储很短的字符
串,或者所有值都接近同一个长度。 CHAR 存储的内容超出设置的长度时,内容同样会被
截断。 使用策略: 对于经常变更的数据来说,CHAR 比 VARCHAR 更好,因为 CHAR
不容易产生碎片。 对于非常短的列,CHAR 比 VARCHAR 在存储空间上更有效率。 使用
时要注意只分配需要的空间,更长的列排序时会消耗更多内存。 尽量避免使用
TEXT/BLOB 类型,查询时会使用临时表,导致严重的性能开销。
� 4、枚举类型(ENUM),把不重复的数据存储为一个预定义的集合。 有时可以使用
ENUM 代替常用的字符串类型。 ENUM 存储非常紧凑,会把列表值压缩到一个或两个字
节。 ENUM 在内部存储时,其实存的是整数。 尽量避免使用数字作为 ENUM 枚举的常
量,因为容易混乱。 排序是按照内部存储的整数
� 5、日期和时间类型,尽量使用 timestamp,空间效率高于 datetime, 用整数保存时间
戳通常不方便处理。 如果需要存储微妙,可以使用 bigint 存储。 看到这里,这道真题是
不是就比较容易回答了。
引擎
剩余85页未读,继续阅读
资源评论
smartsmile2012
- 粉丝: 863
- 资源: 83
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功