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

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

import pymysqldb_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

python_操作linux上的mysql相关推荐

  1. shell 登录mysql 然后quit_使用工具Xshell实现在linux上登录mysql和退出mysql的相关操作讲解...

    这两天想着把自己买的服务器和域名使用起来搭建一个个人博客,使用Xshell工具在Linux系统下操作以及一些命令使用上的一些随笔小记吧. 首先在Linux上的mysql的登录和退出 1.查看自己的my ...

  2. 在Linux上安装Mysql 以及 涉及问题

    在Linux上安装Mysql 一:准备工作 1.检查当前系统是否安装过Mysql (1)CentOS6 的环境下 命令:rpm -qa|grep mysql 默认在Linux在安装的时候,自带了mys ...

  3. Linux上安装Mysql

    Linux上安装Mysql Linux上安装Mysql Linux上安装软件常见的几种方式: 使用yum进行安装 修改密码及登录 设置编码 设置开机启动 关闭防火墙 删除mysql 使用tar.xz安 ...

  4. linux mysql帮助文档,在 Linux 上安装 MySQL

    ## 2.5 在 Linux 上安装 MySQL Linux 支持多种不同的 Linux 安装解决方案. We recommend that you use one of the distributi ...

  5. 在Linux上安装MySql

    在Linux上安装Mysql的基本步骤是: 1.安装wget              sudo yum -y install wget 2.使用wget下载rpm包              sud ...

  6. Navicat链接linux上的mysql出现 1577 Cannot proceed because system tables used by Event Scheduler where foun

    之前用navicat链接远程linux上的mysql一直都挺好使的,今天导出数据的时候发现,出现了下图错误. 百度一下解决方法是: (1)windows上的mysql出现1577,方法一百度一大堆,下 ...

  7. red hat linux mysql,Red Hat Linux上的Mysql与JDBC的连接问题

    我正在实现一个需要连接到MYSQL数据库的类....在Windows系统上,我遇到了一些连接问题,这些连接问题是通过更改"绑定地址"将MYSQL配置文件中的参数设置为localho ...

  8. linux上安装mysql,tomcat,jdk

    Linux 上安装 1 安装jdk 检测是否安装了jdk 运行 java –version 若有 需要将其卸载 a)         查看安装哪些jdk rmp –qa |grep java b)   ...

  9. c++ 通过 myodbc连接到 远程linux 上的mysql server

    http://wenku.baidu.com/link?url=-sYO5XFbaG53Ldz-84B6-7OJ7QezriEu_lcphuH96ZV96HkdE-vuhmxsi9JKvdKLj_wy ...

最新文章

  1. Android--应用开发3(Android layout XML属性)
  2. saltstack中salt-key收集的主机名与实际主机名不一致
  3. Eureka Client注册到Eureka Server的秘密
  4. C++ opengl GL_LINE_STRIP的绘制
  5. Hadoop框架:HDFS读写机制与API详解
  6. vue中接受后台传过来的图片文件流blob前端进行展示实现方法
  7. python如何实时查询oracle_python针对Oracle常见查询操作实例分析
  8. Redis Manager 如何查看监控
  9. 当IDENTITY_INSERT设置为OFF时不能向表插入显示值。(源:MSSQLServer,错误码:544)
  10. pdf复制json不全的问题
  11. MDUI的黑暗模式实现和居中问题
  12. 黑域助手连接服务器才能用吗,黑域app怎么使用?进入黑域详细教程[图]
  13. PSV卡套 换卡工具 下载及使用
  14. 苹果手机sim卡无效怎么办_苹果手机存储空间不足怎么办
  15. 程序员非常实用的十个工具网站,值得收藏
  16. arcgis 10.8 for win10安装教程
  17. 学C语言,C++是自学好还是去培训机构?
  18. HTML基础知识整理
  19. [sdx12]sdx12平台QCA6174 使用hostapd WiFi 2.4G强制40MHz频宽不生效问题分析及实现
  20. group by 用法

热门文章

  1. liunx关闭端口命令
  2. 关于echart没有数据显示暂无数据
  3. 命题作文 在一棵IPv4地址树中彻底理解IP路由表的各种查找过程
  4. InChat版,仅仅两个接口实现自己的IM系统(可兼容)
  5. Unity 语音识别 详情版 和 发布过程中遇到的问题
  6. N76E003 PWM之极性控制
  7. 贝叶斯分类器以及Python实现
  8. 40%带宽成本节约!京东云视频云正式支持AV1编码
  9. CAD - 创建块、插入块
  10. 基于微信小程序的校园二手物品交易平台的设计与实现-计算机毕业设计源码+LW文档