cursors
=
conn
.
cursor
(
cursor
=
None
)
cursor.callproc()
res = cursors.callproc(procname='p1')
print(res)
print(cursors.fetchall())
print(cursors.fetchall())
print(cursors.fetchall())
print(cursors.fetchall())
rows = cursors.callproc(procname='p1', args=[4, 5])
rows = cursors.callproc(procname='p2', args=(4, ))
print(rows)
print(cursors.fetchall())
获取返回结果
cursors.execute(query='select @_p1_0, @_p1_1, @_p1_2;')
- 访问一个不存在的存储过程报错
- 访问一个不存在的参数,那个变量返回None
print(cursors.fetchall())
"""pymysql中使用存储过程
import pymysql
conn = pymysql.connect(
user='root',
password='',
host='localhost',
port=3306,
database='hardy2_db',
charset='utf8mb4'
cursors = conn.cursor(cursor=None)
rows = cursors.callproc(procname='p1', args=[1, 5])
cursors.execute(query='select @_p1_0, @_p1_1, @_p1_2;')
print(cursors.fetchall())
cursors.close()
conn.close()
目录起步存储过程无参调用有参调用示例代码起步#!/usr/bin/python3# -*- coding: utf-8 -*-"""pymysql中使用存储过程"""import pymysqlconn = pymysql.connect( user='root', password='', host='localhost', port=330...
使用Python处理MySQL逻辑时如果把SQL语句直接写在字符串中调用多次运行需要多次编译而且代码维护难度增加,MySQL存储过程将SQL逻辑封装解决这个问题,下面记录一下测试效果。
创建测试存储过程
delimiter $$
DROP PROCEDURE IF EXISTS `add_person`$$
CREATE PROCEDURE `add_person`(IN p_id in...
登陆:mysql -uroot -h127.0.0.1 -P3306 -p
mysql -uroot -p(本机不用写host)
退出mysql:ctrl+z+回车,或者exit
端口号默认是3306,但是可以通过安装目录下的配置文件修改。
使用流程
引用API模块
获取与数据库的连接
执行sql语句与存储过程
关闭数据库连接
安装pymysql
python3 与MySQL 进行交互编程需要安装 pymysql 库,故首先使用如下命令安装pymysql
–>pip ins
import pymysql
db = pymysql.connect(host='rm-******.mysql.rds.aliyuncs.com', port=3306, user='root',
password='******', db='***')
cursor = db.cursor(...
Python可以使用pandas库来读取Excel文件,然后使用MySQLdb或pymysql库将数据导入到MySQL数据库中。具体步骤如下:
1. 安装pandas、MySQLdb或pymysql库。
2. 使用pandas的read_excel函数读取Excel文件,将数据存储到DataFrame对象中。
3. 使用MySQLdb或pymysql库连接MySQL数据库,并创建游标对象。
4. 使用游标对象执行SQL语句,将数据插入到MySQL数据库中。
示例代码如下:
```python
import pandas as pd
import MySQLdb
# 读取Excel文件
df = pd.read_excel('data.xlsx')
# 连接MySQL数据库
conn = MySQLdb.connect(host='localhost', user='root', passwd='password', db='test', charset='utf8')
cursor = conn.cursor()
# 将数据插入到MySQL数据库中
for index, row in df.iterrows():
sql = "INSERT INTO table_name (column1, column2, column3) VALUES ('%s', '%s', '%s')" % (row['column1'], row['column2'], row['column3'])
cursor.execute(sql)
# 提交事务并关闭连接
conn.commit()
cursor.close()
conn.close()
其中,data.xlsx为Excel文件名,table_name为MySQL数据库中的表名,column1、column2、column3为表中的列名。需要根据实际情况修改代码中的参数。