MySQL_2_正则表达式、自动增长、事务、索引

一、正则表达式

在SQL中使用正则表达式对字段进行筛选,比like性能高,使用关键字regexp即可。

正则表达式

格式:

select 要投影的字段  from 表名 
where 列名 regexp  '正则表达式'

二、自动增长

每个表中允许设置一个整型的、具有主键约束或唯一性约束的字段为自动增长,使用关键字auto_increment即可。

格式:

alter table 表名 modify 列名 int auto_increment

三、事务

MySQL中事务是默认提交的,可以使用start transaction开启一个手动提交的事务。

--关闭事务自动提交,开启一个事务
start transaction;

--执行DML操作

--提交事务
commit;
--回滚
rollback;

四、索引

查询表中所有的索引:

show index from 表名

1、普通索引:

create index 索引名  on 表名(列名(长度))

2、唯一索引:唯一,允许有空值。

create unique index 索引名 on 表名(列名(长度))

3、主键索引:唯一,不允许有空值,自动创建的。

4、组合索引:

  使用多个字段创建索引。

  注意:最左前缀原则。在查询语句中,使用了组合索引的第一个字段,索引才会生效。

create index 索引名 on 表名(字段1(length),字段2(length))

5、全文索引:

  用于查找含有指定关键字的文本字段的数据。

创建:

--默认的全文解析器不支持中文分词
alter table 表名 add fulltext 索引名(列名)
--声明使用ngram解析器,支持中文分词
alter table 表名 add fulltext 索引名(列名) with parser ngram

使用:

--查找目标字段中含有指定字符的行
select * from 表名 
where match(列名) against('指定字符'

 

posted @ 2023-01-11 21:29  在博客做笔记的路人甲  阅读(68)  评论(0编辑  收藏  举报