1. 程式人生 > >mysql-connector-python 學習筆記

mysql-connector-python 學習筆記

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

########## prepare ##########
# install mysql-connector-python:
# pip install mysql-connector-python

import mysql.connector

class DBMysql():
"""mysql資料庫相關操作"""
def __init__(self,ip="127.0.0.1",port = "3306",user="root", password="123456", database="test"):
self.ip = ip
self.port = port
self.user = user
self.pwd = password
self.db = database

def createOperate(self,createSql):
"""建立資料庫table"""
conn = mysql.connector.connect(user=self.user, password=self.pwd, database=self.db)
cursor = conn.cursor()
try:
# 建立user表:
cursor.execute(createSql)
# 提交事務:
conn.commit()
except:
print("建立表異常")
pass
finally:
# 關閉Cursor和Connection:
cursor.close()
conn.close()

def insertOperate(self,insertSql):
"""插入資料庫操作"""
conn = mysql.connector.connect(user=self.user, password=self.pwd, database=self.db)
cursor = conn.cursor()
try:
# 插入一行記錄,注意MySQL的佔位符是%s:
cursor.execute(insertSql)
print('rowcount =', cursor.rowcount)
# 提交事務:
conn.commit()
except:
print("資料插入異常")
pass
finally:
# 關閉Cursor和Connection:
cursor.close()
conn.close()

def queryOperate(self,querySql):
"""查詢資料庫操作"""
conn = mysql.connector.connect(user=self.user, password=self.pwd, database=self.db)
cursor = conn.cursor()
try:
cursor.execute(querySql)
values = cursor.fetchall()
print(values)
except:
print("查詢資料異常")
pass
finally:
# 關閉Cursor和Connection:
cursor.close()
conn.close()


if __name__ == '__main__':
dbm = DBMysql(ip="127.0.0.1",port = "3306",user="root", password="******", database="test")
createSql = 'create table user (id varchar(20) primary key, name varchar(20));'
insertSql = 'insert into user (id, name) values ("1", "Michael");'
querySql = 'select * from user;'
# querySql = 'select * from user where id = "1";'

# dbm.createOperate(createSql)
# dbm.insertOperate(insertSql)
dbm.queryOperate(querySql)
# names = ["zhangSan","liSi","wangWu","zhaoLiu"]
# i = 1
# for name in names:
# i = i + 1
# insertSql = ''
# insertSql = 'insert into user (id, name) values("'+str(i)+'","'+name+'")'
# dbm.insertOperate(insertSql)