1.主键索引
主键索引:加速查询 ;不能重复;不能为空 ;primary key
主键索引:
# 第一种:
# create table t1(
# id int auto_increment primary key,
# name varchar(32) not null default ''
# )engine=Innodb charset=utf8;
# 第二种:
# alter table t1 change id id int auto_increment primary key;
2.唯一索引
唯一索引:加快查询;不能重复;unique(列名)
联合唯一索引:加快查询;不能重复;unique(列名,列名)
唯一索引:
# 第一种:
# create table t1(
# id int auto_increment primary key,
# name varchar(32) not null default '',
# unique ix_name ('name')
# )engine=Innodb charset=utf8;
#
# 第二种:
# create unique index 索引名称(ix_name) on 表名(t1)(name);
# create unique index 索引名称(ix_name_age) on 表名(t1)(name,age);
3.普通索引
普通索引:加快查询
普通索引:
#
# 第一种:
# create table t1(
# id int auto_increment primary key,
# name varchar(32) not null default '',
# index ix_name ('name')
# )engine=Innodb charset=utf8;
#
# 第二种:
# create index 索引名称(ix_name) on 表名(t1)(name);
4.删除索引
drop index 索引名称(ix_name) on 表名(t1);
5.索引缺点
版本5.3以下:
# 删除和修改的速度就变慢了
#
# 版本5.5以上:
# 删除和修改的速度不是特别的慢
6.explain
1.作用:查看sql语句是否使用了索引和执行效率
2.使用:explain sql语句 例:explain select * from where id=1\G
7.SQL语句规则
#
# - 不建议使用 like 进行搜索
# - 组合索引最左前缀
# 如果组合索引为:(name,email)
# where name and email -- 使用索引
# where name -- 使用索引
# where email -- 不使用索引
1. show variables like '%query%';
#
# 2. set global long_query_time = 1; 设置慢查询的时间
# 3. slow_query_log = ON
# 4. slow_query_log_file = E:\program\mysql-5.6.44-winx64\data\oldboy-slow.log
show variables like '%general%';
# +------------------+------------------------------------------------+
# | Variable_name | Value |
# +------------------+------------------------------------------------+
# | general_log | ON |
# | general_log_file | E:\program\mysql-5.6.44-winx64\data\oldboy.log |
# +------------------+------------------------------------------------+
# set global general_log = ON;
创建用户
# create user '用户名'@'IP地址' identified by '密码';
# creaee user 'zekai'@'192.168.1.123' identified by '123qwe';
# creaee user 'zekai'@'192.168.1.%' identified by '123qwe';
# create user 'zekai'@'%' identified by '123qwe';
#
# 删除用户
# drop user '用户名'@'IP地址';
# 修改用户
# rename user '用户名'@'IP地址' to '新用户名'@'IP地址';
#
# 修改密码
# set password for '用户名'@'IP地址' = Password('新密码')
#
# 授权:
# grant 权限 on 数据库.表 to '用户'@'IP地址' -- 授权
#
# grant select on db1.* to 'zekai'@'%';
# grant select on *.* to 'zekai'@'%';
# grant select, insert, delete on db1.* to 'zekai'@'%';
#
# 记住:
# flush privileges;
转载于:https://www.cnblogs.com/tfzz/p/11040233.html