您的位置:首页 > 编程语言 > Python开发

python——连接MySQL数据库

2013-08-30 11:20 513 查看

python——连接MySQL数据库

都是照着说明文档来的,主要是为了以后忘记了能快一点想起来。

1. 连接

安装MySQL的时候,自动按照了Python的模块,如果没有的话,也可以在官网下载。

看什么都不如看代码来得快:

import mysql.connector
conn=mysql.connector.connect(user='demo',password='123456',host='127.0.0.1',database='demo')
c=conn.cursor()
c.execute('show tables')
c.fetchall()
c.close()
conn.close()


这个代码和Oracle的差不多,看来使用的接口都一样。

2. 执行SQL

import mysql.connector
conn=mysql.connector.connect(user='demo',password='123456',host='127.0.0.1',database='demo')
c=conn.cursor()
c.execute("insert into nice(id,name) values(7,'good')")
c.execute("insert into nice(id,name) values(%s,%s)",(8,'nice'))
conn.commit()
c.close()
conn.close()


这个代码也和Oracle的差不多,看来使用的接口都一样。

不同在于其占位符使用%s,传递变量使用tupe。

3. 执行存储过程

--SQL代码
create procedure multiply(in p1 int,in p2 int,out pr int)
begin
set pr=p1*p2;
end


import mysql.connector
conn=mysql.connector.connect(user='demo',password='123456',host='127.0.0.1',database='demo')
c=conn.cursor()
args=(5,5,0)
r=c.callproc('multiply',args)
c.close()
conn.close()


调用存储过程的代码和Oracle的差不多。

差别在于传递变量使用tupe,对传递的变量不做修改,直接返回修改后的变量。

4. 调用函数

--SQL代码
create function f1(p1 int) returns int
begin
return p1;
end


#Python代码
import mysql.connector
conn=mysql.connector.connect(user='demo',password='123456',host='127.0.0.1',database='demo')
c=conn.cursor()
args=(5,5,0)
c.execute('select f1(%s)',(1,))
c.fetchall()
c.close()
conn.close()


mysql没有直接调用函数的方法,所以就是使用执行SQL的方法来调用函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: