ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

[第1天] Python连接Mysql数据库执行语句操作

2022-03-05 04:31:06  阅读:232  来源: 互联网

标签:语句 connector Python Mysql cursor result sql mysql print


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)

 


 

总共用时: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引入的是这个文件而不是模块文件

  

 

标签:语句,connector,Python,Mysql,cursor,result,sql,mysql,print
来源: https://www.cnblogs.com/linxiaoxu/p/15966897.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有