使用Connector / Python連接MySQL
connect()構造函數創建到MySQL服務器的連接并返回一個 MySQLConnection對象
在python中有以下幾種方法可以連接到MySQL數據庫:
- 1.使用connect()構造函數
import mysql.connectorcnx = mysql.connector.connect(user='scott', password='password',host='127.0.0.1',database='employees')
cnx.close()
- 使用connection.MySQLConnection() 類創建連接對象
from mysql.connector import (connection)cnx = connection.MySQLConnection(user='scott', password='password',host='127.0.0.1',database='employees')
cnx.close()
- 在字典中定義連接參數并使用 **運算符
import mysql.connectorconfig = {'user': 'scott','password': 'password','host': '127.0.0.1','database': 'employees','raise_on_warnings': True
}cnx = mysql.connector.connect(**config)cnx.close()
處理鏈接錯誤使用try語句并使用error.Error異常捕獲所有錯誤
import mysql.connector
from mysql.connector import errorcodetry:cnx = mysql.connector.connect(user='scott',database='employ')
except mysql.connector.Error as err:if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:print("Something is wrong with your user name or password")elif err.errno == errorcode.ER_BAD_DB_ERROR:print("Database does not exist")else:print(err)
else:cnx.close()
2.使用Connector / Python查詢數據
import datetime
import mysql.connectorcnx = mysql.connector.connect(user='scott', database='employees')
cursor = cnx.cursor()query = ("SELECT first_name, last_name, hire_date FROM employees ""WHERE hire_date BETWEEN %s AND %s")hire_start = datetime.date(1999, 1, 1)
hire_end = datetime.date(1999, 12, 31)cursor.execute(query, (hire_start, hire_end))for (first_name, last_name, hire_date) in cursor:print("{}, {} was hired on {:%d %b %Y}".format(last_name, first_name, hire_date))cursor.close()
cnx.close()
參考鏈接:
https://dev.mysql.com/doc/connector-python/en/connector-python-examples.html