Python操做Mysql

首先,安裝須要的環境,Mysql和Python就不說了,必備的東西。

主要是安裝的MySQLdb,能夠去sf.net下載,具體地址是http://sourceforge.net/projects/mysql-python/

若是用Ubuntu,直接
sudo apt-get install python-mysqldb
安裝完成以後能夠在Python解釋器中測試一下
輸入
Python代碼  
import MySQLdb #注意大小寫!!  
若是不報錯,就證實安裝成功了,可能繼續了
MySQLdb在Python中也就至關於JAVA中的MySQL的JDBC Driver,Python也有相似的數據接口規範Python DB API,MySQLdb就是Mysql的實現。操做也比較簡單和其它平臺或語言操做數據庫同樣,就是創建和數據庫系統的鏈接,而後給數據庫輸入SQL,再從數據庫獲取結果。

先寫一個最簡單的,建立一個數據庫:python

#!/usr/bin/env python  
#coding=utf-8  
###################################  
# @author  peng  
# @date 2012-05-17  
##################################  
#MySQLdb 示例  
#  
##################################  
import MySQLdb  
#創建和數據庫系統的鏈接  
conn = MySQLdb.connect(host='localhost', user='root',passwd='longforfreedom')  
#獲取操做遊標  
cursor = conn.cursor()  
#執行SQL,建立一個數據庫.  
cursor.execute("""create database python """)  
#關閉鏈接,釋放資源  
cursor.close();

建立數據庫,建立表,插入數據,插入多條數據mysql

#!/usr/bin/env python  
#coding=utf-8  
###################################  
# @author  peng  
# @date 2012-05-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();

查詢和插入的流程差很少,只是多了一個獲得查詢結果的步驟sql

#!/usr/bin/env python  
#coding=utf-8  
######################################  
#  
# @author  peng  
# @date 2012-05-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()
相關文章
相關標籤/搜索