一、MYSQL存储引擎
存储引擎,就是如何存储数据、如何更新数据、如何查询数据、如何为存储的数据建立索引等一系列技术的实现方法。可以通过 show engines; 语句查看mysql支持的存储引擎。
mysql 常用存储引擎:
- MyISAM:拥有较快的插入和查询速度,但是不支持事务;
- InnoDB:支持ACID事务,指出行级锁,支持外键,MYSQL5.5 版本后的默认存储引擎;
- MRG_MYISAM:将一组结构相同的 MyISAM 表聚合成一个整体,在进行增删该查操作;
- Memory:所有数据存储在内存中,响应快;MySQL 重启时数据会全部丢失;
- Archive:归档,且有压缩机制,适用于历史数据归档;
- CSV:逻辑上由逗号分隔数据,会为每张表创建一个 csv 文件。
二、MYSQL 数据类型
MYSQL 支持多种数据类型,大致可以非为3类:数值、日期时间和字符串(字符)类型。
1.数值类型包括:
- timyint:1 字节 小整数值,一般用于存储状态;
- smallint:2 字节 大整数值;
- mediumint:3 字节 大整数值;
- int:4 字节 大整数值;
- bigint:8 字节 极大整数值;
- float:4 字节 单精度浮点数值;
- double:8 字节 双精度浮点数值;
- decimal:Max(D+,M+) 含小数值,一般用于金额。
2.日期时间类型包括:
- date:3 字节 YYYY-MM-DD;
- time:3 字节 HH:MM:SS;
- year: 1 字节 YYYY;
- datetime: 8 字节 YYYY-MM-DD HH:MM:SS;
- timestamp:8 字节 YYYYMMDDHHMMSS;
3.字符串类型包括:
- char:0-255 字节 定长字段串;
- varchar:0-65536 字节 变长字符串;
- text:0-65535 字节 长文本数据;
- blob:二进制形式的文本数据。
三、创建数据表
DDL中对数据表的操作主要包含三种:创建、修改和删除。创建数据表们需要定义的信息主要包括:表名、字段名、字段类型。
1.MYSQL 建表语法如下:
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] table_name [(create_definition,...)][table_options][select_statement]
2.说明:
- TEMPORARY:创建临时表,在当前会话结束后将自动消失;
- IF NOT EXISTS:在建表前先判断表是否存在,只有该表不存在时才创建;
- create_definition:建表语句的关键部分,用于定义表中各列的属性;
- table_options:表的配置选项,例如:表的默认存储引擎、字符集;
- select_statement:通过select语句建表,例如把多表查询出来的数据存储到新表 中,使用 select 语句可以省去 create_definition 。
四、操作已存在的表:
- 添加字段:ALTER TABLE 表名 ADD 字段名 字段类型;
- 修改字段:ALTER TABLE 表名 MODIFY 字段名 字段类型;
- 删除字段:ALTER TABLE 表名 DROP COLUMN 字段名;
- 删除表:DROP TABLE 表名。