python與MySQL的互動

2021-09-12 23:16:44 字數 1931 閱讀 4552

要想和mysql資料庫互動,首先需要安裝資料庫驅動模組,python2和python3的資料庫驅動是不同的。

python2中的資料庫模組是mysqldb,可以通過以下命令安裝

sudo apt-get install python-mysql
在檔案中引入模組

import mysqldb
python3中模組名為pymysql,我用pip3安裝的

sudo pip3 install pymysql
windows下的命令是

python -m pip3 install pymysql

然後是一些我碰到的問題:

1.ubuntu下安裝時用了pip,結果安裝到py2.7版本了,在重安一次

2.windows下安裝,因為有多個版本的python,會報錯,解決方法是找乙個版本管理工具,或者直接卸掉不用的版本,或者用pycharm

接下來是我實現的對資料庫模組的封裝

# -*- coding:utf-8 -*-

import pymysql

class mysqlhelper(object):

""""""

def __init__(self, host, user, paw, db):

self.host = host

self.user = user

self.paw = paw

self.db = db

self.result =

def connect(self):

self.conn = pymysql.connect(self.host, self.user, self.paw, self.db)

self.cursor = self.conn.cursor()

def close(self):

self.conn.close()

def execute_sql(self,sql):

try:

self.connect()

self.cursor.execute(sql)

self.conn.commit()

except exception as e:

self.conn.rollback()

print(e)

self.close()

def search_one(self, sql):

try:

self.connect()

self.cursor.execute(sql)

self.result = self.cursor.fetchone()

print(self.result)

except exception as e:

print(e)

self.close()

def search_all(self, sql):

try:

self.connect()

self.cursor.execute(sql)

self.result = self.cursor.fetchall()

for i in self.result:

print(i)

except exception as e:

print(e)

self.close()

if __name__ == '__main__':

# 以下是測試

my_sql = mysqlhelper("位址", "使用者名稱", "密碼", "資料庫名")

sql = """select * from student"""

my_sql.connect()

my_sql.search_all(sql)

print("hahah")

mysql與python的互動

conn connect 引數列表 cursor1 conn.cursor mode表示移動的方式 mode的預設值為relative,表示基於當前行移動到value,value為正則向下移動,value為負則向上移動 mode的值為absolute,表示基於第一條資料的位置,第一條資料位置為零 建...

python與mysql的互動

python 中操作mysql步驟 1.匯入pymsq,from pymysql import 2.建立 和資料庫之間的網路通路 conn connect host localhost port3306,database jing dong user root password mysql char...

mysql與python的互動

mysql是一種關係型資料庫,是為了表示事物與事物之間的關係,本身存於資料庫中的內容意義並不大,所以廣泛應用於程式語言中,python中九含有與mysql互動的模組 pymysql 程式設計對mysql的操作 首先需要引入pymysql模組 import pymysql 連線資料庫 一般需要幾個引數...