# Python连接MySQL数据库

[图片上传失败...(image-5ceff8-1615768638554)]

七月尾巴_葵花已关注

<time datetime="2017-10-29T02:04:38.000Z" style="box-sizing: border-box; margin-right: 10px;">2017.10.29 10:04:38</time>字数 411阅读 961

<article class="_2rhmJa" style="box-sizing: border-box; display: block; font-weight: 400; line-height: 1.8; margin-bottom: 20px; word-break: break-word; color: rgb(64, 64, 64); font-family: -apple-system, BlinkMacSystemFont, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">

1 安装 MySQL connector

mysql-connector-python支持Linux、Mac OS X和Windows系统。
mysql-connector-python的下载地址http://dev.mysql.com/downloads/connector/python/
我以Ubuntu系统Python2.7为例:
方法一:使用apt安装:
sudo apt install python-mysql.connector 1 sudo apt install python-mysql.connector
方法二:使用pip安装:

$ sudo pip install mysql-connector-python

方法三:安装最新版

wget [http://cdn.mysql.com//Downloads/Connector-Python/mysql-connector-python-cext_2.1.3-1ubuntu15.04_amd64.deb](https://link.jianshu.com/?t=http://cdn.mysql.com//Downloads/Connector-Python/mysql-connector-python-cext_2.1.3-1ubuntu15.04_amd64.deb) sudo dpkg -i mysql-connector-python-cext_2.1.3-1ubuntu15.04_amd64.deb
查看安装的mysql-connector-python版本:

image

2 连接MySQL

连接本地MySQL数据库:

import mysql.connector

conn = mysql.connector.connect(
user='root',
password='test1234',
host='127.0.0.1',
database='test')

关闭数据库

conn.close()

如果提供的用户、数据库不对,会输出如下错误信息:

Traceback (most recent call last):
File "test.py", line 7, in <module>
database='test')
File "/usr/lib/python2.7/dist-packages/mysql/connector/init.py", line 162, in connect
return MySQLConnection(*args, kwargs)
File "/usr/lib/python2.7/dist-packages/mysql/connector/connection.py", line 129, in init
self.connect(
kwargs)
File "/usr/lib/python2.7/dist-packages/mysql/connector/connection.py", line 454, in connect
self._open_connection()
File "/usr/lib/python2.7/dist-packages/mysql/connector/connection.py", line 421, in _open_connection
self._ssl)
File "/usr/lib/python2.7/dist-packages/mysql/connector/connection.py", line 204, in _do_auth
self._auth_switch_request(username, password)
File "/usr/lib/python2.7/dist-packages/mysql/connector/connection.py", line 240, in _auth_switch_request
raise errors.get_exception(packet)
mysql.connector.errors.ProgrammingError: 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

3 执行SQL语句

import mysql.connector

conn = mysql.connector.connect(
user='root',
password='test1234',
host='127.0.0.1',
database='test')

cur = conn.cursor()

要执行的SQL语句

query = ("SELECT * FROM sometable")

执行查询

cur.execute(query)

for (id, name, class, score) in cur:
print("{}, {}, {}, {}".format(id, name,class,score))

cur.close()
conn.close()

</article>

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容