python -m pip install mysql-connector
須要導入驅動模塊,mysql.connector,並使用connector模塊中的connect方法鏈接數據庫,python
查看源碼 def connect(*args, **kwargs),該方法中容許傳入元祖模式參數,和字典類型參數,mysql
即就是:sql
#字典 localdb=mysql.connector.connect( host='127.0.0.1', user='root11', passwd='root22') # 元祖 localdb=mysql.connector.connect('127.0.0.1','root11','root22)
例一數據庫
import mysql.connector localdb=mysql.connector.connect( host='127.0.0.1', user='root11', passwd='root22') print(localdb) mycursor=localdb.cursor() mycursor.execute("CREATE DATABASE python3sql") mycursor.execute("show databases") for x in mycursor: print(x)
正如例一,建立一個cursor實例來執行數據庫操做。函數
插入:在執行插入語句時候,數據庫表有更新,須要像數據庫提交事務,fetch
mydb.commit() # 數據表內容有更新,必須使用到該語句spa
import mysql.connector cnx = mysql.connector.connect(user='scott', password='password', host='127.0.0.1', database='employees') cnx.close()
from mysql.connector import (connection) cnx = connection.MySQLConnection(user='scott', password='password', host='127.0.0.1', database='employees') cnx.close()
import mysql.connector config = { '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異常捕獲全部錯誤.net
import mysql.connector from mysql.connector import errorcode try: 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.connector cnx = 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()