python api链接数据库
时间:2022-07-24
本文章向大家介绍python api链接数据库,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
零、开发环境
- 操作系统:Ubuntu 16.04 及以上 或 Windows 8 及以上
- Python版本:3.5及以上
- 开发工具:PyCharm
- 数据库:MySQL
一、环境配置
- 创建虚拟环境
- 通过命令行进入虚拟环境,输入命令在虚拟环境中安装MySQL Client:
pip install mysqlclient
二、简单讲解
在这篇文章中我会利用 mysqlclinet 这个库,对数据库进行简单的操作。操作数据库之前,需要先连接到数据库(默认数据库已创建),只需要调用 MySQLdb.connect 传递数据库地址、端口号、用户名、密码和要操作的数据库名称,这样就创建了对数据的链接,代码如下:
conn=MySQLdb.connect(
host='192.168.0.102',#数据库地址
port=3306,#端口号
user='root',#数据库用户名
passwd='123*asd',#密码
db='news',#操作的数据库
charset='utf8' #数据库编码规则
)
获取到数据库链接就可以对数据库进行增删改查的操作了,进行数据库操作首先要获取游标,通过 conn.cursor() 获得,代码如下:
cursor = conn.cursor()
在获得到游标后,就可调用 execute 来操作数据库。这里需要注意,对数据库进行增、删、改的时候余姚在调用 execute 方法后,再调用commit方法,将内存中的数据写入数据库。完整代码见三
三、示例代码
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()
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- SAP Cloud for Customer Oberon视图里的Ruby Scrip
- 干了SAP开发这么多年,我都积累了哪些程序调试技巧
- 谈谈SOCKET
- 使用ABAP实现Mock测试工具Mockito
- 增强版本的自开发SAP WebClient UI Repository Information System
- 最大子序列和的问题的解(1)
- 10-STM32+ESP8266+AIR202远程升级方案-功能3-手机APP控制STM32远程更新固件程序,基于ESP8266
- 最大子序列和的接口函数(2)
- 最大子序列和的接口函数(3)
- 【剑指Offer】二叉树的深度
- 运行时间中的对数
- IIC协议
- 通过例子学习编写shell
- 【redis6.0.6】redis源码慢慢学,慢慢看 -- 第三天:MakeFile
- 继续学习Shell脚本(详细)