愚公移山日记·34
虽然在五一假期,但是自己页感觉到这几天思想有所滑坡,这几天断断续续学了些东西,今天做个总结吧。
数据库三范式
第一范式(1NF):强调的是列的原子,即列不能够再分成其他几列
第二范式(2NF):满足第一范式,另外包含两部分内容,一是表必须有主键,二是非主键必须完全依赖于主键,而不能只依赖于主键的一部分。
第三范式(3NF):满足第二范式,另外非主键必须直接依赖于主键,不能存在传递依赖。即不能存在非主键A依赖于非主键B,非主键列B依赖于主键的情况。
查看索引
show index from 表名
创建索引
creat index 索引名 on 表名(表中的字段名(字段长度))
如果字段是字符串类型,需要指定长度
如果字段不是字符串类型,可以不指定长度
删除索引
drop index 索引名 on 表名
查询
set profilind = 1 命令 开启Quer Profiling
查看索引
show profiles
未开启索引
select * from text_index where title = ‘ha_99999’
开启索引
creat index idx_1 on text_index(title(10));
select * from text_index where title = ‘ha_99999’
优化MySQL可以添加索引,但是索引过多会影响更新和插入的速度。
创建一个用户
create user ‘用户名’@‘主机’ identified by ‘密码’;
授权
grant 权限 on 数据库.表名 to ‘用户名’@‘主机’;
给老王创建一个账号
create user ‘laowang’@‘locahost’ identified by ‘123’;
给老王权限
grant select on jing_dong.* to ‘laowang’@‘locahost’;
刷新权限
flush privileges
给老李创建一个账户
create user ‘laoli’@’%’ indentified by ‘123’;
给老李权限
grant all privileges on jing_dong.* to ‘laoli’@’%’;
查看有哪些权限
show grant for ‘laoli’@’%’;
修改用户权限
grant 权限 on 数据库.表 to ‘用户名’@‘主机’ with grant option;
修改密码
知道密码修改
alter user ‘laoli’@’%’ indentified by ‘新密码’
忘记密码
停止服务,跳过验证模式,设置密码为空
sudo service mysql stop
skip-grant-table
sudo service mysql start
use myqsl
update user set authentication_string = ‘’ where user = ‘root’;
设置正常验证模式,重启服务,用空密码登录,修改新密码
删除用户
drop user ‘laoli’@’%’;