pymysql 操作mysql和数据库同步
2018-01-31 20:59
549 查看
嘻嘻,我又来写博客了~作为一名菜鸟,我非常喜欢写博客,记录下自己的成长,然后也是一些总结
本次学习要点
sql语句练习-procedure对数据进行更新
pycharm添加mysql数据源
pymysql调用过程
pymysql解决数据同步
总结
因为自己写纯种sql语句的次数很少,很陌生于是我就从一开始建表,到修改表,然后建立存储过程,到调用,再次过一遍,多练几次就熟悉了嘛~OK,原生态sql语句,写好了,然后也调用成功了,得到了结果:如下
右上角搜索,database
然后添加自己的mysql,用户,密码等信息
记得在下面把驱动装一下,下面会提示,你没有那个驱动,然后就可以点test connection 测试了
然后发现,pycharm的这个数据源功能真滴强大,并且检索数据不会卡。我之前在VS上用的sql server的时候卡的我。。。还可以在上面各种操作,写sql语句等。蛮好用的
来看看结果:(因为我已经在mysql里面执行过一次,所以这是在其基础上又执行了一次)
(1, ‘zhangsan’, Decimal(‘6063.75’))
(2, ‘lisi’, Decimal(‘5512.50’))
哈哈哈~当时满脸笑嘻嘻,谁知mmp,原始数据库没改!没改啊!没同步啊?这和我之前在别的地方玩的时候不一样啊!
4000
ommit之后, 数据库的数据才会改变。这和mysql里面的设置有关系,然后我就乖乖在最后面加了一句
conn.commit( )
问题解决~
本次学习要点
sql语句练习-procedure对数据进行更新
pycharm添加mysql数据源
pymysql调用过程
pymysql解决数据同步
总结
本次学习要点
sql语句练习-procedure对数据进行更新。
create database laboratory; use laboratory; create table salary( id int, name varchar(50), salary decimal(8,2), primary key (id) ); describe salary; -- 学习一下更改这个表里面column属性的一些信息 反引号!很重要!stackoverflow上讲的!很重要! alter table salary change `name` `name` varchar(50)not null, change `salary` `salary` decimal(8,2)not null; -- 再次查看表名的属性等 describe salary; insert into salary values(1,'zhangsan',5500); insert into salary values(2,'lisi',5000); insert into salary values(3,'wangwu',7000); -- 构建更新过程 -- 给工资低于a的人涨x% delimiter \\ create procedure add_salary( in a decimal(8,2), in b int )comment 'add salary,optionnally below a' begin update salary set salary = salary*(1+b/100) where salary < a; end\\ delimiter ; -- 调用过程 call add_salary(6000,5); select * from salary;
因为自己写纯种sql语句的次数很少,很陌生于是我就从一开始建表,到修改表,然后建立存储过程,到调用,再次过一遍,多练几次就熟悉了嘛~OK,原生态sql语句,写好了,然后也调用成功了,得到了结果:如下
pycharm添加mysql数据源
在pycharm里面写数据的时候,总是出现报错,说数据没绑定,可能搜不到,然后我就在pycharm里面绑定了数据源右上角搜索,database
然后添加自己的mysql,用户,密码等信息
记得在下面把驱动装一下,下面会提示,你没有那个驱动,然后就可以点test connection 测试了
然后发现,pycharm的这个数据源功能真滴强大,并且检索数据不会卡。我之前在VS上用的sql server的时候卡的我。。。还可以在上面各种操作,写sql语句等。蛮好用的
pymysql调用过程
然后兴高采烈地去pycharm上一展身手import pymysql conn = pymysql.connect( host='localhost', user='root', password='lyy1314520', db='laboratory' ) cur = conn.cursor() cur.callproc('add_salary', (6000, 5)) sq1 = ''' select * from salary ''' cur.execute(sq1) result = cur.fetchall() for i in result: print(i) cur.close() conn.close()
来看看结果:(因为我已经在mysql里面执行过一次,所以这是在其基础上又执行了一次)
(1, ‘zhangsan’, Decimal(‘6063.75’))
(2, ‘lisi’, Decimal(‘5512.50’))
哈哈哈~当时满脸笑嘻嘻,谁知mmp,原始数据库没改!没改啊!没同步啊?这和我之前在别的地方玩的时候不一样啊!
pymysql解决数据同步
通过在网上查找, 问题与MySQL的存储引擎对事务的支持有关。 MySQL中有多种类型的存储引擎, 例如: MyISAM, InnoDB等。 MyISAM不支持事务处理, 而InnoDB是事务型数据库, 支持事务。 我的MySQL的默认存储引擎就是InnoDB, 所以对数据库数据的操作会在事先分配的缓存中进行, 只有在c4000
ommit之后, 数据库的数据才会改变。这和mysql里面的设置有关系,然后我就乖乖在最后面加了一句
conn.commit( )
问题解决~
总结
今天的话也没干啥,大概就是解决了几个小问题,然后试了下remarkdown,写了几遍过程,解决了2014 错误码,还有pymysql,事务提交。其实一开始写的时候很生疏。。多写几遍就熟练了,所以动手写很重要!看一遍真的会了吗?答案是tan90,骗自己。路漫漫其修远兮~加油啊~啦啦啦。贼喜欢写博客了。。给自己增加点观众,感觉挺好的。也是个很好的总结过程。都是自己一个字一个字写的,所以收获很大的!!相关文章推荐
- python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作
- mysql5.5.42指定数据库同步操作
- MySQL存储过程跨数据库操作同步数据
- mysql主从数据库同步,漏掉delete操作的问题
- Python 深入浅出 - PyMySQL 操作 MySQL 数据库
- pymysql 连接 Mysql 数据库及 简单的增删改查操作
- python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作
- php操作mysql两个数据库中表的数据同步
- MySQL生产库主从重新同步操作注意事项
- 操作系统、数据库和网络02(mySQL基本操作)
- mysql一:操作数据库
- 未封装的JDBC(MySQL)数据库操作例子
- mysql在cmd命令下执行数据库操作
- 数据库常用命令-mysql(一)-登录,数据库操作,表操作
- Python数据库操作——第一步:windows下搭建mysql环境
- mysql/mariadb 主从复制实现数据库同步
- python3 使用 pymysql操作mysql
- java 操作本地数据库 mysql
- Mysql 创建权限较小的用户(只对特定数据库有操作权限)
- c#下各种数据库操作的封装!(支持ACCESS,SQLSERVER,DB2,ORACLE,MYSQL)(二)