1、重点:数据库插入数据需要进行---------事物提交

其它:事物回滚

import pymysql
# 注册用户
print("=========注册用户===========")
username = input("请输入用户名:")
pwd = input("请输入密码:")
# 连接数据库
conn = pymysql.connect(
host='localhost',
port=3306,
user='root',
password='@WSX3edc',
database='userinfo',
charset='utf8'
)
# 获取光标
cursor = conn.cursor()
sql = "insert into info(name, password) value (%s, %s);"
try:
cursor.execute(sql, [username, pwd])
conn.commit() # 添加数据,需要进行事物提交
except Exception as e:
print(e)
conn.rollback() # 事物回滚 cursor.close()
conn.close()

2、注意:lastrowid是 光标的一个属性

import pymysql
# 连接数据库
conn = pymysql.connect(
host='localhost',
port=3306,
user='root',
password='@WSX3edc',
database='userinfo',
charset='utf8'
)
cursor = conn.cursor()
sql1 = "insert into class(title) value (%s);"
sql2 = "insert into student(name, cid) value (%s, %s);"
try:
cursor.execute(sql1, "E班")
curr_cid = cursor.lastrowid # 获取光表最后的row id
cursor.execute(sql2, ['wt', curr_cid])
conn.commit() # 事物提交
except Exception as e:
print(e)
conn.rollback() # 事物回滚 cursor.close()
conn.close()

3、批量添加数据

注意:批量添加的数据类型

import pymysql
# 连接数据库
conn = pymysql.connect(
host='localhost',
port=3306,
user='root',
password='@WSX3edc',
database='userinfo',
charset='utf8'
)
cursor = conn.cursor()
sql = "insert into info(name, password) value (%s, %s);"
data = [('a', 1), ('b', 2), ('c', 3)]
try:
cursor.executemany(sql, data) # 批量添加
conn.commit()
except Exception as e:
print(e)
conn.rollback() cursor.close()
conn.close()

pymysql 增的更多相关文章

  1. pymysql 增删改 查 索引

    pymysql 模块的使用 pip install pymysql username = input ("请输入用户") pwd = input ("请输入密码" ...

  2. Python pymysql 增删改查封装

    关于pymysql 的增删改查,简单做个封装,方便后面使用直接拿来调用即可. 其中 增删改 的处理其实是一致的,本可以使用统一的方法,但是为了明显区分,这里分开来写了. 直接看代码就即可,如下: # ...

  3. pymysql增删改查

    #!/usr/bin/env python # encoding: utf-8  # Date: 2018/6/24 # 1.增删改import pymysql conn = pymysql.conn ...

  4. pymysql增删改查操作

    表结构 CREATE TABLE `students` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(20) DEFA ...

  5. pymysql的增删改查、索引

    1.pymysql增删改 一定要有commit() import pymysql username = input("请输入用户名:") pwd = input("请输入 ...

  6. MySQL— pymysql模块(防止sql注入),可视化软件Navicat

    一.Pymysql import pymysql #python2.X 中是 mysqldb 和 pythonmysql 用法是一模一样的 #pymysql可以伪装成上面这两个模块 user = in ...

  7. 多表查询、可视化工具、pymysql模块

    create table dep( id int primary key auto_increment, name varchar(16), work varchar(16) ); create ta ...

  8. PyMysql复习

    参考:http://www.cnblogs.com/liwenzhou/p/8032238.html 使用pycharm操作数据库. 填一个数据库名,User:填root 填写要连接的数据库. 建表. ...

  9. pymysql与mysql各功能

    pymysql # 增删改操作 import pymysql client=pymysql.connect( host='127.0.0.1', port=3306, user='root', pas ...

随机推荐

  1. Eclipse文档注释导出doc

    选择要导出的项目,右键选择Export 直接next,在最后finish之前加上编码格式.要不然会出现乱码

  2. 2019-3-8-为何使用-DirectComposition

    title author date CreateTime categories 为何使用 DirectComposition lindexi 2019-3-8 8:56:9 +0800 2018-04 ...

  3. 【23.68%】【hdu 2871】Memory Control

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission ...

  4. egg-socket在egg中的使用

    WebSocket 的产生源于 Web 开发中日益增长的实时通信需求,对比基于 http 的轮询方式,它大大节省了网络带宽,同时也降低了服务器的性能消耗: socket.io 支持 websocket ...

  5. ZR7.26

    7.26 A 并查集维护,时间复杂度我写的貌似不大对,先鸽一鸽 B 敦爷:\(w\)是这个区间的最大值当且仅当他是这个区间内最大的 我们发现结合昨天课件内的并查集 发现我们每次不断合并的本质是把所有\ ...

  6. If条件语句实战

    1.If条件判断语句 通常以if开头,fi结尾.也可加入else或者elif进行多条件的判断,if表达式如下: if (表达式) 语句1 else 语句2 fi 2.If常见判断逻辑运算符详解: -f ...

  7. monaco-editor使用

    monaco-editor是一款非常好用的web代码编辑器,那么如何把他加到自己的项目中呢. 1.下载插件 npm install monaco-editor@0.8.3 2.初始化编辑器值 < ...

  8. JMeter分布式负载测试(吞吐量控制器)

    在本节中,我们将学习如何使用吞吐量控制器在JMeter中创建分布式负载测试计划. 出于测试目的,我们将在我们网站 www.yiibai.com 的URL下的某些网页上创建分布式负载.这些网页包括: 主 ...

  9. Mysql基本配置以及常见问题

    以下是MYSQL的基本配置以及常见问题的解决方式 1.获取客户端 https://dev.mysql.com/downloads/ 有两种方式获取到MYSQL,一种是通过MySQL Community ...

  10. 【题解】P4755 Beautiful Pair(启发式合并的思路+分治=启发式分治)

    [题解]P4755 Beautiful Pair upd: 之前一个first second烦了,现在AC了 由于之前是直接抄std写的,所以没有什么心得体会,今天自己写写发现 不知道为啥\(90\) ...