在python中連接mysql數據庫,並進行增刪改查


數據庫在開發過程中是最常見的,基本上在服務端的編程過程中都會使用到,mysql是較常見的一種數據庫,這里介紹python如果連接到數據庫中,並對數據庫進行增刪改查。

安裝mysql的python擴展

使用MySQLdb第三方擴展庫連接mysql,首先在python解析器下,查看MySQLdb是否已經安裝,命令如下:

import MySQLdb

如果沒有安裝會出現下面的錯誤:

ImportError: No module named MySQLdb

安裝MySQLdb ,分不同的平台,在windows下,在連接https://pypi.python.org/pypi/MySQL-python/1.2.5 下載MySQL-python-1.2.5.win32-py2.7.exe 進行安裝,安裝的過程跟普通的軟件並沒有什么區別。

centos下使用命令進行安裝:

sudo yum install MySQL-python

安裝完成后,在進行import MySQLdb 就不會再報錯了。

連接mysql,並進行增刪改查

通常在進行數據庫操作時,程序使用的是如下的過程:

  • 連接數據庫,返回連接句柄

  • 使用連接句柄進行SQL語句的操作

  • 關閉數據庫連接

如下的代碼更加能過看清這個過程:

#!/usr/bin/python
#coding=utf-8

"""
start python 項目
"""


import MySQLdb

conn= MySQLdb.connect(
        host='localhost',
        port = 3306,
        user='root',
        passwd='123456',
        db ='test',
        )
cur = conn.cursor()



#執行sql語句
cur.execute("insert into bugingcode values('阿貓學編程')")
conn.commit()

#返回數據
cur.execute("select * from bugingcode")
datacur = cur.fetchall()
print datacur


#關閉連接
cur.close()
conn.close()

MySQLdb中常用函數

  • MySQLdb 連接數據庫:

    1. conn= MySQLdb.connect #連接數據庫
    2. cur = conn.cursor() #返回當前句柄
    3. commit() #提交
    4. rollback() #回滾
  • cursor執行sql語句的方法:

    1. execute(self, query, args): 執行單條sql語句,接收的參數為sql語句本身和使用的參數列表,返回值為受影響的行數

    2. callproc(self, procname, args) :用來執行存儲過程,接收的參數為存儲過程名和參數列表,返回值為受影響的行數

    3. executemany(self, query, args): 執行單挑sql語句,但是重復執行參數列表里的參數,返回值為受影響的行數

    4. nextset(self) 移動到下一個結果集

  • cursor用來接收返回值的方法:

    1. fetchall(self): 接收全部的返回結果行.

    2. fetchmany(self, size=None) :接收size條返回結果行.如果size的值大於返回的結果行的數量,則會返回cursor.arraysize條數據.

    3. fetchone(self): 返回一條結果行.

    4. rowcount 這是一個只讀屬性,並返回執行execute() 方法后影響的行數。

    5. scroll(self, value, mode='relative') :移動指針到某一行; 如果mode='relative',則表示從當前所在行移動value條,如果 mode='absolute',則表示從結果集的第一行移動value條.

  • 關閉連接

關閉當前句柄:

    cur.close()

關閉當前連接:

conn.close()

進一步封裝

MySQLdb 的封裝,在網上有很多封裝類,可以選擇一個或者根據自己的需求,寫一個適合自己的連接庫。

更多教程:大家來編程


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM