Python driver for communicating with MySQL servers:html
To install or update msgpack package with conda run:python
1 conda install -c anaconda msgpack-python
update pip package:mysql
1 python -m pip install --upgrade pip
To install this package with conda run:sql
1 conda install -c anaconda mysql-connector-python
To install this package with pip run:服務器
1 pip install mysql-connector-python
使用Connector / Python鏈接MySQL:函數
該connect()
構造函數建立到MySQL服務器的鏈接並返回一個 MySQLConnection
對象。this
1 import mysql.connector 2 3 cnx = mysql.connector.connect(user='root', password='password', 4 host='127.0.0.1', 5 database='world') 6 cnx.close()
也能夠使用connection.MySQLConnection() 類建立鏈接對象 :spa
1 from mysql.connector import (connection) 2 3 cnx = connection.MySQLConnection(user='root', password='password', 4 host='127.0.0.1', 5 database='world') 6 cnx.close()
使用connect()
構造函數或類直接使用的兩種方法都是有效且功能相同的,可是connector()
首選使用 而且在本手冊的大多數示例中使用。code
要處理鏈接錯誤,請使用該try
語句並使用errors.Error 異常捕獲全部錯誤 :server
1 import mysql.connector 2 from mysql.connector import errorcode 3 4 try: 5 cnx = mysql.connector.connect(user='root', 6 database='testt') 7 except mysql.connector.Error as err: 8 if err.errno == errorcode.ER_ACCESS_DENIED_ERROR: 9 print("Something is wrong with your user name or password") 10 elif err.errno == errorcode.ER_BAD_DB_ERROR: 11 print("Database does not exist") 12 else: 13 print(err) 14 else: 15 cnx.close()
若是你有不少鏈接參數,最好將它們保存在字典中並使用**
運算符:
1 import mysql.connector 2 3 config = { 4 'user': 'root', 5 'password': 'password', 6 'host': '127.0.0.1', 7 'database': 'employees', 8 'raise_on_warnings': True, 9 } 10 11 cnx = mysql.connector.connect(**config) 12 13 cnx.close()
從Connector / Python 2.1.1開始,use_pure
鏈接參數肯定是使用純Python接口鏈接到MySQL,仍是使用MySQL C客戶端庫的C擴展。默認狀況下False
(使用純Python實現)從MySQL 8開始,默認爲True
早期版本。若是系統上沒有C擴展,那麼 use_pure
就是True
。設置 use_pure
以False
使使用C擴展,若是你的鏈接器/ Python安裝包括它,而設置鏈接use_pure
到 False
表示若是可用,則使用Python實現。如下示例與以前顯示的其餘示例相似,但包含的內容 use_pure=False
。
經過在connect()
調用中命名參數來鏈接:
1 import mysql.connector 2 3 cnx = mysql.connector.connect(user='root', password='password', 4 host='127.0.0.1', 5 database='employees', 6 use_pure=False) 7 cnx.close()
使用參數字典鏈接:
1 import mysql.connector 2 3 config = { 4 'user': 'root', 5 'password': 'password', 6 'host': '127.0.0.1', 7 'database': 'employees', 8 'raise_on_warnings': True, 9 'use_pure': False, 10 } 11 12 cnx = mysql.connector.connect(**config) 13 14 cnx.close()
也能夠經過導入_mysql_connector
模塊而不是 mysql.connector
模塊直接使用C Extension 。
https://dev.mysql.com/doc/connector-python/en/connector-python-reference.html