数据库-MySQL

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的数据列只用从索引中就能够取得,不必读取数据行,换句话说查询列要被
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值