• Connector for Python


    连接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

    B.数据库常用操作

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

    注:操作数据库,可参考菜鸟教程http://www.runoob.com/mysql/mysql-tutorial.html

    C.表中所有数据如下

    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)    # 将命令和参数分隔开,操作起来更加安全
    复制代码
  • 相关阅读:
    左偏树——可以标记合并的堆
    主席树——多棵线段树的集合
    [中山市选2011]完全平方数 ——莫比乌斯函数
    决策单调性优化dp
    [NOI2015]寿司晚宴——状压dp
    【[国家集训队]等差子序列】
    线性基——数集压缩自动机
    Java实现 蓝桥杯VIP 算法训练 筛选号码
    BSGS&EXBSGS 大手拉小手,大步小步走
    CRT&EXCRT 中国剩余定理及其扩展
  • 原文地址:https://www.cnblogs.com/wang-jee/p/10739872.html
Copyright © 2020-2023  润新知