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的方法来调用函数。
http://www.cnblogs.com/ola2010/