Mysql

作者:管理员 发布时间:2021-02-05 10:03

    关系型数据库又分为开源数据库和商用型数据库两大阵营,目前对大多数企业而言,都是使用的开源数据库,在开源数据库中Mysql独占鳌头!

    一些对技术服务支持较高,稳定及商业授权要求较高的企业,会采购商用数据库,商用数据库以甲骨文公司的oracle和IBM的DB2用户量最高,但随着中国本土企业对国产化商用数据库的需求增加,其中达梦、南大通用等品牌的使用率成赶超趋势;

    因数据库的种类众多,我们在介绍如何通过Python使用数据库时,以Mysql举例;其他数据库类型与其操作雷同;

    关系型数据库除性能这一劣势外,还有一点限制了他的灵活性!

    就是你要在存储数据前,预设好数据存储的结构,一点点错误都可能让数据存储失败;

Python用于连接Mysql的库有很多,常用的有:

aiomysql:基于 asyncio 的异步 MySQL 数据库操作库。
mysql-python:Python 的 MySQL 数据库连接器。
ysqlclient:mysql-python 分支,支持 Python 3。
oursql:一个更好的 MySQL 连接器,支持原生预编译指令和 BLOBs。
PyMySQL:纯 Python MySQL 驱动,兼容 mysql-python。

我们以pymysql为例:

import pymysql.cursors

# 连接数据库,
#host为数据库地址,本地写localhost,也可以写IP或域名
connection = pymysql.connect(host='localhost',
                             user='用户名',
                             password='密码',
                             database='数据库名',
                             cursorclass=pymysql.cursors.DictCursor)

with connection:
    with connection.cursor() as cursor:
        # 插入一行新纪录(任意SQL)
        sql = "INSERT INTO `users` (`name`, `password`) VALUES (%s, %s)"
        cursor.execute(sql, ('算法', 'suanfashi'))
    # 执行提交SQL
    connection.commit()

    with connection.cursor() as cursor:
        #读取数据
        sql = "SELECT `id`, `password` FROM `users` WHERE `name`=%s"
        cursor.execute(sql, ('算法狮',))
        result = cursor.fetchone()
        print(result)


标签:
Copyright © 2020 万物律动 旗下 AI算法狮 京ICP备20010037号-1
本站内容来源于网络开放内容的收集整理,并且仅供学习交流使用;
如有侵权,请联系删除相关内容;