数据库部分重点内容回顾

1.什么是聚集索引?

树形结构将数据组织和存储起来,起到加速查询的效果

2.主键索引怎么添加?

(1)聚集索引(主键索引)的添加方式,创建时添加

方式一:

  Create table t1(

    id int primary key,

  )

方式二:

  Create table t1(

    Id int,

    Primary key(id)

  )

 

(2)唯一索引创建时添加:

方式一:

  Create table t1(

    Id int unique,

  )

 方式二:

  Create table t1(

    Id int,

    unique key uni_name (id)

  )

 

(3)表创建完了之后添加:

  Alter table 表名 add primary key(id)

(4)删除主键索引:

  Alter table 表名 drop primary key;

 

普通索引:

(4)创建:

Create table t1(

  Id int,

  Index index_name(id)

)

 

Alter table s1 add index index_name(id);

Create index index_name on s1(id);

 

(5)删除:

Alter table s1 drop index u_name;

DROP INDEX 索引名 ON 表名字;

 

Show create table 表名;

 

3.Sql优化神器explain :

     查看一下sql的预执行效率

4.数据备份

  导出: mysqldump -h ip -P 3306  -u 用户名 -p密码 -B  库名.表名> 路径 库名.sql

  导入 : mysql -u 用户名 -p密码 < 路径 库名.sql

5.

创建用户,指定权限

创建用户:root用户 超级管理员

Use mysql

Create user ‘用户名’@’%’ identified by ‘密码’

 

用户:chao(*.* 代表所有库,所有表)

分配权限:Grant select,insert,update on *.* to ‘chao’@’%’;

 

Revoke all on 库名.表名 from ‘chao’@’%’;

Flush privileges;

 

6.触发器(娜姐:对数据的增删改查之前或者之后,自动触发SQL语句)

Delimiter //

Create trigger t_name before(after) insert(update\delete) on 表名 for each row

Begin

Select * from xx;

 

End //

Delimiter ;

 

7.注意,这个还需要多理解

存储过程:

  Create procedure p1(

    In n1 int,

    Out n2 int,

    Inout n3 int

  )

 

  Begin

  If while

  End

#上边是主要代码 

 

  Set @res = 1;

  Set @res2 = 2

  Call p1(1,@res,@res2);  #调用

  Select @res,@res2;

  Cursor.callproc(‘p1’,(1,2,3))

  Cursor.fetchall()

 

  Sql=’select @_p1_0,@_p1_1,@_p1_2;’

  Cursor.execute(sql)

  Cursor.fetchall()

8.

事务:

  四大特性:原子性\一致性\隔离性\持久性

  Start transaction;

  一堆sql语句

  如果失败了

 

  Declare exit handler for sqlexception(sqlwarning)  #声明退出处理对于sql异常

  begin

  Rollback;

  End

 

  Commit;

9.数据库集群 :

  当网站的访问量比较大的时候,查看自己的信息(存储在数据库里边的数据),但是数据量非常大的访问,首先连接数据库,一个数据库承受的数据比较多,承受不住多开几个数据库,将性能分散,通过算法实现,这个算法写在python程序中.

10.数据库读写分离

   一个数据库专门读操作,一个数据库专门 写操作,写的被分到读的库里.

11.主从复制&&高可用 : 

  别人访问数据库,数据库崩了,公司为了不出现这种情况,需要实时备份数据,(包括增量备份//实时备份//双机备份),binlog(日志文件),主库崩了,客户端都要连接这个主机,备份的数据库要顶上用,高可用就是瞬间替换之前的数据库.

posted @ 2019-01-25 21:15  studybrother  阅读(215)  评论(0编辑  收藏  举报