mysql.connector写了一个简单的mysql操作类:
生活随笔
收集整理的這篇文章主要介紹了
mysql.connector写了一个简单的mysql操作类:
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
mport pymysql
class MyDB():
def __init__(self, host="127.0.0.1", username="root", password="123456", port=3306, database="aais"):
'''類例化,處理一些連接操作'''
self.host = host
self.username = username
self.password = password
self.database = database
self.port = port
self.cur = None
self.con = None
# connect to mysql
try:
self.con = pymysql.connect(host=self.host, user=self.username, password=self.password,
port=self.port, database=self.database)
self.cur = self.con.cursor()
except:
raise "DataBase connect error,please check the db config."
def close(self):
'''結(jié)束查詢和關(guān)閉連接'''
self.con.close()
def create_table(self, sql_str):
'''創(chuàng)建數(shù)據(jù)表'''
try:
self.cur.execute(sql_str)
except Exception as e:
print(e)
def query_formatrs(self, sql_str):
'''查詢數(shù)據(jù),返回一個列表,里面的每一行是一個字典,帶字段名
cursor 為連接光標
sql_str為查詢語句
'''
try:
self.cur.execute(sql_str)
rows = self.cur.fetchall()
r = []
for x in rows:
r.append(dict(zip(self.cur.column_names, x)))
return r
except:
return False
def query(self, sql_str):
'''查詢數(shù)據(jù)并返回
cursor 為連接光標
sql_str為查詢語句
'''
try:
self.cur.execute(sql_str)
rows = self.cur.fetchall()
return rows
except:
return False
def execute_update_insert(self, sql):
'''
插入或更新記錄 成功返回最后的id
'''
self.cur.execute(sql)
self.con.commit()
return self.cur.lastrowid
if __name__ == "__main__":
mydb = MyDB()
# 創(chuàng)建表
mydb.create_table('create table user (id varchar(20) primary key, name varchar(20))')
# 插入數(shù)據(jù)
mydb.execute_update_insert("insert into user (id, name) values ('1', 'Michael')")
# 查詢數(shù)據(jù)表
mydb_new = MyDB()
results = mydb.query("SELECT * FROM login_user")
print(results)
for row in results:
productname = row[0]
supportname = row[1]
productinterface = row[2]
print("productname=%s,supportname=%s,productinterface=%s" % \
(productname, supportname, productinterface))
list = mydb.query_formatrs("SELECT * FROM login_user")
for i in list:
print("記錄號:%s 值:%s" % (list.index(i) + 1, i))
# 關(guān)閉數(shù)據(jù)庫
mydb.close() ---------------------
作者:HFUT_qianyang
來源:CSDN
原文:https://blog.csdn.net/qy20115549/article/details/82972993
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!
class MyDB():
def __init__(self, host="127.0.0.1", username="root", password="123456", port=3306, database="aais"):
'''類例化,處理一些連接操作'''
self.host = host
self.username = username
self.password = password
self.database = database
self.port = port
self.cur = None
self.con = None
# connect to mysql
try:
self.con = pymysql.connect(host=self.host, user=self.username, password=self.password,
port=self.port, database=self.database)
self.cur = self.con.cursor()
except:
raise "DataBase connect error,please check the db config."
def close(self):
'''結(jié)束查詢和關(guān)閉連接'''
self.con.close()
def create_table(self, sql_str):
'''創(chuàng)建數(shù)據(jù)表'''
try:
self.cur.execute(sql_str)
except Exception as e:
print(e)
def query_formatrs(self, sql_str):
'''查詢數(shù)據(jù),返回一個列表,里面的每一行是一個字典,帶字段名
cursor 為連接光標
sql_str為查詢語句
'''
try:
self.cur.execute(sql_str)
rows = self.cur.fetchall()
r = []
for x in rows:
r.append(dict(zip(self.cur.column_names, x)))
return r
except:
return False
def query(self, sql_str):
'''查詢數(shù)據(jù)并返回
cursor 為連接光標
sql_str為查詢語句
'''
try:
self.cur.execute(sql_str)
rows = self.cur.fetchall()
return rows
except:
return False
def execute_update_insert(self, sql):
'''
插入或更新記錄 成功返回最后的id
'''
self.cur.execute(sql)
self.con.commit()
return self.cur.lastrowid
if __name__ == "__main__":
mydb = MyDB()
# 創(chuàng)建表
mydb.create_table('create table user (id varchar(20) primary key, name varchar(20))')
# 插入數(shù)據(jù)
mydb.execute_update_insert("insert into user (id, name) values ('1', 'Michael')")
# 查詢數(shù)據(jù)表
mydb_new = MyDB()
results = mydb.query("SELECT * FROM login_user")
print(results)
for row in results:
productname = row[0]
supportname = row[1]
productinterface = row[2]
print("productname=%s,supportname=%s,productinterface=%s" % \
(productname, supportname, productinterface))
list = mydb.query_formatrs("SELECT * FROM login_user")
for i in list:
print("記錄號:%s 值:%s" % (list.index(i) + 1, i))
# 關(guān)閉數(shù)據(jù)庫
mydb.close() ---------------------
作者:HFUT_qianyang
來源:CSDN
原文:https://blog.csdn.net/qy20115549/article/details/82972993
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!
轉(zhuǎn)載于:https://www.cnblogs.com/my-python-road/p/10924984.html
總結(jié)
以上是生活随笔為你收集整理的mysql.connector写了一个简单的mysql操作类:的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电动车转把有刷和无刷的区别?
- 下一篇: [转帖]虚拟内存探究 -- 第二篇:Py