MySQLdb 使用

摘要:MySQLdb 使用

查詢

import MySQLdb                                   #載入模組

db=MySQLdb.Connect('127.0.0.1','root','','test') #連線字串

cursor= db.cursor()                              #取得cursor

cursor.execute('select * from new_table')        #執行查詢語法

results=cursor.fetchall()                        #取得全部資料
 
print '開始讀資料...'
for row in results:
  sn=row[0]
  name=row[1]
  sex=row[2]
  bir=row[3]
  print 'sn:{0} name:{1} sex:{2} bir:{3}'.format(sn,name,sex,bir)
print '讀取完畢...'  

db.close()                                       #關閉資料庫連線

結果:

開始讀資料...
sn:1 name:Tom sex:T bir:2015-07-16 00:00:00
sn:2 name:Jack sex:T bir:2015-07-15 00:00:00
讀取完畢...
 
補充:
Python查詢Mysql使用fetchone() 方法獲取單條數據, 使用fetchall() 方法獲取多條數據。
fetchone(): 該方法獲取下一個查詢結果集。結果集是一個對象
fetchall():接收全部的返回結果行.
rowcount: 這是一個只讀屬性,並返回執行execute()方法後影響的行數。

新增

import MySQLdb                                     #載入模組

  
db=MySQLdb.Connect('127.0.0.1','root','','test') #連線字串
  
cursor= db.cursor()                              #取得cursor
try: 
  cursor.execute("""INSERT INTO `test`.`new_table` (`SN`, `NAME`, `SEX`, `INSERT_TIME`) VALUES ('3', 'Bill', 'T', '2015-08-10');""")        #執行insert語法  
  
  cursor.execute('select * from new_table')        #查詢資料表  
  
  results=cursor.fetchall()                        #取得全部資料
   
  print '開始讀資料...'
  for row in results:
    sn=row[0]
    name=row[1]
    sex=row[2]
    bir=row[3]
    print 'sn:{0} name:{1} sex:{2} bir:{3}'.format(sn,name,sex,bir)
  print '讀取完畢...'  

  db.commit()                                      #Commit 

except:  
  db.rollback()                                    #發生例外 RollBack
  
db.close()                                       #關閉資料庫連線

結果:

開始讀資料...
sn:1 name:Tom sex:T bir:2015-07-16 00:00:00
sn:2 name:Jack sex:T bir:2015-07-15 00:00:00
sn:3 name:Bill sex:T bir:2015-08-10 00:00:00
讀取完畢...
 

修改

結果:

刪除

結果: