国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python操作MySQL數據庫的三種方法總結

2020-01-04 16:01:28
字體:
來源:轉載
供稿:網友

1. MySQLdb 的使用

(1) 什么是MySQLdb?

MySQLdb 是用于 Python 連接 MySQL 數據庫的接口,它實現了 Python 數據庫 API 規范 V2.0,基于 MySQL C API 上建立的。

(2) 源碼安裝 MySQLdb: https://pypi.python.org/pypi/MySQL-python

$ tar zxvf MySQL-python-*.tar.gz$ cd MySQL-python-*$ python setup.py build$ python setup.py install

(3) MySQLdb 的使用:

#!/usr/bin/env python# coding=utf-8import MySQLdbdef connectdb(): print('連接到mysql服務器...') # 打開數據庫連接 # 用戶名:hp, 密碼:Hp12345.,用戶名和密碼需要改成你自己的mysql用戶名和密碼,并且要創建數據庫TESTDB,并在TESTDB數據庫中創建好表Student db = MySQLdb.connect("localhost","hp","Hp12345.","TESTDB") print('連接上了!') return dbdef createtable(db): # 使用cursor()方法獲取操作游標  cursor = db.cursor() # 如果存在表Sutdent先刪除 cursor.execute("DROP TABLE IF EXISTS Student") sql = """CREATE TABLE Student (   ID CHAR(10) NOT NULL,   Name CHAR(8),   Grade INT )""" # 創建Sutdent表 cursor.execute(sql)def insertdb(db): # 使用cursor()方法獲取操作游標  cursor = db.cursor() # SQL 插入語句 sql = """INSERT INTO Student   VALUES ('001', 'CZQ', 70),    ('002', 'LHQ', 80),    ('003', 'MQ', 90),    ('004', 'WH', 80),    ('005', 'HP', 70),    ('006', 'YF', 66),    ('007', 'TEST', 100)""" #sql = "INSERT INTO Student(ID, Name, Grade) / # VALUES ('%s', '%s', '%d')" % / # ('001', 'HP', 60) try:  # 執行sql語句  cursor.execute(sql)  # 提交到數據庫執行  db.commit() except:  # Rollback in case there is any error  print '插入數據失敗!'  db.rollback()def querydb(db): # 使用cursor()方法獲取操作游標  cursor = db.cursor() # SQL 查詢語句 #sql = "SELECT * FROM Student / # WHERE Grade > '%d'" % (80) sql = "SELECT * FROM Student" try:  # 執行SQL語句  cursor.execute(sql)  # 獲取所有記錄列表  results = cursor.fetchall()  for row in results:   ID = row[0]   Name = row[1]   Grade = row[2]   # 打印結果   print "ID: %s, Name: %s, Grade: %d" % /    (ID, Name, Grade) except:  print "Error: unable to fecth data"def deletedb(db): # 使用cursor()方法獲取操作游標  cursor = db.cursor() # SQL 刪除語句 sql = "DELETE FROM Student WHERE Grade = '%d'" % (100) try:  # 執行SQL語句  cursor.execute(sql)  # 提交修改  db.commit() except:  print '刪除數據失敗!'  # 發生錯誤時回滾  db.rollback()def updatedb(db): # 使用cursor()方法獲取操作游標  cursor = db.cursor() # SQL 更新語句 sql = "UPDATE Student SET Grade = Grade + 3 WHERE ID = '%s'" % ('003') try:  # 執行SQL語句  cursor.execute(sql)  # 提交到數據庫執行  db.commit() except:  print '更新數據失敗!'  # 發生錯誤時回滾  db.rollback()def closedb(db): db.close()def main(): db = connectdb() # 連接MySQL數據庫 createtable(db)  # 創建表 insertdb(db)  # 插入數據 print '/n插入數據后:' querydb(db)  deletedb(db)  # 刪除數據 print '/n刪除數據后:' querydb(db) updatedb(db)  # 更新數據 print '/n更新數據后:' querydb(db) closedb(db)   # 關閉數據庫if __name__ == '__main__': main()

運行結果:

Python,操作,MySQL,數據庫

2. PyMySQL 的使用

(1) 什么是 PyMySQL?

PyMySQL 是 Python 中用于連接 MySQL 服務器的一個庫,它遵循 Python 數據庫 API 規范 V2.0,并包含了 pure-Python MySQL 客戶端庫。

(2) 安裝 PyMysql:

pip install PyMysql

(3) 使用 PyMySQL:

#!/usr/bin/env python# coding=utf-8import pymysqldef connectdb(): print('連接到mysql服務器...') # 打開數據庫連接 # 用戶名:hp, 密碼:Hp12345.,用戶名和密碼需要改成你自己的mysql用戶名和密碼,并且要創建數據庫TESTDB,并在TESTDB數據庫中創建好表Student db = pymysql.connect("localhost","hp","Hp12345.","TESTDB") print('連接上了!') return dbdef createtable(db): # 使用cursor()方法獲取操作游標  cursor = db.cursor() # 如果存在表Sutdent先刪除 cursor.execute("DROP TABLE IF EXISTS Student") sql = """CREATE TABLE Student (   ID CHAR(10) NOT NULL,   Name CHAR(8),   Grade INT )""" # 創建Sutdent表 cursor.execute(sql)def insertdb(db): # 使用cursor()方法獲取操作游標  cursor = db.cursor() # SQL 插入語句 sql = """INSERT INTO Student   VALUES ('001', 'CZQ', 70),    ('002', 'LHQ', 80),    ('003', 'MQ', 90),    ('004', 'WH', 80),    ('005', 'HP', 70),    ('006', 'YF', 66),    ('007', 'TEST', 100)""" #sql = "INSERT INTO Student(ID, Name, Grade) / # VALUES ('%s', '%s', '%d')" % / # ('001', 'HP', 60) try:  # 執行sql語句  cursor.execute(sql)  # 提交到數據庫執行  db.commit() except:  # Rollback in case there is any error  print '插入數據失敗!'  db.rollback()def querydb(db): # 使用cursor()方法獲取操作游標  cursor = db.cursor() # SQL 查詢語句 #sql = "SELECT * FROM Student / # WHERE Grade > '%d'" % (80) sql = "SELECT * FROM Student" try:  # 執行SQL語句  cursor.execute(sql)  # 獲取所有記錄列表  results = cursor.fetchall()  for row in results:   ID = row[0]   Name = row[1]   Grade = row[2]   # 打印結果   print "ID: %s, Name: %s, Grade: %d" % /    (ID, Name, Grade) except:  print "Error: unable to fecth data"def deletedb(db): # 使用cursor()方法獲取操作游標  cursor = db.cursor() # SQL 刪除語句 sql = "DELETE FROM Student WHERE Grade = '%d'" % (100) try:  # 執行SQL語句  cursor.execute(sql)  # 提交修改  db.commit() except:  print '刪除數據失敗!'  # 發生錯誤時回滾  db.rollback()def updatedb(db): # 使用cursor()方法獲取操作游標  cursor = db.cursor() # SQL 更新語句 sql = "UPDATE Student SET Grade = Grade + 3 WHERE ID = '%s'" % ('003') try:  # 執行SQL語句  cursor.execute(sql)  # 提交到數據庫執行  db.commit() except:  print '更新數據失敗!'  # 發生錯誤時回滾  db.rollback()def closedb(db): db.close()def main(): db = connectdb() # 連接MySQL數據庫 createtable(db)  # 創建表 insertdb(db)  # 插入數據 print '/n插入數據后:' querydb(db)  deletedb(db)  # 刪除數據 print '/n刪除數據后:' querydb(db) updatedb(db)  # 更新數據 print '/n更新數據后:' querydb(db) closedb(db)   # 關閉數據庫if __name__ == '__main__': main()

運行結果:

Python,操作,MySQL,數據庫

3. mysql.connector 的使用

(1) 什么是 mysql.connector?

由于 MySQL 服務器以獨立的進程運行,并通過網絡對外服務,所以,需要支持 Python 的 MySQL 驅動來連接到 MySQL 服務器。

目前,有兩個 MySQL 驅動:

mysql-connector-python:是 MySQL 官方的純 Python 驅動;

MySQL-python :是封裝了 MySQL C驅動的 Python 驅動。

(2) 安裝 mysql.connector:

pip install mysql-connector-pythonpip install MySQL-python

(3) 使用 mysql.connector:

#!/usr/bin/env python# coding=utf-8import mysql.connectordef connectdb(): print('連接到mysql服務器...') # 打開數據庫連接 # 用戶名:hp, 密碼:Hp12345.,用戶名和密碼需要改成你自己的mysql用戶名和密碼,并且要創建數據庫TESTDB,并在TESTDB數據庫中創建好表Student db = mysql.connector.connect(user="hp", passwd="Hp12345.", database="TESTDB", use_unicode=True) print('連接上了!') return dbdef createtable(db): # 使用cursor()方法獲取操作游標  cursor = db.cursor() # 如果存在表Sutdent先刪除 cursor.execute("DROP TABLE IF EXISTS Student") sql = """CREATE TABLE Student (   ID CHAR(10) NOT NULL,   Name CHAR(8),   Grade INT )""" # 創建Sutdent表 cursor.execute(sql)def insertdb(db): # 使用cursor()方法獲取操作游標  cursor = db.cursor() # SQL 插入語句 sql = """INSERT INTO Student   VALUES ('001', 'CZQ', 70),    ('002', 'LHQ', 80),    ('003', 'MQ', 90),    ('004', 'WH', 80),    ('005', 'HP', 70),    ('006', 'YF', 66),    ('007', 'TEST', 100)""" #sql = "INSERT INTO Student(ID, Name, Grade) / # VALUES ('%s', '%s', '%d')" % / # ('001', 'HP', 60) try:  # 執行sql語句  cursor.execute(sql)  # 提交到數據庫執行  db.commit() except:  # Rollback in case there is any error  print '插入數據失敗!'  db.rollback()def querydb(db): # 使用cursor()方法獲取操作游標  cursor = db.cursor() # SQL 查詢語句 #sql = "SELECT * FROM Student / # WHERE Grade > '%d'" % (80) sql = "SELECT * FROM Student" try:  # 執行SQL語句  cursor.execute(sql)  # 獲取所有記錄列表  results = cursor.fetchall()  for row in results:   ID = row[0]   Name = row[1]   Grade = row[2]   # 打印結果   print "ID: %s, Name: %s, Grade: %d" % /    (ID, Name, Grade) except:  print "Error: unable to fecth data"def deletedb(db): # 使用cursor()方法獲取操作游標  cursor = db.cursor() # SQL 刪除語句 sql = "DELETE FROM Student WHERE Grade = '%d'" % (100) try:  # 執行SQL語句  cursor.execute(sql)  # 提交修改  db.commit() except:  print '刪除數據失敗!'  # 發生錯誤時回滾  db.rollback()def updatedb(db): # 使用cursor()方法獲取操作游標  cursor = db.cursor() # SQL 更新語句 sql = "UPDATE Student SET Grade = Grade + 3 WHERE ID = '%s'" % ('003') try:  # 執行SQL語句  cursor.execute(sql)  # 提交到數據庫執行  db.commit() except:  print '更新數據失敗!'  # 發生錯誤時回滾  db.rollback()def closedb(db): db.close()def main(): db = connectdb() # 連接MySQL數據庫 createtable(db)  # 創建表 insertdb(db)  # 插入數據 print '/n插入數據后:' querydb(db)  deletedb(db)  # 刪除數據 print '/n刪除數據后:' querydb(db) updatedb(db)  # 更新數據 print '/n更新數據后:' querydb(db) closedb(db)   # 關閉數據庫if __name__ == '__main__': main()

運行結果:

Python,操作,MySQL,數據庫

以上這篇Python操作MySQL數據庫的三種方法總結就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 开阳县| 祁连县| 威海市| 左权县| 讷河市| 牙克石市| 新乐市| 田林县| 平罗县| 乌鲁木齐县| 玛多县| 阿拉善左旗| 讷河市| 讷河市| 华亭县| 黄梅县| 农安县| 曲水县| 铜鼓县| 时尚| 东明县| 普兰店市| 武冈市| 昌吉市| 加查县| 沙湾县| 鄂温| 依兰县| 西丰县| 德江县| 大化| 英超| 文水县| 山东| 岑溪市| 金寨县| 商洛市| 平阳县| 酒泉市| 女性| 鸡泽县|