python_操作linux上的mysql

在编写初期,遇见一个问题,发现怎么连接不上mysql,一直报错1045;

最后发现,只要下面的,连接写正确,不会出现这个问题, 只要你保证你的user、pwd是正确的,

 

import pymysql
db_config = { 'user': 'root', 'password': 'qwe123', 'db': 'test', 'charset':'utf8' } # 连接mysql数据库 con = pymysql.connect(**db_config) # 创建游标 , 利用游标来执行sql语句 cur = con.cursor()

基本连接是没有问题的。

那我在重复下基本操作命令:

1、建立连接:pymysql.connect(**dbconfig)
       连接是不能操作数据库的,需要用连接生成游标来操作
2、创建游标: connection.cursor()
3、执行SQL语句:cursor.execute(sql)
4、获取结果:cur.fetchall()
5、事务的回滚: rollback()
6、事务的提交: commit()

 

这时,咱们在xshell_mysql 新建一些数据

新建表数据:

CREATE TABLE data_test(
                        id INT unique,
                        name VARCHAR(50),
                        age INT,
                        sex enum('','') );

 表内插入数据:

insert into data_test(id, name, age, sex) VALUES(1, '李牧', 18, ''),(2, '栗子', 20, ''),(3, '测试', 26, ''),(4, '尕娃', 30, '');

那么在xshell中查询结果如下:

 

 那么我们在pycharm 怎么连接并查询数据呢?

 1 import pymysql
 2 
 3 def tes_mysql():
 4     db_config = {
 5         'user': 'root',
 6         'password': 'qwe123',
 7         'db': 'test',
 8         'charset':'utf8'
 9     }
10     # 连接mysql数据库
11     con = pymysql.connect(**db_config)
12     # 创建游标 , 利用游标来执行sql语句
13     cur = con.cursor()
14 
15     try:
16         # 执行sql语句,不会返回结果,返回其影响的行数
17         executes = cur.execute("select * from data_test")
18         # 获取结果
19         values = cur.fetchall()
20         for value in values:
21             print(value)
22 
23         # 提交到数据库,真正把数据插入或者更新到数据
24         con.commit()
25     except Exception as e:
26         print(e)
27         # 发生了异常,回滚
28         con.rollback()
29 
30     finally:
31         # 在最后使用完关闭游标和连接
32         # 关闭游标
33         cur.close()
34         # 关闭连接
35         con.close()

 

再进行个参数化把,

定义 test_base.py

 1 import pymysql
 2 
 3 def tes_mysql(sql):
 4     db_config = {
 5         'user': 'root',
 6         'password': 'qwe123',
 7         'db': 'test',
 8         'charset':'utf8'
 9     }
10     # 连接mysql数据库
11     con = pymysql.connect(**db_config)
12     # 创建游标 , 利用游标来执行sql语句
13     cur = con.cursor()
14 
15     try:
16         # 执行sql语句,不会返回结果,返回其影响的行数
17         executes = cur.execute(sql)
18         # 获取结果
19         values = cur.fetchall()
20         for value in values:
21             print(value)
22 
23         # 提交到数据库,真正把数据插入或者更新到数据
24         con.commit()
25     except Exception as e:
26         print(e)
27         # 发生了异常,回滚
28         con.rollback()
29 
30     finally:
31         # 在最后使用完关闭游标和连接
32         # 关闭游标
33         cur.close()
34         # 关闭连接
35         con.close()

run_select.py

1 from day.test_base import tes_mysql
2 
3 sql = "select * from data_test"
4 # 实例化
5 a = tes_mysql(sql)

运行结果:

 

简单记录一下。

 

 

作者:含笑半步颠√

博客链接:https://www.cnblogs.com/lixy-88428977

声明:本文为博主学习感悟总结,水平有限,如果不当,欢迎指正。如果您认为还不错,欢迎转载。转载与引用请注明作者及出处。

转载于:https://www.cnblogs.com/lixy-88428977/p/9581265.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值