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 ...
随机推荐
- redis持久化 RDB与AOF
redis持久化 RDB与AOF RDB与AOF区别 rdb: 基于快照的持久化,速度更快,一般用做备份,主从复制也是依赖于rdb持久化功能 aof:以追加的方式记录redis操作日志的文件,可以最大 ...
- 内网渗透----域环境搭建(server 2008)
域控制器 配置静态IP 安装域服务 点击服务器管理器-添加角色-下一步-添加AD域服务: 安装过后运行安装向导: 下一步后选择"在新林中新建域": 若提示密码不符合要求,则配置密码 ...
- [USACO08OPEN]牛的街区Cow Neighborhoods
题目描述: luogu 题解: 技巧题. 曼哈顿距离:$|x1-x2|+|y1-y2|$ 切比雪夫距离:$\max(|x1-x2|,|y1-y2|)$ 曼哈顿距离转切比雪夫距离:$(x,y)-> ...
- 数据结构 - 顺序表 C++ 实现
顺序表 此处实现的顺序表为**第一个位置为 data[0] **的顺序表 顺序表的定义为 const int MAX = 50; typedef int ElemType; typedef struc ...
- dp:最长非递减序列
#include <iostream.h> void main() { int i,j,a[14]={5,6,-6,-1,9,10,-5,-3,16,4,3,-4,-3,5}; int d ...
- synchronized底层实现原理及锁优化
一.概述 1.synchronized作用 原子性:synchronized保证语句块内操作是原子的 可见性:synchronized保证可见性(通过"在执行unlock之前,必须先把此变量 ...
- vue Cannot read property ‘tapPromise‘ of undefined
https://blog.csdn.net/qq379682421/article/details/111574290 https://github.com/SimenB/add-asset-html ...
- 什么是 YAML?
YAML 是一种人类可读的数据序列化语言.它通常用于配置文件. 与属性文件相比,如果我们想要在配置文件中添加复杂的属性,YAML 文件就更加 结构化,而且更少混淆.可以看出 YAML 具有分层配置数据 ...
- 模糊查询 like 语句该怎么写?
第 1 种:在 Java 代码中添加 sql 通配符. string wildcardname = "%smi%"; list<name> names = mapper ...
- windows本地搭建easy-mock环境
起因:由于easy-mock官网很不稳定,所以想搭建自己本地的mock环境 1.首先安装node.js 环境 (提供地址:https://nodejs.org/en/) 2.下载mongoDB 地址( ...