阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Python操作MySQL——mysql.connector

137次阅读
没有评论

共计 1747 个字符,预计需要花费 5 分钟才能阅读完成。

连接 MySQL, 需要 mysql connector, conntector 是一种驱动程序,Python 连接 MySQL 的驱动程序,MySQL 官方给出的名称为 connector/python,可参考 mysql 官网:https://dev.mysql.com/downloads/connector/

环境

操作系统:Windows 10

python 版本:2.7

mysql 版本:5.5.53 MySQL Community Server (GPL)

IDE 工具:pycharm 2016.3.2

接下来列举 python 操作 mysql 的步骤:

1. 下载并安装 connector/python

A. 下载 mysql-connector-python-2.1.6-py2.7-winx64.msi,下载之后,根据提示安装即可

下载地址:https://dev.mysql.com/downloads/connector/python/

2. 使用命令行往 mysql 中添加数据

A. 进入数据库命令行操作界面 ,使用 mysql -u USERNAME -p PASSWORD

Python 操作 MySQL——mysql.connector

B. 数据库常用操作

show databases;        # 显示所有数据库
create database t1;     # 创建数据库 t1
use database t1;       #指定当前操作的数据库为 t1
drop database t1;      #删除数据库 t1

C. 表中所有数据如下

Python 操作 MySQL——mysql.connector

3. 使用 Python 中的 mysql.connector 模块操作 MySQL

python 代码

import mysql.connector                 

# mysql1.py
config = {'host': '127.0.0.1',
    'user': 'root',
    'password': 'root',
    'port': 3306,
    'database': 'test',
    'charset': 'utf8'
}
try:
    cnn = mysql.connector.connect(**config)
except mysql.connector.Error as e:
    print('connect fails!{}'.format(e))
cursor = cnn.cursor()
try:
    sql_query = 'select name,age from stu ;'
    cursor.execute(sql_query)
    for name, age in cursor:
        print (name, age)
except mysql.connector.Error as e:
    print('query error!{}'.format(e))
finally:
    cursor.close()
    cnn.close()

操作结果

(u'xiaoming', 10)
(u'rose', 18)
(u'jack', 19)
(u'fang', 20)
(u'Liang', 40)
(u'Age', None)

更加规范的操作,代码如下

def select2(sql_cmd, param):
    """    :param sql_cmd sql 命令
    :param param 参数
    """    try:
        conn = mysql.connector.connect(**config)
    except mysql.connector.Error as e:
        print('connect fails!{}'.format(e))

    cursor = conn.cursor()
    try:
        cursor.execute(sql_cmd, param)
    except mysql.connector.Error as e:
        print('connect fails!{}'.format(e))
    finally:
        cursor.close()
        conn.close()

if __name__ ==  '__main__':
    sql_cmd = "insert into stu (name, age, sex) value (%s, %s, %s)"
    param = ('yangguo', 28, 'male')
    select2(sql_cmd=sql_cmd, param=param)    # 将命令和参数分隔开,操作起来更加安全 

这里只是使用 mysql.connector 的入门案例

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-10/148098.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计1747字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中