Python操作Mysql實例代碼教程(1/3)

本文章給學習Python的同學介紹在python 中操作Mysql實例代碼教程,最後面還有一個操作類,希望文章對各位會有所幫助。

本文介紹了Python操作MYSQL、執行SQL語句、獲取結果集、遍曆結果集、取得某個字段、獲取表字段名、將圖片插入數據庫、執行事務等各種代碼實例和詳細介紹,代碼居多,是一桌豐盛唯美的代碼大餐。

實例1、取得MYSQL的版本

在windows環境下安裝mysql模塊用于python開發,請見我的另一篇文章:

代碼如下

# -*- coding: UTF-8 -*-

#安裝MYSQL DB for python
import MySQLdb as mdb

con = None

try:
#連接mysql的方法:connect('ip','user','password','dbname')
con = mdb.connect('localhost', 'root',
'root', 'test');

#所有的查詢,都在連接con的一個模塊cursor上面運行的
cur = con.cursor()

#執行一個查詢
cur.execute("SELECT VERSION()")

#取得上個查詢的結果,是單個結果
data = cur.fetchone()
print "Database version : %s " % data
finally:
if con:
#無論如何,連接記得關閉
con.close()執行結果:

Database version : 5.5.25


實例2、創建一個表並且插入數據

主要還是在cursor上面執行execute方法來進行,請見源碼:

代碼如下

# -*- coding: UTF-8 -*-
# 來源于www.crazyant.net總結整理
import MySQLdb as mdb
import sys

#將con設定爲全局連接
con = mdb.connect('localhost', 'root', 'root', 'test');

with con:

#獲取連接的cursor,只有獲取了cursor,我們才能進行各種操作
cur = con.cursor()
#創建一個數據表 writers(id,name)
cur.execute("CREATE TABLE IF NOT EXISTS
Writers(Id INT PRIMARY KEY AUTO_INCREMENT, Name VARCHAR(25))")
#以下插入了5條數據
cur.execute("INSERT INTO Writers(Name) VALUES('Jack London')")
cur.execute("INSERT INTO Writers(Name) VALUES('Honore de Balzac')")
cur.execute("INSERT INTO Writers(Name) VALUES('Lion Feuchtwanger')")
cur.execute("INSERT INTO Writers(Name) VALUES('Emile Zola')")
cur.execute("INSERT INTO Writers(Name) VALUES('Truman Capote')")運行結果(在phpmyadmin中查看,在mysql命令行查看結果是一樣的):

實例3、python使用slect獲取mysql的數據並遍曆

這個恐怕是用的最多的了,請速看代碼:

代碼如下

# -*- coding: UTF-8 -*-
# 來源:www.crazyant.net整理總結
import MySQLdb as mdb
import sys

#連接mysql,獲取連接的對象
con = mdb.connect('localhost', 'root', 'root', 'test');

with con:
#仍然是,第一步要獲取連接的cursor對象,用于執行查詢
cur = con.cursor()
#類似于其他語言的query函數,execute是python中的執行查詢函數
cur.execute("SELECT * FROM Writers")

#使用fetchall函數,將結果集(多維元組)存入rows裏面
rows = cur.fetchall()

#依次遍曆結果集,發現每個元素,就是表中的一條記錄,用一個元組來顯示
for row in rows:
print row運行結果:

(1L, ‘Jack London’)
(2L, ‘Honore de Balzac’)
(3L, ‘Lion Feuchtwanger’)
(4L, ‘Emile Zola’)
(5L, ‘Truman Capote’)

上面的代碼,用來將所有的結果取出,不過列印的時候是每行一個元祖列印,現在我們使用方法,取出其中的單個數據:

代碼如下

# -*- coding: UTF-8 -*-
# 來源:瘋狂的螞蟻的博客www.crazyant.net總結整理

import MySQLdb as mdb
import sys

#獲取mysql的鏈接對象
con = mdb.connect('localhost', 'root', 'root', 'test');

with con:
#獲取執行查詢的對象
cur = con.cursor()

#執行那個查詢,這裏用的是select語句
cur.execute("SELECT * FROM Writers")

#使用cur.rowcount獲取結果集的條數
numrows = int(cur.rowcount)

#循環numrows次,每次取出一行數據
for i in range(numrows):
#每次取出一行,放到row中,這是一個元組(id,name)
row = cur.fetchone()
#直接輸出兩個元素
print row[0], row[1]

運行結果:

1 Jack London
2 Honore de Balzac
3 Lion Feuchtwanger
4 Emile Zola
5 Truman Capote

•numrows = int(cur.rowcount)用于獲取結果集的數目
•row = cur.fetchone()每次取出一行數據,同時記錄集的指針執行下一行

更多相關文章
  • 以下我們來分享一段Python獲取圖片的Base64編碼實例代碼,後面再分享了python如何將圖片轉base64編碼.用Python 獲取圖片的Base64編碼,源代碼如下: 代碼如下 #!/usr/bin/env python# -*- coding: utf-8 -*-'''# base64- ...
  • python 中連接數據庫需要將數據庫主機信息的參數轉爲dict類型才可以,本文我們就來看看一個 python 將string類型轉化成dict類型的方法實例,後面提供代碼下載.我將數據庫連接相關的一些用戶名/密碼/host/port等各種東西作爲一個string保存在了數據庫中,我要用MySQLd ...
  • windows和linux的tcp套接字編程實例代碼
    本文分享windows和linux的tcp套接字編程實例代碼,再補充一下基于Linux的TCP網路編程詳解教程.windows下面的代碼如下面//Server.cpp #include <iostream> #include <windows.h> #define IP &q ...
  • <?// php教程限制用戶60秒後發布評論實例代碼/*create table `test`.`abc` (`id` int( 4 ) not null auto_increment ,`times` int( 4 ) not null default '0',`ip` varchar( 2 ...
  • 調用Jquery的方法$.Ajax(function)實現Ajax,傳遞賬號信息給Web服務,Web服務再調用數據庫操作類查詢數據庫,並返回數據給前台頁面jquery+asp教程.net 檢測賬號是否已被注冊的實例代碼<%@ page language="c#" autoe ...
  • jQuery JSON的省市聯動實例代碼
    jQuery JSON的省市聯動實例代碼原理就是利用ajax來動態載入從mysql數據庫中查詢過來的數據,然後由jquery 遍曆json進行重置select了,下面來看看這個例子布局吧.HTML首先在head中載入jquery庫和cityselect插件.接下來,我們在#city中,放置三個sel ...
  • asp.net防sql注入多種方法與實例代碼應用asp教程.net防sql注入多種方法與實例代碼應用清除Request方法的注入問題 static string[] get_sql_a() { string Sql_
  • //php教程 curl實例 代碼如下 session_write_close();$pageurl = "http://www.111cn.net/index.html"; curl_setopt($ch, cur
一周排行