重点!!!
数据类型
1.float 和 double 的区别
float 是四个字节 单精度的
double是八个字节 双精度的
double 比 float 精度高 ,但都不是绝对的
2.char 和 varchar 的区别
char支持的是 0 - 255
varchar 支持的是 0 - 65535
char 是定长字符串 , 是以空间换时间 因为在插入的时候,char不会动态计算分配实际长度
varchar 是变长字符串,是以时间换空间
varchar的性能没有char 好,但更节约空间
3.char(32) 和 varchar(32)括号里面的长度是字节还是字符
MySQL 5.0之前是字节,5.0后是字符,假设字符集是UTF-8,一个中文3个字节那么char(32)只能存储10个中文字符
4.用什么类型存储金额
严禁使用 float 和 double 来存金额
1)用 decimal(定点数)
2)用长整型存储到金额的最小单位
5.超长文本(博客,文章)怎么存储
严禁使用 varchar 来存储超长文本, 应该改用 Blob类型 或者是 Test 类型来存储,并且应该把超长文本的字段从当前表中拆分出去,独立用一张表去存储,然后用主表,防止存在长文本影响
6.二进制文件(图片,音频,视频)怎么存储
用Binary类型可以存二进制数据,但是性能很差
一般解决方法:
把二进制数据存储在文件里面,在数据库里面记录文件的路径
7.MySQL的整型支持无符号,使用关键字UNSIGNED
age tinyint - - age 字段取值范围是-128 到 127
age tinyint unsigned - - age 字段的取值范围是 0 - 255
约束
1.非空约束 NOT NULL
2.检查约束 CHECK (MySQL 不支持)
3.唯一约束 UNIQUE
4.主键约束 PRIMARY KEY
5.外键约束 FORRIGN KEY
SQL 分类-语法整理(DDL | DML | DQL | DCL)
连表查询的方式
关系类型和三范式、反三范式
数据库表关系 :一对一,一对多,多对多
三范式 - 以时间换空间 (增加关系来减少冗余数据)
反(打破)三范式 - 以空间换时间(允许适量的冗余数据,减少关系)
事物四大特性和四种隔离级别
锁的种类
索引
---------------------------------------------------------------------------------------------------------------------------------
了解
存储引擎的区别
InnoDB
Mylsam
Memory
关系型数据库与NoSQL(非关系型)数据库的区别
主流的关系型数据库:MySQL、Oracle
主流的 NoSQL 数据库:Redis
MySQL 和 Redis 的关系不是谁能替代谁, 而是在数据量非常大,数据库并发操作非常频繁的情况下,可以通过 Redis 来搭建缓存服务器分担 MySQL 的压力
视图、存储过程、存储函数、触发器
SQL语句优化、数据库优化的思路
数据库的冷热备份
冷备份 - 停机(关闭数据库服务)后备份 - 此时服务不可用
热备份 - 不停机备份 - 此时服务可用