Python操作Mysql的几个实例代码

发布时间:2020-08-23编辑:脚本学堂
分享几个python操作mysql的实例代码,学习下python编程中操作mysql数据库的方法,有需要的朋友参考下吧。

本节内容:
python操作mysql/ target=_blank class=infotextkey>mysql数据库的例子。

首先,安装需要的环境,Mysql和Python。

接下来需要安装MySQLdb,可以去sf.net下载:http://sourceforge.net/projects/mysql-python/

ubuntu系统中,可以直接安装:
 

复制代码 代码示例:
sudo apt-get install python-mysqldb

安装完成后,在python测试器中进行测试:
import MySQLdb #注意大小写!! 
不报错说明安装成功。

接下来,就使用MySQLdb来操作Mysql,分享几个例子,供大家参考。

创建一个数据库:
 

复制代码 代码示例:

#!/usr/bin/env python 
#coding=utf-8 
################################### 
# @author migle 
# @date 2010-01-17 
################################## 
#MySQLdb 示例 
# www.jb200.com
################################## 
import MySQLdb 
 
#建立和数据库系统的连接 
conn = MySQLdb.connect(host='localhost', user='root',passwd='longforfreedom') 
 
#获取操作游标 
cursor = conn.cursor() 
#执行SQL,创建一个数据库. 
cursor.execute("""create database python """) 
 
#关闭连接,释放资源 
cursor.close(); 
 
创建数据库,创建表,插入数据,插入多条数据:
#!/usr/bin/env python 
#coding=utf-8 
################################### 
# @author migle 
# @date 2010-01-17 
################################## 
#MySQLdb 示例 

################################## 
import MySQLdb 
 
#建立和数据库系统的连接 
conn = MySQLdb.connect(host='localhost', user='root',passwd='longforfreedom') 
 
#获取操作游标 
cursor = conn.cursor() 
#执行SQL,创建一个数据库. 
cursor.execute("""create database if not exists python""") 
 
#选择数据库 
conn.select_db('python'); 
#执行SQL,创建一个数据表. 
cursor.execute("""create table test(id int, info varchar(100)) """) 
 
value = [1,"inserted ?"]; 
 
#插入一条记录 
cursor.execute("insert into test values(%s,%s)",value); 
values=[] 

#生成插入参数值 
for i in range(20): 
    values.append((i,'Hello mysqldb, I am recoder ' + str(i))) 
#插入多条记录 
 
cursor.executemany("""insert into test values(%s,%s) """,values); 
 
#关闭连接,释放资源 
cursor.close(); 

查询和插入的流程差不多,只是多了一个得到查询结果的步骤。
例子:
 

复制代码 代码示例:
#!/usr/bin/env python 
#coding=utf-8 
###################################### 

# @author migle 
# @date 2010-01-17 

###################################### 

# MySQLdb 查询 

####################################### 
 
import MySQLdb 
 
conn = MySQLdb.connect(host='localhost', user='root', passwd='longforfreedom',db='python') 
cursor = conn.cursor() 
count = cursor.execute('select * from test') 
 
print '总共有 %s 条记录',count 
 
#获取一条记录,每条记录做为一个元组返回 
print "只获取一条记录:" 
result = cursor.fetchone(); 
print result 
#print 'ID: %s   info: %s' % (result[0],result[1]) 
print 'ID: %s   info: %s' % result  
 
#获取5条记录,注意由于之前执行有了fetchone(),所以游标已经指到第二条记录了,也就是从第二条开始的所有记录 
print "只获取5条记录:" 
results = cursor.fetchmany(5) 
for r in results: 
    print r 
 
print "获取所有结果:" 
#重置游标位置,0,为偏移量,mode=absolute | relative,默认为relative, 
cursor.scroll(0,mode='absolute') 
#获取所有结果 
results = cursor.fetchall() 
for r in results: 
    print r 
conn.close()