欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MySQL Connector Python

程序员文章站 2022-07-02 14:34:47
Python driver for communicating with MySQL servers: To install or update msgpack package with conda run: update pip package: To install this package w ......

python driver for communicating with mysql servers:

to install or update msgpack package with conda run:

1 conda install -c anaconda msgpack-python

update pip package:

1 python -m pip install --upgrade pip

to install this package with conda run:

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对象。

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() 类创建连接对象 

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()首选使用 并且在本手册的大多数示例中使用。

要处理连接错误,请使用该try 语句并使用errors.error 异常捕获所有错误 

 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