数据表
- 数据表是存储数据的数据结构
- 表由行和列组成
- 一定先有表结构再有数据
- 至少有一列,可以没有多行
数据类型
-
字符串
– CHAR(M)定长字符串, M个字节
– VARCHARM(M), L+1个字节
– TINYTEXT
– TEXT
– MEDIUMTEXT
– LONGTEXT
– ENUM(‘VALUE1’, ‘VALUE2’…) 枚举字符串,最多列举65535个值(比如性别男,女,中性), 但是ENUM只能保存一个值
– SET(‘VALUE1’, ‘VALUE2’,…)集合,最多保存64个值,可以保存多个值。 -
浮点数
– FLOAT[(M,D)]M是字数总位数,D是小数点后面的位数
–DOUBLE[(M,D)]
–DECIMAL[(M,D)] -
布尔值: 没有boolean
-
整数: 数字越大字节越大,记不住的时候查手册
– TINYINT
– SMALLINT
– MEDIUMINT
– INT
– BIGINT
– BOOLEAN = TINYINT(1), 0 为false其余为ture -
日期时间类型
– TIME
– DATE
– DATETIME
– TIMESTAMP
– YEAR -
二进制类型:保存图片以及视频的路径
存储引擎
- 定义:
存储引擎就是指表的类型。 数据库的储存类型决定了表在计算机中的存储方式。 - 查看存储引擎:
mysql> SHOW ENGINES\G;
Engine: PERFORMANCE_SCHEMA
Support: YES
Comment: Performance Schema
Transactions: NO
XA: NO
Savepoints: NO
-
support 代表mysql是否支持这个引擎
-
comment: 存储引擎的特点
-
savepoint: 是否支持保存点
-
XA:是否支持分布式的XA规范
-
TRANSCATIONS: 是否支持事物处理
-
只查看支持的存储引擎
mysql> SHOW VARIABLES LIKE 'have%';
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| have_compress | YES |
| have_crypt | NO |
| have_dynamic_loading | YES |
| have_geometry | YES |
| have_openssl | YES |
| have_profiling | YES |
| have_query_cache | YES |
| have_rtree_keys | YES |
| have_ssl | YES |
| have_statement_timeout | YES |
| have_symlink | YES |
+------------------------+-------+
- 查看默认的存储引擎: InnoDB
- 常用的存储引擎
– InnoDB
独显效率低,占用空间大, 但支持事物,有崩溃修复能力及病发控制能力。适用于进行频繁修改的数据。
– MyISAM
支持三种不同的存储格式,默认是静态型,动态型包括变长字段
处理速度快,占用空间小,但是不支持事物。适用于只存储和读取的数据
–MEMORY
数据存放在内存中,速度快。但是服务器需要足够的内存,否则系统内存占用的比较大。 可能会影响到数据额的完整性。 适用于一次性数据,不能建立太大的表
– 注意,同一个数据库中可以用多种引擎。