Python——Python连接MySQL数据库
基本概念
?PyMySQL:PyMySQL是封裝了MySQL驅動的Python驅動,一個能使Python連接到MySQL的庫。
mysql-connector-python(MySQL Connector/Python):MySQL官方的純Python驅動。因為是純Python開發的。效率不高。
mysqlclient:?MySQLdb的分支。增加了對Python 3的支持和錯誤修復。我希望此Fork(分支)可以像分發一樣被合并回MySQLdb,也可以像分發一樣被合并回setuptools。
MySQLdb:又稱:MySQL-python,MySQLdb 是用于Python鏈接Mysql數據庫的接口,它實現了 Python 數據庫 API 規范 V2.0,基于 MySQL C API 上建立的。Python 連接 MySQL 最流行的一個驅動,很多框架都也是基于此庫進行開發,遺憾的是它只支持 Python2.x,而且安裝的時候有很多前置條件,因為它是基于C開發的庫,在 Windows 平臺安裝非常不友好,經常出現失敗的情況,現在基本不推薦使用,取代的是它的衍生版本。
官方文檔
https://www.python.org/dev/peps/pep-0249/#connection-objects?
解決方案
方法一:使用PyMySQL庫連接MySQL數據庫
import pymysql#連接數據庫 conn=pymysql.connect(host = '127.0.0.1' # 連接名稱,默認127.0.0.1 ,user = 'root' # 用戶名,passwd='password' # 密碼,port= 3306 # 端口,默認為3306,db='test' # 數據庫名稱,charset='utf8' # 字符編碼) cur = conn.cursor() # 生成游標對象 sql="select * from `student` " # SQL語句 cur.execute(sql) # 執行SQL語句 data = cur.fetchall() # 通過 fetchall方法獲得數據 for i in data[:2]: # 打印輸出前2條數據print (i) cur.close() # 關閉游標 conn.close() # 關閉連接方法二:使用mysql.connector庫連接MySQL數據庫
import mysql.connector conn=mysql.connector.connect(host = '127.0.0.1' # 連接名稱,默認127.0.0.1 ,user = 'root' # 用戶名,passwd='password' # 密碼,port= 3306 # 端口,默認為3306,db='test' # 數據庫名稱,charset='utf8' # 字符編碼) cur = conn.cursor() # 生成游標對象 sql="select * from `student` " # SQL語句 cur.execute(sql) # 執行SQL語句 data = cur.fetchall() # 通過fetchall方法獲得數據 for i in data[:2]: # 打印輸出前2條數據print (i) cur.close() # 關閉游標 conn.close() # 關閉連接方法三:使用mysqlclient庫連接MySQL數據庫
#coding=utf-8 import MySQLdb #connect() 方法用于創建數據庫的連接,里面可以指定參數:用戶名,密碼,主機等信息。 #這只是連接到了數據庫,要想操作數據庫需要創建游標。 conn= MySQLdb.connect(host='localhost',port = 3306,user='root',passwd='123456',db ='test',)#通過獲取到的數據庫連接conn下的cursor()方法來創建游標。 cur = conn.cursor() #創建數據表,通過游標cur 操作execute()方法可以寫入純sql語句。通過execute()方法中寫如sql語句來對數據進行操作 cur.execute("create table student(id int ,name varchar(20),class varchar(30),age varchar(10))") #插入一條數據 cur.execute("insert into student values('2','Tom','3 year 2 class','9')") #修改查詢條件的數據 cur.execute("update student set class='3 year 1 class' where name = 'Tom'") #刪除查詢條件的數據 cur.execute("delete from student where age='9'") #cur.close() 關閉游標 cur.close() #conn.commit()方法在提交事物,在向數據庫插入一條數據時必須要有這個方法,否則數據不會被真正的插入。 conn.commit() #conn.close()關閉數據庫連接 conn.close()方法四:使用MySQLdb庫連接MySQL數據庫
import MySQLdb # 打開數據庫連接 db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset='utf8' ) # 使用cursor()方法獲取操作游標 cursor = db.cursor() # 使用execute方法執行SQL語句 cursor.execute("SELECT VERSION()") # 使用 fetchone() 方法獲取一條數據 data = cursor.fetchone() print "Database version : %s " % data # 關閉數據庫連接 db.close()參考文章
https://baijiahao.baidu.com/s?id=1642463236846856193&wfr=spider&for=pc
https://www.runoob.com/python/python-mysql.html
https://www.cnblogs.com/chongdongxiaoyu/p/8951433.html
總結
以上是生活随笔為你收集整理的Python——Python连接MySQL数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python——OpenCV(openc
- 下一篇: OpenCV——释放时错误[Source