Python 连接Mysql数据库执行语句操作
总共用时:2小时(代码在后面)
踩过的几个坑:
mysql 连接:
提示SHA加密错误无法连接
在连接里添加参数 auth_plugin='mysql_native_password'
mysql数据库里执行如下代码
flush privileges;
alter user 'root'@'%' identified with mysql_native_password by 'sql2008';
select host,user,plugin from mysql.user;
运行存储过程:
使用execute方法不能正确运行存储过程
cursor.callproc(procedure, args=())
for result in cursor.stored_results():
print(result.fetchall())
详细见官方api
模块下载:
模块下载速度很慢
pip install mysql-connector -i https://pypi.tuna.tsinghua.edu.cn/simple
# 用清华的镜像下载速度会很快
提示模块找不到:
import mysql.connector 一直报错无法找到模块,无论重装了多少次
刚开始可能是模块没有安装成功,重新安装一下mysql-connector
如果还是不行,看看当前目录下是不是有mysql.py文件,如果有,修改掉这个文件的名字,因为import引入的是这个文件而不是模块文件
main.py 主程序入口
"""
写一个py,功能是连接本地的数据库,同时你可以执行两个操作分别是,执行存储过程,执行单条select语句。第一个操作,执行存储过程,用户输入存储过程的名字,mysql运行并把数据返回,第二个用户输入单条select语句,mysql运行并把数据返回
"""
import sql
def Main():
while 1:
print('选择模式| 1 执行存储过程 | 2 执行SQL语句')
mode = input()
if mode == '1':
print('输入存储过程名字')
procedure = input()
result = sql.MyRunSqlProcedure(procedure)
print('执行结束')
elif mode == '2':
print('输入sql语句')
command = input()
result = sql.Execute(command)
sql.Show(result)
print('执行结束')
else:
break
print('程序退出')
Main()
sql.py 简单封装mysql.connector模块
# pip install mysql-connector -i https://pypi.tuna.tsinghua.edu.cn/simple
# 从清华镜像下载
import mysql.connector
db = mysql.connector.connect(
host="localhost",
user="root",
passwd="sql2008",
database="mysales",
auth_plugin='mysql_native_password'
)
cursor = db.cursor()
def Execute(sql):
cursor.execute(sql)
return cursor.fetchall()
def MyRunSqlProcedure(procedure):
cursor.callproc(procedure, args=())
for result in cursor.stored_results():
print(result.fetchall())
def Show(result):
for x in result:
print(x)
Python 连接Mysql数据库执行语句操作的更多相关文章
- Python连接MySQL数据库执行sql语句时的参数问题
由于工作需要,今天写了一个Python小脚本,其中需要连接MySQL数据库,在执行sql命令时需要传递参数,结果出问题了.在网上查了一下,发现有以下几种方式传递参数: 一.直接把sql查询语句完整写入 ...
- pymysql模块使用---Python连接MySQL数据库
pymysql模块使用---Python连接MySQL数据库 浏览目录 pymysql介绍 连接数据库 execute( ) 之 sql 注入 增删改查操作 进阶用法 一.pymysql介绍 1.介绍 ...
- Python连接MySQL数据库的多种方式
上篇文章分享了windows下载mysql5.7压缩包配置安装mysql 后续可以选择 ①在本地创建一个数据库,使用navicat工具导出远程测试服务器的数据库至本地,用于学习操作,且不影响测试服务器 ...
- python 连接Mysql数据库
1.下载http://dev.mysql.com/downloads/connector/python/ 由于Python安装的是3.4,所以需要下载下面的mysql-connector-python ...
- Python连接MySQL数据库
连接MySQL数据库 源码: import MySQLdb #导入MySQLdb模块 print '连接数据库</br>' #连接MySQL数据库 connect the database ...
- Java连接MySQL数据库及简单操作代码
1.Java连接MySQL数据库 Java连接MySql需要下载JDBC驱动MySQL-connector-java-5.0.5.zip(举例,现有新版本).然后将其解压缩到任一目录.我是解压到D盘, ...
- Python连接MySQL数据库之pymysql模块使用
安装PyMySQL pip install pymysql PyMySQL介绍 PyMySQL是在python3.x版本中用于连接MySQL服务器的一个库,2中则使用mysqldb. Django中也 ...
- python入门(十七)python连接mysql数据库
mysql 数据库:关系型数据库mysql:互联网公司 sqllite:小型数据库,占用资源少,手机里面使用oracle:银行.保险.以前外企.sybase:银行+通信 互联网公司key:valuem ...
- Python学习(二十五)—— Python连接MySql数据库
转载自http://www.cnblogs.com/liwenzhou/p/8032238.html 一.Python3连接MySQL PyMySQL 是在 Python3.x 版本中用于连接 MyS ...
随机推荐
- dotnet 委托的实现解析
缘起 最近被问到什么是.Net中的委托.问题虽然简单却无从回答.只能说委托是托管世界的函数指针,这么说没啥大毛病,但也都是毛病(当时自己也知道这么说不太对,不过自己不太爱用这个也没准备确实没有更好的答 ...
- Arch Linux 安装 Anbox
镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 Anbox 介绍 Anbox 是一个可以在 GNU/Linux 发行版上运行 Android App 的容器,是一个开源兼容层. 其工作原理是在 ...
- 关于alertmanager报No private IP address found, and explicit IP not provided
./alertmanager --config.file=alertmanager.yml level=info ts=2021-11-22T05:53:11.195Z caller=main.go: ...
- 部署 Nginx +uwsgi+centos7+django+supervisor 项目
部署CRM项目 前言 使用软件 nginx 使用nginx是为了它的反向代理功能,项目会通过Django+uWSGI+Nginx进行服务器线上部署. uWSGI python web服务器开发使用WS ...
- python监控cpu 内存实现邮件微信报警
# qianxiao996精心制作 #博客地址:https://blog.csdn.net/qq_36374896 import psutil, time,smtplib,socket import ...
- CVE-2014-3120 (命令执行漏洞)
环境配置 vulhub环境搭建 https://blog.csdn.net/qq_36374896/article/details/84102101 启动docker环境 cd vulhub-mast ...
- SQLMap参数命令
SQLMap参数命令 --method=<http方法> 指定使用的http方法 --data=<post数据> 提交post数据并对post数据进行测试 --param- ...
- 有关电控制图软件EPLAN的安装,下面有破解版本2.7
前段时间刚刚接触这一块,就安装个软件老是出问题,所以我通过自己的努力学会啦,来给正要学习EPLAN的同学发福利啦 15:07:48 安装包发放在百度网盘来自取呀 建议安装我勾选的这个哦 链接:htt ...
- 如何巧妙使用vim处理文件
一系列流程书写如何用vim巧妙处理文件 1. 创建两个待处理的文件 root@ubuntu:/home/watson/real-watson# touch left right 2. 简单增补文件内容 ...
- JSBridge通信原理, 有哪几种实现的方式?
JsBridge给JavaScript提供了调用Native功能,Native也能够操控JavaScript.这样前端部分就可以方便使用地理位置.摄像头以及登录支付等Native能力啦.JSBridg ...