MySQL Connector Python

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 Python或C擴展

從Connector / Python 2.1.1開始,use_pure鏈接參數肯定是使用純Python接口鏈接到MySQL,仍是使用MySQL C客戶端庫的C擴展默認狀況下False(使用純Python實現)從MySQL 8開始,默認爲True早期版本。若是系統上沒有C擴展,那麼 use_pure就是True設置 use_pureFalse使使用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

相關文章
相關標籤/搜索