01-python操作Mysql資料庫
python運算元據庫流程:
--建立資料庫連線 Conn=pymysql.connect()
--建立遊標cur=Conn.cursor()
--遊標下執行sql cur.execute(sql)
--提交遊標資料到資料庫conn.commit()
--關閉遊標cur.close()
--關閉資料庫conn.close()
例項
例項1:建立資料庫連線
import pymysql,re,logging,os
class OperationDb_interface(object):
def __init__(self):
self.conn=pymysql.connect(host='localhost', user='root',passwd='*****',db='my_test',port=3306,charset='utf8')#建立資料庫連結
self.cur=self.conn.cursor()#建立遊標
例項2:查詢單條語句
def selectOne(self,condition):
try:
self.cur.execute(condition)#遊標下執行sql
results=self.cur.fetchone()#獲取一條結果
except pymysql.Error,e:
results="sql0001"#資料庫執行錯誤
print"Mysql Error %d:%s"% (e.args[0],e.args[1])
logging.basicConfig(filename=os.path.join(os.getcwd(),'./log.txt'),
level=logging.DEBUG,format='%(asctime)s %(filename)s[line:%(lineno)d] % (levelname)s %(message)s')
logger =logging.getLogger(__name__)
logger.exception(e)
finally:
return results
例項3:查詢多條語句
def selectAll(self,condition):
try:
self.cur.execute(condition)
self.cur.scroll(0,mode='absolute')#游標回到初始位置
result=self.cur.fetchall()#返回遊標中所有結果
except pymysql.Error,e:
result='sql0001'#資料庫執行錯誤
print "Mysql Error %d:%s" % (e.args[0],e.args[1])
logging.basicConfig(filename=os.path.join(os.getcwd(),'./log.txt'),
level=logging.DEBUG,format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s % (message)s')
logger=logging.getLogger(__name__)
logger.exception(e)
finally:
return result
例項4:定義插入多條語句資料庫操作
def insertMore(self,condition,params):#對應的params是個tuple或list
try:
self.cur.executemany(condition,params)
self.conn.commit()#提交遊標資料到資料庫
return True
except pymysql.Error,e:
results='sql001'#資料庫執行錯誤
print "Mysql Error %d:%s"%(e.args[0],e.args[1])
logging.basicConfig(filename=os.path.join(os.getcwd(),'/log.txt'),
level=logging.DEBUG,format='%(asctime)s%(filename)s %(filename)s[line:%(lineno)d]% (levelname)s%(message)s' )
logger=logging.getLogger(__name__)
logger.exception(e)
return False
關閉資料庫
def __del__(self):
if self.cur !=None:
self.cur.close()#關閉遊標
if self.conn !=None:
self.conn.close()#關閉資料庫連結
if __name__=="__main__":
test=OperationDb_interface()#例項化類
result=test.selectAll("select * from student")
#result=test.insertMore("insert into student VALUES (%s,%s);",(('003','zhaogang'),('004','Angelia'))) #對應的params是個tuple或list
print (result)
相關文章
- MySQL 資料庫操作MySql資料庫
- Mysql資料庫操作命令MySql資料庫
- PHP操作MySQL資料庫PHPMySql資料庫
- MySQL資料庫常用操作MySql資料庫
- Python之 操作 MySQL 資料庫PythonMySql資料庫
- mysql資料庫基本操作(五)MySql資料庫
- mysql資料庫基本操作(三)MySql資料庫
- mysql資料庫基本操作(四)MySql資料庫
- 02、MySQL—資料庫基本操作MySql資料庫
- mysql資料庫基本操作(六)MySql資料庫
- Mysql資料庫基礎操作命令MySql資料庫
- MySQL資料庫操作、儲存引擎MySql資料庫儲存引擎
- python資料庫-MySQL資料庫高階查詢操作(51)Python資料庫MySql
- 2.資料庫Mysql--------基本操作資料庫MySql
- mysqlclient操作MySQL關係型資料庫MySqlclient資料庫
- SQLALchemy操作MySQL關係型資料庫MySql資料庫
- python操作MySQL資料庫連線(pymysql)PythonMySql資料庫
- Go語言中mysql資料庫操作(一)GoMySql資料庫
- MySQL學習筆記-使用Navicat操作MySQL資料庫MySql筆記資料庫
- MySQL—-MySQL資料庫入門—-第二章 資料庫和表的基本操作MySql資料庫
- MySQL 資料庫的對庫的操作及其資料型別悔鋒MySql資料庫資料型別
- 全棧 – 12 資料庫 用Python操作MySQL全棧資料庫PythonMySql
- mysql資料庫誤刪除操作說明MySql資料庫
- jmeter學習指南之操作 mysql 資料庫JMeterMySql資料庫
- Python操作MySQL資料庫的5種方式PythonMySql資料庫
- Python 連線mysql資料庫進行操作PythonMySql資料庫
- Mysql運維-資料庫及表相關操作MySql運維資料庫
- php簡單操作mysql資料庫的類PHPMySql資料庫
- 通過shell指令碼批量操作mysql資料庫指令碼MySql資料庫
- Oracle和MySQL資料庫CTAS等操作對比OracleMySql資料庫
- java mysql 資料庫備份和還原操作JavaMySql資料庫
- 資料庫操作資料庫
- 資料庫操作·資料庫
- Python 利用pymysql和openpyxl操作MySQL資料庫並插入Excel資料PythonMySql資料庫Excel
- MySQL 資料表操作MySql
- MySQL資料基本操作MySql
- ASP.NET Core使用EF Core操作MySql資料庫ASP.NETMySql資料庫
- MySQL入門系列:資料庫和表的基本操作MySql資料庫