mysql的高级用法_Mysql高级用法

事务

四大特性

原子性:一个事务中必须要被视为是不可分割的一个最小单元,整个事务中的所有操作要么都执行成功,要么都执行失败回滚,对于一个事务,不可能只执行其中的一部分,这就是事务的原子性。

一致性:mysql数据库总是从一个一致性的状态到达另一个一致性的状态。比如在执行转账操作时,转账前两个人的总和的状态和转账后两个人的总和的状态是一致的。

隔离性:对于一个事务来说,在最终提交前,对其他的事务是不可见的。

持久性:一旦提交事务,则其所做的修改会永远的保存到数据库。即使系统崩溃,修改的数据也不会丢失

事务命令

查看表的创建语句,可以看到engine=innodb

use t1

show create table score

开启事务

begin

或者

start transaction

提交事务

commit

回滚事务

rollback

#注意:修改数据的命令会自动的触发事务,比如delete,update,insert

索引

增加删除索引

其实,primary_key就是索引,在新建表结构时规定parmary_key即可。如果要增加索引,那么请看下边:

增加索引

ALTER TABLE `student` ADD IDNEX aaa(`class_id`) #添加普通索引

删除所有

drop index aaa on student

加/不加索引--时间测试

# 往数据库增加100000条数据

from pymysql import connect

def main():

conn=connect(host='localhost',port=3306,user='root',password='',database='t1',use_unicode=True)

cursor=conn.cursor()

for i in range(100000):

cursor.execute("insert into test_index value('ha-%d')"%i)

conn.commit()

if __name__ == '__main__':

main()

# linux下执行操作

use t1

set profiling=1 #开启时间检测

select * from test_index where title='ha-99999'

show profiles; #查询结果为0.28s

create index title_index on test_index(title(10)); #为表test_index的字段title增加索引

select * from test_index where title='ha-99999'

show profiles; #查询结果为0.07s

账户管理

# 增加用户权限

增加一个用户,只可以访问t1表中的 “查”功能

mysql -u root -p #登录root用户

use mysql #mysql中的user表是数据库的权限设置

select host,user from user #查看所有用户的权限

b37ae855939cfdf7a6ea03eeade6ccf5.png

grant select,insert on t1.* to laowang@localhost identified by '123456' #创建laowang用户密码为123456

quit

mysql -u laowang -p #登录laowang用户

123456 #输入密码

select * from class #成功

insert into class(caption) values('九年级三班') #成功

update class set name='三年级二班' where caption=‘三年二班’ #失败

# 删除用户及权限

drop user laowang@localhost #删除laowang这个用户及权限

select host,user from user #查看,没有了老王用户

77513977d8dceb61a12f7b465386195e.png

主从同步

配置主从同步

#配置主从同步步骤:

1.在主服务器上,必须开启二进制日志机制和配置一个独立的ID2.在每一个从服务器上,配置一个唯一的ID,创建一个用来专门复制主服务器数据的账号3.在开始复制进程前,在主服务器上记录二进制文件的位置信息4.如果在开始复制之前,数据库中已经有数据,就必须先创建一个数据快照(可以使用mysqldump导出数据库,或者直接复制数据文件)5.配置从服务器要连接的主服务器的IP地址和登陆授权,二进制日志文件名和位置#简而言之版步骤: #主服务器为ubantu,从为windows

1.备份主服务器数据到从服务器; #首先进行数据库备份,再在从服务器上进行还原数据库

2.给主服务器设置一个id值;3.给从服务器设置id值;4.设置主服务器的日志文件5.设置从服务器从哪里读取日志文件

链接:22世纪人工智能/数据库/课件/Python高级-全部(html版)/19day/主从.html

数据库备份与恢复

备份

mysqldump -uroot -p 数据库名称> python.sql

#按提示输入mysql密码

恢复

连接mysql,创建新的数据库

退出连接,执行如下命令

mysql -uroot -p 新数据库名称 python.sql

#按提示输入mysql密码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值