存储引擎
数据在计算机上存储的方式,MySQL常见存储引擎:InnoDB、MyISAM等。
InnoDB的优势在于提供了良好的事务处理、崩溃修复能力和并发控制。缺点是读写效率较差,占用的数据空间相对较大。
MyISAM的优势在于占用空间小,处理速度快。缺点是不支持事务的完整性和并发性。
字符集编码和排序规则
指数据库存储的数据的编码,utf8mb4:支持更多的unicode字符(四字节)。
数据校对:数据库除了要存储数据,还要对数据进行排序,比较等操作,不同的校对规则会有不同的结果。
utf8mb4_unicode_ci:一种排序规则,基于标准的Unicode来排序和比较,能够在各种语言之间精确排序。
bin、_cs:区分大小写
ci:不区分大小写
数据类型
数据存储的类型:
数字类型
INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT, DECIMAL, NUMERIC, FLOAT, DOUBLE
日期时间类型
DATE, DATETIME, TIMESTAMP, TIM, YEAR
字符串类型
CHAR, VARCHAR, BINARY, VARBINARY, BLOB, TEXT, ENUM, SET
主键
表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录,用来保持数据的完整性。
主键的特性:
一个表只能有一个主键
主键可以是一个字段,也可以由多个字段组成
主键值不能重复
可以加快对数据的操作
自增 auto_increment
添加数据的时候由数据库自动设置的值,一般在设计表的时候会设置一个自动增加字段作为主键,比如id字段一般就会设置为自增的。
索引
对表中一列或多列(注意是列)的值进行排序的一种结构,使用索引可以快速访问表中特定的信息,加快对表中记录的查找或排序。
通过命令行操作mysql
创建数据库
create database mysql_demo01 default charset utf8mb4 collate utf8mb4_bin;
创建数据表
CREATE TABLE 数据库表名称 (
字段名称 字段属性...,
PRIMARY KEY (主键字段名称),
INDEX 索引名称(索引字段...)...
) ENGINE=InnoDB DEFAULT CHARSET=utf8
CREATE TABLE user(
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`username` VARCHAR(50) NOT NULL DEFAULT '',
`age` TINYINT UNSIGNED NOT NULL DEFAULT 0,
`gender` ENUM('男', '女') NOT NULL DEFAULT '男',
PRIMARY KEY (`id`),
INDEX uname(`username`),
INDEX age(`age`),
INDEX ge