01??
import pymysql#連接數據庫db= pymysql.connect("192.168.1.179","root","liuwang","liu")#創建一個cursor對象
cursor= db.cursor()
sql = "select version()"cursor.execute(sql)data = cursor.fetchone()
print(data)#斷開
cursor.close()
db.close()
02 創建數據庫
import pymysqldb= pymysql.connect("192.168.1.179","root","liuwang","liu")
cursor= db.cursor()#檢查表是否存在,如果存在則刪除
cursor.execute("drop table if exists bandcard")#
sql = "create table bandcard(id int auto_increment primary key,money int not null)"
cursor.execute(sql)cursor.close()
db.close()
03 數據庫插入數據
import pymysqldb= pymysql.connect("192.168.1.179","root","liuwang","liu")
cursor= db.cursor()sql = "insert into bandcard values(0,100)"
try:cursor.execute(sql)db.commit()
except:#如果提交失敗回滾到上一次數據db.rollback()cursor.close()
db.close()
04數據庫更新操作
import pymysqldb= pymysql.connect("192.168.1.179","root","liuwang","liu")
cursor= db.cursor()sql = "insert into bandcard set money=1100 where id=1"
try:cursor.execute(sql)db.commit()
except:#如果提交失敗回滾到上一次數據db.rollback()cursor.close()
db.close()
05數據庫刪除操作
import pymysqldb= pymysql.connect("192.168.1.179","root","liuwang","liu")
cursor= db.cursor()sql = "delete from bandcard where money =100"
try:cursor.execute(sql)db.commit()
except:#如果提交失敗回滾到上一次數據db.rollback()cursor.close()
db.close()
06數據庫查詢
'''fetchone()
功能:獲取下一個查詢結果集,結果集是一個對象fetchall()
功能:接受全部返回的行rowcount : 是一個只讀屬性,返回execute()方法影響行數
'''
import pymysqldb= pymysql.connect("192.168.1.179","root","liuwang","liu")
cursor= db.cursor()sql = "select * from bandcard where money>300"
try:cursor.execute(sql)reslist = cursor.fetchall()for row in reslist:print("%d-%d"%(row[0],row[1]))
except:#如果提交失敗回滾到上一次數據db.rollback()cursor.close()
db.close()
07 整理封裝
import pymysqlclass LiuSql():def __init__(self,host,user,passwd,dbName):self.host = hostself.user = userself.passwd = passwdself.dbName = dbNamedef connet(self):self.db = pymysql.connect(self.host,self.user,self.passwd,self.dbName)self.cursor = self.db.cursor()def close(self):self.cursor.close()self.db.close()def get_one(self,sql):res = Nonetry:self.connet()self.cursor.execute(sql)res = self.cursor.fetchone()self.close()except:print("查詢失敗")return resdef get_all(self,sql):res = ()try:self.connet()self.cursor.execute(sql)res = self.cursor.fetchall()self.close()except:print("查詢失敗")return resdef insert(self,sql):return self.__edit(sql)def updata(self,sql):return self.__edit(sql)def delete(self,sql):return self.__edit(sql)def __edit(self,sql):count =0try:self.connet()count= self.cursor.execute(sql)self.db.commit()self.close()except:print("提交失敗")self.db.rollback()return count
?
?