Python操作MySQL資料庫

2021-09-22 08:09:09 字數 2699 閱讀 4185

import pymysql

import xlrd

class

mysqlconnect

(object):

# 魔術方法, 初始化, 建構函式

def__init__

(self, localhost, user, password, database)

:'''

:param localhost: ip

:param user: 使用者名稱

:param password: 密碼

:param port: 埠號

:param database: 資料庫名

:param charset: 編碼格式

'''self.db = pymysql.connect(host=localhost, user=user, password=password,port=

3306

, database=database, charset=

'utf8'

) self.cursor = self.db.cursor(

)# 將要插入的資料寫成元組傳入

defexec_data

(self, sql, data=

none):

# 執行sql語句

self.cursor.execute(sql, data)

# 提交到資料庫執行

self.db.commit(

)# sql拼接時使用repr(),將字串原樣輸出

defexec

(self, sql)

: self.cursor.execute(sql)

# 提交到資料庫執行

self.db.commit(

)# 插入多條資料

definsert_many

(self, sql, datas)

: self.cursor.executemany(sql, datas)

self.db.commit(

)def

select

(self,sql)

: self.cursor.execute(sql)

# 獲取所有記錄列表

results = self.cursor.fetchall(

)for row in results:

print

(row)

# 魔術方法, 析構化 ,析構函式

def__del__

(self)

: self.cursor.close(

) self.db.close(

)if __name__ ==

'__main__'

: mc = mysqlconnect(

'127.0.0.1'

,'root'

,'123456'

,'math'

)# mc.exec('insert into user(username, password) values(%s, %s)' % (repr('張三'), repr('123456')))

# mc.exec_data('update user set username = %s, password = %s where id = 3', ('李四', '123456'))

# mc.exec_data('insert into user(id, username) values(%s, %s)',(3, '馬雲'))

# mc.exec_data('delete from user where id = %d' % 4)

# mc.exec_data('delete from user where 1 = 1 ')

#開啟excel**,一次性將內容insert到資料庫中

workbook = xlrd.open_workbook(r'c:\\users\\liangguiming\\desktop\\1.xlsx'

) sheet = workbook.sheet_by_index(0)

dataarr =

for i in

range(5

):rows = sheet.row_values(i)

#插入多條資料格式

# manydata = [['5', '6'], ['1', '2'], ['3', '4']]

sql =

'insert into user(username, password) values(%s, %s)'

# print(dataarr)

mc.insert_many(sql, dataarr)

mc.select(

'select * from user'

)

2、excel**內容如下:

3、操作完成後,資料庫中資料如下顯示

4、在console中列印的資料如下所示

python操作mysql查詢資料

首先需要連線資料庫,然後才查詢出資料。例如下表名字為 sinauser iduse id use name11 db12 2db233 db3class database def init self self.conn mysqldb.connect 連線資料庫 host 連線你要取出資料庫的ip,...

python操作MySQL資料庫

堅持每天學一點,每天積累一點點,作為自己每天的業餘收穫,這個文章是我在吃飯的期間寫的,利用自己零散的時間學了一下python操作mysql,所以整理一下。我採用的是mysqldb操作的mysql資料庫。先來乙個簡單的例子吧 import mysqldb try conn mysqldb.connec...

Python操作Mysql資料庫

coding utf8 author yangjing import mysqldb 查詢。def select host user root password port 3306,db sql connect mysqldb.connect host host,user user,passwd p...