一、数据库的好处
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;