在编写初期,遇见一个问题,发现怎么连接不上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 怎么连接并查询数据呢?

 import pymysql

 def tes_mysql():
db_config = {
'user': 'root',
'password': 'qwe123',
'db': 'test',
'charset':'utf8'
}
# 连接mysql数据库
con = pymysql.connect(**db_config)
# 创建游标 , 利用游标来执行sql语句
cur = con.cursor() try:
# 执行sql语句,不会返回结果,返回其影响的行数
executes = cur.execute("select * from data_test")
# 获取结果
values = cur.fetchall()
for value in values:
print(value) # 提交到数据库,真正把数据插入或者更新到数据
con.commit()
except Exception as e:
print(e)
# 发生了异常,回滚
con.rollback() finally:
# 在最后使用完关闭游标和连接
# 关闭游标
cur.close()
# 关闭连接
con.close()

再进行个参数化把,

定义 test_base.py

 import pymysql

 def tes_mysql(sql):
db_config = {
'user': 'root',
'password': 'qwe123',
'db': 'test',
'charset':'utf8'
}
# 连接mysql数据库
con = pymysql.connect(**db_config)
# 创建游标 , 利用游标来执行sql语句
cur = con.cursor() try:
# 执行sql语句,不会返回结果,返回其影响的行数
executes = cur.execute(sql)
# 获取结果
values = cur.fetchall()
for value in values:
print(value) # 提交到数据库,真正把数据插入或者更新到数据
con.commit()
except Exception as e:
print(e)
# 发生了异常,回滚
con.rollback() finally:
# 在最后使用完关闭游标和连接
# 关闭游标
cur.close()
# 关闭连接
con.close()

run_select.py

 from day.test_base import tes_mysql

 sql = "select * from data_test"
# 实例化
a = tes_mysql(sql)

运行结果:

简单记录一下。

作者:含笑半步颠√

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

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

python_操作linux上的mysql的更多相关文章

  1. 怎样在 Ubuntu Linux 上安装 MySQL

    本教程教你如何在基于 Ubuntu 的 Linux 发行版上安装 MySQL.对于首次使用的用户,你将会学习到如何验证你的安装和第一次怎样去连接 MySQL. -- Sergiu MySQL 是一个典 ...

  2. sqlyog连接Linux上的mysql报错误号码2013,错误号码1130的解决办法

    sqlyog连接Linux上的mysql报错误号码2013,错误号码1130的解决办法 1.报错误号码2013,可能是端口号不是默认的3306,需要改成对应的,检查命令是: [root@host et ...

  3. Linux上通过MySQL命令访问MySQL数据库时常见问题汇总

    Linux上通过mysql命令访问MySQL数据库时常见问题汇总 1)创建登录账号 #创建用户并授权 #允许本地访问 create user 'test'@'localhost' identified ...

  4. 【数据库开发】在Windows上和Linux上配置MySQL的过程

    [数据库开发]在Windows上和Linux上配置MySQL的过程 标签(空格分隔): [编程开发] 首先是在Windows上尝试用QT进行MySQL数据库开发,结果总出现driver不能load的错 ...

  5. linux上安装 mysql

    一.linux 上安装 mysql 1.查看mysql是否安装 rpm -qa|grep mysql 2.卸载 mysql yum remove mysql mysql-server mysql-li ...

  6. Linux上安装mysql,实现主从复制

    MYSQL(mariadb) MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可.开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的 ...

  7. Linux 上从 MySQL 迁移到 MariaDB 的简单步骤

    大家好!这是一篇介绍如何在服务器或个人电脑上从MySQL迁移到MariaDB的教程.也许你会问为什么我们要将数据库管理从MySQL迁移到MariaDB.往下看我们告诉你为什么这样做.为什么要用Mari ...

  8. linux上安装mysql,tomcat,jdk

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

  9. linux上,mysql使用聚合函数group by 时报错:SELECT list is not in GROUP BY clause and contains nonaggre的问题

    之前在windows上测试是可以正常使用的,但是上传到Linux上后,就报错: Expression # of SELECT list is not in GROUP BY clause and co ...

随机推荐

  1. 机器学习之决策树原理和sklearn实践

    1. 场景描述 时间:早上八点,地点:婚介所 '闺女,我有给你找了个合适的对象,今天要不要见一面?' '多大?' '26岁' '长的帅吗?' '还可以,不算太帅' '工资高吗?' '略高于平均水平' ...

  2. 关于wineQQ8.9.19983deepin23版本提升不能在使用请升级,Linux偷懒升级方法

    安装wineQQ8.9.19983deepin23版本后提示,不在提供服务请升级. 第一步 前往QQ官方下载Windows最先版本QQ https://qd.myapp.com/myapp/qqtea ...

  3. [西软xms]会员卡消费和余额情况表

    select * from vipcard; #过滤卡类型财富卡(CFK)权益卡(QYK)幸福卡(XFK) select id from vipcard where (card_class ='XFK ...

  4. ln -s 使用

    最近开发项目中遇到一个问题,网站上传文件到项目根目录下的upload文件夹,但是每次项目发布都会把upload文件夹删除掉,所以我们需要把upload文件夹放在系统目录下而不是项目根目录下. 访问的时 ...

  5. Shell 逐行读取文件的4中方法

    方法1:while循环中执行效率最高,最常用的方法. function while_read_LINE_bottm(){ While read LINE do echo $LINE done < ...

  6. 使用apt-mirror搭建debian镜像源

    debian官方提供了脚本ftpsync来搭建源镜像,而 apt-mirror 是一个更简单便捷的源镜像搭建工具. 安装 apt-mirror sudo apt-get install apt-mir ...

  7. 【转】目前为止最透彻的的Netty高性能原理和框架架构解析

    转自:https://zhuanlan.zhihu.com/p/48591893 1.引言 Netty 是一个广受欢迎的异步事件驱动的Java开源网络应用程序框架,用于快速开发可维护的高性能协议服务器 ...

  8. CentOS7 增加回环地址

    添加回环地址的命令和说明如下: #添加一个回环地址到lo网卡,添加多个可以改lo:后边的序号 [要添加的地址] netmask 255.255.255.255 broadcast [要添加的地址] # ...

  9. Jav获取文件的MD5码,比较两个文件内容是否相同

    Jav获取文件的MD5码,比较两个文件内容是否相同 代码: System.out.println(DigestUtils.md5Hex(new FileInputStream(new File(&qu ...

  10. python2与python3的区别齐全【整理】

    本文链接:https://blog.csdn.net/pangzhaowen/article/details/80650478 展开 一.核心类差异1. Python3 对 Unicode 字符的原生 ...