2021.08.15
1. MySQL数据类型和选择
(1)数值
(2)日期/时间
(3)字符串类型
举例:
CREATE TABLE IF NOT EXISTS `runoob_tbl`(
`runoob_id` INT UNSIGNED AUTO_INCREMENT,
`runoob_title` VARCHAR(100) NOT NULL,
`runoob_author` VARCHAR(40) NOT NULL,
`submission_date` DATE,
PRIMARY KEY ( `runoob_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
数据类型选择:
日期:选择按照格式
数值/字符串:按照大小
2.0 数据库的增删改查
insert into 表名 (key1,key2) values('1', '2');
delete from 表名 where 条件;
update 表名 set 字段='1' where 条件;
select * from 表名 where 条件;
2.5 MySQL索引
创建索引时,你需要确保该索引是应用在 SQL 查询语句的条件(一般作为 WHERE 子句的条件)。
索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录。
索引的缺点:虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件。建立索引会占用磁盘空间的索引文件。
2.5.1 Mysql索引类型
主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE。
2.5.2 索引种类
-
普通索引(index):仅加速查询
-
唯一索引(unique):加速查询 + 列值唯一(可以有null)
-
主键索引(primary key):加速查询 + 列值唯一(不可以有null)+ 表中只有一个
-
组合索引:多列值组成一个索引,专门用于组合搜索,其效率大于索引合并
-
全文索引(FULLTEXT):对文本的内容进行分词,进行搜索
--创建普通索引
CREATE INDEX index_name ON table_name(col_name);
--创建唯一索引
CREATE UNIQUE INDEX index_name ON table_name(col_name);
--创建普通组合索引
CREATE INDEX index_name ON table_name(col_name_1,col_name_2);
--创建唯一组合索引
CREATE UNIQUE INDEX index_name ON table_name(col_name_1,col_name_2);
--查看索引
show index from table_name;
补充:
- 索引合并,使用多个单列索引组合搜索
- 覆盖索引,select的数据列只用从索引中就能够取得,不必读取数据行,换句话说查询列要被