前言:本文是学习网易微专业的《python全栈工程师》 中的《服务器运维开发工程师》专题的课程笔记,欢迎学习交流。同时感谢老师们的精彩传授!
一、课程目标
- 创建数据表
- 表字段类型
- 删除表与修改表
mysql
图形化管理工具
二、详情解读
2.1.创建数据表
创建数据表时,会涉及到存储引擎的概念。
所谓存储引擎就是将数据按照一定结构存储的方式,从而带来不同的性能选择。
mysql
存储引擎:
引擎 | 特点 | 适合场景 |
---|---|---|
Innodb | mysql默认引擎,支持事务,行锁(大多数情况下) | 经常写入,需要事务的情况 |
Myisam | 早期版本默认引擎,具有占用空间少、查询速度快等特点,但不支持事务,只能锁表 | 经常读,写入少 |
Memory | 内存引擎,不常用 | 需要快速访问的临时数据 |
Mysql
更多存储引擎内容,请参考:几种常用mysql存储引擎的特点和适用场景
2.1.1.字符编码
不同的编码方式占用不同的字节,utf-8
中文占用 3 个字节。如果程序与数据库的编码不一致,可能导致乱码。大多数情况下,网页、程序、数据库都选择utf-8
,以保持一致。
2.1.2.DDL
建表语句
create table tablename(
fieldName_1 fieldType constrains,
fieldName_2 fieldType constrains,
......,
primary key key_field
)
2.2.字段类型
2.2.1.字段类型 - 整数型
字段类型 | 字节长度 | 最小值 | 最大值 |
---|---|---|---|
TINYINT | 1 | 有符号 -128 无符号 0 |
有符号 127 无符号 255 |
SMALLINT | 2 | 有符号 -32768 无符号 -0 |
有符号 32767 无符号 65535 |
MEDIUMINT | 3 | 有符号 -8388608 无符号 0 |
有符号 8388607 无符号 16777215 |
INT | 4 | 有符号 -2147483648 无符号 0 |
有符号 2147483647 无符号 4294967295 |
BIGINT | 8 | 有符号 -9223372036854775808 无符号 0 |
有符号 9223372036854775807 无符号 18443744073709551615 |
字段类型选择原则,请参考:mysql数据库字段类型的选择原则
2.2.2.字段类型 - 小数型
字段类型 | 字节长度 | 说明 |
---|---|---|
FLOAT(M, D) | 4 | 单精度浮点数,M为全部位数,D为小数位 |
DOUBLE(M, D) | 8 | 双精度浮点数,M为全部位数,D为小数位 |
DEC(M, D)/DECIMAL(M, D) | M+2 | M为全部位数,D为小数位 |
为了保证最大可能的可移植性,需要使用近似数值数据值存储的代码应使用FLOAT
或DOUBLE PRECISION
,不规定精度或位数。
更多细节,请参考:mysql中float、double、decimal的区别
2.2.3.字段类型 - 字符串类型
字段类型 | 存储需求 |
---|---|
CHAR(M) | 固定 M 长度, M 在 0 ~ 255 之间,以字符为单位 |
VARCHAR(M) | 可变长度,M 为 0 ~ 65535 之间,以字符为单位, 值的长度 + 1 个字节 |
TEXT | 长度为 0 ~ 65535 字节,值的长度 +2 个字节 |
MEDIUMTEXT | 长度为 0 ~ 167772150 字节, 值的长度 +3 个字节 |
定长: 无