使用Python連線資料庫

小北TuT發表於2020-10-16

Python與資料庫連線

from pymysql import *
#1.連線資料庫,在例項化的時候自動連線資料庫
#2.定義獲取單條資料的方法,
#3. 實現在程式執行的完畢的時候自動關閉連線,要使用del魔法方法


class MyDb(object):#Python2裡需要寫object但在Python可以不寫預設為object類
#2.初始化時,自動連線資料庫
	def __init__(self):#例項化方法通過self呼叫
		self.my_conn()
	#1.連線資料庫
	def my_conn(self):#例項化方法
		try:
			self.conn = connect(host="127.0.0.1",port=3306,user="root",passwd="root",db="mb",charset="utf8")
		except Exception as e:
			print(e)
	#3.獲取單條資料
	def get_one(self):
		#3.1獲取遊標,
		cs = self.con.cursor#我們是通過連線資料來獲取遊標,並且賦值給cs
		
		#3.2執行sql語句
		sql = "select * from 庫名;"
		cs.execute(sql)#執行sql語句 ,execute()返回的是受影響進度的行數
		#3.3獲取執行的結果
		res = cs.fetvhone()

		#3.4關閉
		cs.close()#先關閉遊標
		self.conn.close()
		return res		
		
		#4.定義一個函式來獲取全部
		def get_all(self):
			cs = self.con.cursor
		
		sql = "select * from goods;"#庫名goods
		cs.execute(sql)
		#獲取
		res = cs.fetchall()
		
		cs.close()#先關閉遊標
		
		self.conn.close()
	
		def close_conn(self):#建立函式關閉連線
			#此處不關閉遊標沒關係,因為每獲取一次資料時,都重新建立了遊標
			#cs.close()
		self.conn.close()
def main():
	db = MyDb()
	#print(data)
	#data = db.get_one()#報錯
	#print(data )
	
	all_data = db.get_all()
	#print(all_data)
	#資料太多,如果想取出每一條資料一個for迴圈
	for data in all_data:
		print(data)
if __name__ == '__main__'
	main()

相關文章