7 . 索引 创建用户和授权 锁和事务
https://www.cnblogs.com/clschao/articles/10049133.html MySQL之索引原理与慢查询优化
昨日内容回顾
一\连表查询
笛卡尔积 select * from dep,emp;
连表操作
inner join
left join
right join
union
二 子查询
select name from emp where dep_id = (select id from dep where name='技术');
pymysql
import pymysql
conn = pymysql.connect(
host='127.0.0.1',
port=3306,
user='root',
password='666',
database='day44',
charset='utf8'
)
cursor = conn.cursor(pymysql.cursors.DictCursor)
sql = 'select * from dep;'
cursor.execute(sql,[参数1,...]) #能够解决sql注入问题
cursor.fetchall()
cursor.fetchmany()
cursor.fetchone()
游标移动
cursor.scroll(3,'absolute') #绝对移动
cursor.scroll(3,'relative') #相对移动
增删改
conn.commit()
今日内容
索引:
普通索引\聚集索引(主键)\唯一索引(unique)
索引操作:
添加主键索引:
创建的时候添加: 添加索引的时候要注意,给字段里面数据大小比较小的字段添加,给字段里面的数据区分度高的字段添加.
聚集索引的添加方式
创建的是添加
Create table t1(
id int primary key,
)
Create table t1(
id int,
primary key(id)
)
表创建完了之后添加
Alter table 表名 add primary key(id)
删除主键索引:
Alter table 表名 drop primary key;
唯一索引:
Create table t1(
int unique,
)
Create table t1(
id int,
unique key uni_name (id)
)
表创建好之后添加唯一索引:
alter table s1 add unique key u_name(id);
删除:
Alter table s1 drop index u_name;
普通索引:
创建:
Create table t1(
Id int,
Index index_name(id)
)
Alter table s1 add index index_name(id);
Create index index_name on s1(id);
删除:
Alter table s1 drop index u_name;
DROP INDEX 索引名 ON 表名字;
联合索引(联合主键\联合唯一\联合普通索引)
Create table t1(
Id int,
name char(10),
Index index_name(id,name)
)
创建用户和授权
https://www.cnblogs.com/clschao/articles/10050473.html
mysqldump
备份:mysqldump -uroot -p -B -d 库名>路径(g:\av\av.sql)
还原:mysql -uroot -p < 路径(g:\av\av.sql)
锁和事务
innodb存储引擎默认是行级锁
myISAM 表锁
select * from xx where xx=xx for update; 排它锁
事务
原子性 一致性 隔离性 持久性
begin; 或者 start transaction;
commit; 提交
rollback; 回滚