pymysql使用(二)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: import pymysqldb = pymysql.connect("localhost","root","","hank") #打开数据库 (如果连接失败会报错)cursor = db.cursor() #获取游标对象sql_select = "select version()" #执行sql查询操作cursor.
import pymysql
db = pymysql.connect("localhost","root","","hank") #打开数据库 (如果连接失败会报错)
cursor = db.cursor() #获取游标对象
sql_select = "select version()" #执行sql查询操作
cursor.execute(sql_select)

1

data = cursor.fetchone() #使用fetchone()获取单条数据
print("DB version is : %s" % data)

DB version is : 5.6.39

cursor.execute("drop table if exists hankleo") #如果hankleo表存在,就删除

0

#创建表hankleo
sql_create = "create table hankleo(id int,name varchar(10)) engine = innodb charset = utf8"
cursor.execute(sql_create)

0

#插入操作
sql_insert = '''insert into hankleo(id,name) values(2,"李明")'''
try:
    #执行sql
    cursor.execute(sql_insert)
    db.commit()
except:
    #发生异常
    db.rollback()
#查询操作
sql_select = '''select * from hankleo'''
try:
    #执行sql语句
    cursor.execute(sql_select)
    #获取所有记录列表
    result = cursor.fetchall()
    for row in result:
        id = row[0]
        name = row[1]
        print("id = %d,name = %s" % (id,name))
except:
    print("Error:unable to fecth data")

id = 2,name = 李明

执行事务

事务机制可以确保数据的一致性

  1. 事务有四个属性:原子,一致,隔离,持久;通常称为ACID
  2. Python DB API2.0的事务提供了两个方法:commit 和 rollback
  3. 对于支持事务的数据库,在python数据库编程中,当游标建立之时,就自动开始了一个隐形的数据库事务,这个区别于mysql客户端,commit()方法提交所有的事务,rollback()方法回滚当前游标的所有操作。
    每个方法都开启了一个新的事务
#例子
sql_insert = '''insert into hankleo (id,name) values (1,'china')'''
try:
    cursor.execute(sql_insert)
    db.commit()
except:db.rollback()
    
print("end")

#关闭连接
db.close()

end

知识在于点滴积累
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
Linux
Linux下安装curl
Linux下安装curl
1589 0
|
负载均衡 网络协议 Dubbo
微服务架构 | 3. 注册中心与服务发现
注册中心用来集中管理微服务,实现服务的注册,发现,检查等功能;
3460 2
微服务架构 | 3. 注册中心与服务发现
|
SQL Java 测试技术
再也不需要手写 SQL 造数据了
DBeaver 是一个功能非常完善的数据库客户端,它有 开源免费版本:https://github.com/dbeaver/dbeaver, 企业版:https://dbeaver.com/
再也不需要手写 SQL 造数据了
|
消息中间件 存储 监控
Django后端架构开发:Celery异步调优,任务队列和调度
Django后端架构开发:Celery异步调优,任务队列和调度
367 1
|
JavaScript 前端开发 Java
dubbo-admin下载安装教程
dubbo-admin下载安装教程
325 0
dubbo-admin下载安装教程
|
监控 Python
什么是WSGI,uwsgi和gunicorn在Python Web部署中起到什么作用?
**WSGI**是Python Web应用与服务器间的标准接口。**uwsgi**是实现WSGI的服务器,用于在不同服务器上高效部署应用。**gunicorn**是高性能的WSGI服务器,提供易用接口和进程管理功能。两者协同工作,作为桥梁连接应用与服务器,支持高并发和生产环境部署,提升性能和可靠性。配置因应用和环境而异,需按需调整。
518 2
|
应用服务中间件 nginx 网络协议
|
Web App开发 测试技术 iOS开发
Mac OS 安装Wget
有些时候,我们希望直接通过 wget 来下载文件。 Mac OS 可以通过以下几种方式安装 Wget: 1、使用 port 命令 sudo port install wget2、使用 brew 命令 sudo brew install wget3、使用浏览器下载一个Wget的源码包,http://www.
31833 0
|
编解码 并行计算 Linux
LINUX下,ffmpeg增加NVIDIA硬件编解码的步骤及解决办法
LINUX下,ffmpeg增加NVIDIA硬件编解码的步骤及解决办法
891 0