前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python api链接数据库

python api链接数据库

作者头像
喵叔
发布2020-09-08 16:00:54
9750
发布2020-09-08 16:00:54
举报
文章被收录于专栏:喵叔's 专栏喵叔's 专栏
零、开发环境
  • 操作系统:Ubuntu 16.04 及以上 或 Windows 8 及以上
  • Python版本:3.5及以上
  • 开发工具:PyCharm
  • 数据库:MySQL
一、环境配置
  1. 创建虚拟环境
  2. 通过命令行进入虚拟环境,输入命令在虚拟环境中安装MySQL Client: pip install mysqlclient
二、简单讲解

在这篇文章中我会利用 mysqlclinet 这个库,对数据库进行简单的操作。操作数据库之前,需要先连接到数据库(默认数据库已创建),只需要调用 MySQLdb.connect 传递数据库地址、端口号、用户名、密码和要操作的数据库名称,这样就创建了对数据的链接,代码如下:

代码语言:javascript
复制
conn=MySQLdb.connect(
                host='192.168.0.102',#数据库地址
                port=3306,#端口号
                user='root',#数据库用户名
                passwd='123*asd',#密码
                db='news',#操作的数据库
                charset='utf8' #数据库编码规则
            )

获取到数据库链接就可以对数据库进行增删改查的操作了,进行数据库操作首先要获取游标,通过 conn.cursor() 获得,代码如下:

代码语言:javascript
复制
cursor = conn.cursor()

在获得到游标后,就可调用 execute 来操作数据库。这里需要注意,对数据库进行增、删、改的时候余姚在调用 execute 方法后,再调用commit方法,将内存中的数据写入数据库。完整代码见三

三、示例代码
代码语言:javascript
复制
import MySQLdb


class MysqlSearch(object):
    def __init__(self):
        self.get_conn()

    def get_conn(self):
        try:
            self.con = MySQLdb.connect(
                host='192.168.0.102',
                port=3306,
                user='root',
                passwd='123*asd',
                db='news',
                charset='utf8'
            )
        except MySQLdb.Error as e:
            print('Error %d:%s' % (e.args[0], e.args[1]))

    def close_conn(self):
        try:
            if self.con:
                self.con.close()
        except MySQLdb.Error as e:
            print('Error: %s' % e)

    def get_one(self):
        # 准备SQL
        sql = 'select * from news where news_type = %s order by created_at desc; '
        # 找到cursor
        cursor = self.con.cursor()
        # 执行SQL
        cursor.execute(sql, ('百家',))
        # 拿到结果
        rest = dict(zip([k[0] for k in cursor.description], cursor.fetchone()))
        # 处理数据
        print(rest['title'])
        # 关闭cursor/链接
        cursor.close()
        self.close_conn()

    def add_one(self):
        try:
            # 准备SQL
            sql = "INSERT INTO news (title,img_url,content,news_type) VALUE " \
                  "(%s,%s,%s,%s);"
            # 获取链接和cursor
            cursor = self.con.cursor()
            # 提交数据到数据库
            cursor.execute(sql, ('标题1', '/static/img/news/01.png', '新闻内容1', '推荐',))
            # 提交事务
            self.con.commit()
        except:
            self.con.rollback()
        # 关闭cursor和连接
        cursor.close()
        self.close_conn()


def main():
    obj = MysqlSearch()
    obj.add_one()


if __name__ == '__main__':
    main()
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/06/17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 零、开发环境
  • 一、环境配置
  • 二、简单讲解
  • 三、示例代码
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档