一、数据库的好处
1.持久化数据到本地
2.可以实现结构化查询,方便管理
二、数据库相关概念
1、DB:数据库,保存一组有组织的数据的容器
2、DBMS:数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据
3、SQL:结构化查询语言(Structure Query Language):专门用来与数据库通信的语言。
三、数据库存储数据的特点
1、将数据放到表中,表再放到库中
2、一个数据库中可以有多个表,每个表都有一个的名字,用来标识自己。表名具有唯一性。
3、表具有一些特性,这些特性定义了数据在表中如何存储,类似java中 “类”的设计。
4、表由列组成,我们也称为字段。所有表都是由一个或多个列组成的,每一列类似java 中的”属性”
5、表中的数据是按行存储的,每一行类似于java中的“对象”。
四、MySQL的数据类型
类型 说明 取值范围 存储需求
tinyint 非常小的数据 有符值: -2^7 ~ 2^7-1 无符号值:0 ~ 2^8-1 1字节
smallint 较小的数据 有符值: -2^15 ~ 2^15-1 无符号值: 0 ~ 2^16-1 2字节
mediumint 中等大小的数据 有符值: -2^23 ~ 2^23-1 无符号值: 0 ~ 2^24-1 3字节
int 标准整数 有符值: -2^31 ~ 2^31-1 无符号值:0 ~ 2^32-1 4字节
bigint 较大的整数 有符值: -263~263-1无符号值:0~2^64-1 8字节
float 单精度 浮点数±1.1754351e^ -38 4字节
double 双精度浮点数 ±2.2250738585072014e^ -308 8字节
decimal 字符串形式的浮点数 decimal(m,d) m个字节
char[(M)] 固定长字符串,检索快但费空间 0 <= M <= 255 M字符
varchar[(M)] 可变字符串 0 <= M <= 65535 变长度
tinytext 微型文本串 1~2^8–1字节 2^8–1字节
text 文本串 1~2^16–1字节 2^16–1字节
DATE YYYY-MM-DD,日期格式 1000-01-01~ 9999-12-31
TIME Hh:mm:ss ,时间格式 -838:59:59~838:59:59
DATETIME YY-MM-DD hh:mm:ss 1000-01-01 00:00:00 至9999-12-31 23:59:59
TIMESTAMP YYYYMMDDhhmmss格式表示的时间戳 197010101000000 ~2037年的某个时刻
YEAR YYYY格式的年份值 1901~2155
五、SQL的语言分类
DQL(Data Query Language):数据查询语言
select
DML(Data Manipulate Language):数据操作语言
insert 、update、delete
DDL(Data Define Languge):数据定义语言
create、drop、alter
TCL(Transaction Control Language):事务控制语言
commit、rollback
六、外键:给数据加一些限制条件
一般来说,定义的数据范围来自一个表的一个字段(唯一且非空)
要用到的这些数据的表,要和该表建立外键约束条件,那么使用的数据不能超过来源的范围
七、修改字符集编码命令
set character_set_client=utf8mb4;
set character_set_database=utf8mb4;
set character_set_results=utf8mb4;
set character_set_server=utf8mb4;
八、Mysql 存储引擎
1、myisam:快速读取,不支持事务
2、innodb:更注重写,支持事务