【python练习册】1.3 将1.2题生成的n个激活码保存到mysql关系型数据库中
该题涉及到mysql中一些指令,先熟悉一下
MySQL指令
参考:https://www.cnblogs.com/zhuyongzhe/p/7686105.html
mysql -u root -p 以root权限登录,默认密码为空
show databases; 列出所有数据库
drop table if exists hst; 如果存在表hst则先删除
create database hst; 创建数据库
use hst; 进入数据库
create table student(
id int auto_increment primary key,
name varchar(50),
sex varchar(20),
date varchar(50),
content varchar(100)
)default charset=utf8; 创建表
drop table student; 删除表
describe student; 查看表结构(desc student;) insert into student values(null,'aa','男','1988-10-12','.....'); 插入数据
select * from student;
select id,name from student; 查询id,name列 update student set sex='男' where id=4; 修改id为4的行性别为男 delete from student where id=5; 删除id为5的行 select * from student where date>'1988-1-2' and date<'1988-12-1'; and、or select * from student where date between '1988-1-2' and '1988-12-1'; between
python中使用MySQL指令
安装了mysql,python3.0先装好pymysql,在IDLE中测试下import pymysql是否报错,没有报错,完美。
import pymysql
db = pymysql.connect("localhost", "root", "", "test") 连接test数据库
cursor=db.cursor()
cursor.execute(sql语句)
db.commit()
db.close()
完整代码
#!/user/bin/python
#-*-coding:UTF-8 *-* import pymysql
import random,string,uuid def generateN(len, count, cursor, db, database):
getChars = lambda: string.ascii_letters+string.digits
generate = lambda len: "".join(random.sample(getChars(), len))
for i in range(count):
sql = "insert into {0} (id,value) values ({1},'{2}')".format(database,"null", generate(len))
cursor.execute(sql)
db.commit() #generateN(10, 20)
db = pymysql.connect("localhost", "root", "", "hst")
cursor = db.cursor()
cursor.execute("drop table if exists generateCodes")
sql = "create table generateCodes(id int auto_increment primary key, value varchar(50))"
cursor.execute(sql)
cursor.execute("show tables");
generateN(10, 20, cursor, db, "generateCodes")
db.close()
期间出了2个问题
问题1:pymysql.err.InternalError: (1054, "Unknown column '***' in 'field list'")
参考:https://blog.csdn.net/fk103/article/details/80139284,原因是字符串占位符那里没有写'',将(values ({1},{2})修改为(values ({1},'{2}'))
问题2:插入第2个数据的时候Duplicate entry for key 'PRIMARY'
参考:https://blog.csdn.net/m0_37664906/article/details/79612006,主键重复了,将(database,i,**)修改为(database,"null",**)
执行脚本后,在控制台中查看表内容
select * from generateCodes;
好,结束。
【python练习册】1.3 将1.2题生成的n个激活码保存到mysql关系型数据库中的更多相关文章
- Python scrapy爬虫数据保存到MySQL数据库
除将爬取到的信息写入文件中之外,程序也可通过修改 Pipeline 文件将数据保存到数据库中.为了使用数据库来保存爬取到的信息,在 MySQL 的 python 数据库中执行如下 SQL 语句来创建 ...
- Python实现将图片以二进制格式保存到MySQL数据库中,以及取出:
创建数据库表格式: CREATE TABLE photo ( photo_no int(6) unsigned NOT NULL auto_increment, image MEDIUMBLOB, P ...
- 如何使用Python生成200个优惠券(激活码)
解析: 常见的优惠券(激活码)是由数字.字母(大小写)组成: string.ascii_letters 26个大小写字母: string.digits 0-9数字: 随机组合 使用random.s ...
- python之scrapy爬取数据保存到mysql数据库
1.创建工程 scrapy startproject tencent 2.创建项目 scrapy genspider mahuateng 3.既然保存到数据库,自然要安装pymsql pip inst ...
- python读取excel保存到mysql
首先安装xlrd模块:pip install xlrd ,核心代码网上有很多,这里主要是关于一些个人实际碰到问题细节的处理 1.excel数据不规范导致读取的数据存在空白行和列: 2.参数化执行sql ...
- 吴裕雄--天生自然python数据清洗与数据可视化:MYSQL、MongoDB数据库连接与查询、爬取天猫连衣裙数据保存到MongoDB
本博文使用的数据库是MySQL和MongoDB数据库.安装MySQL可以参照我的这篇博文:https://www.cnblogs.com/tszr/p/12112777.html 其中操作Mysql使 ...
- Python练习册--PIL处理图片之加水印
背景 最近在看到了Python 练习册,每天一个小程序 这个项目,非常有趣,也比较实用. 晚上看了这第000题,关于Python图片处理: 将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似 ...
- Python 练习册--生成唯一激活码(邀请码)
题目是这样子的: 做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)? 分析 其实要生成 ...
- python练习册 每天一个小程序 第0001题
1 # -*-coding:utf-8-*- 2 __author__ = 'Deen' 3 ''' 4 题目描述: 5 做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生 ...
随机推荐
- 5招详解linux之openEuler /centos7防火墙基本使用指南
防火墙是一种防火墙管理解决方案,可用于许多 Linux 发行版,它充当 Linux 内核提供的 iptables 数据包筛选系统的前端.在本指南中,将介绍如何为服务器设置防火墙,并向你展示使用管理工具 ...
- node mssql 无法连接sql server
mssql无法连接sql server主要有两种原因: Sql server使用的是Windows身份验证 Sql server并没有打开网络连接功能 1.打开Sql Server身份验证 参考这篇文 ...
- day11面向对象 多态 静态方法 (三)
多继承 class 类名(父类1,父类2) ----- 默认使用第一个父类 重写父类方法 方法名和父类方法名一样 当父类和子类的方法名重名时,默认使用的是子类中的方法 调用被重写的父类的 ...
- guice的能力简述
guice这个google出的bean容器框架,ES有用到他. 能干什么 是一个bean容器 能AOP 能力细分与使用方式 以module创建injector.可以看成是一个容器.Module需要自定 ...
- Markdown实验样例
一级标题 二级标题 三级标题 重新开始一个段落 这是新的段落 斜体文本 粗体文本 粗斜体文本 下面是分隔线 删除线 下划线 脚注[1] 无序列表 第一项 嵌套元素1 嵌套元素2 第二项 嵌套元素1 嵌 ...
- 非确定性有穷状态决策自动机练习题Vol.3 D. Dp搬运工3
非确定性有穷状态决策自动机练习题Vol.3 D. Dp搬运工3 题目描述 给定两个长度为 \(n\) 的排列,定义 \(magic(A,B)=∑_{i=1}^nmax(Ai,Bi)\) . 现在给定 ...
- C++ IO的一些注意点
读入这个坑一直以来都深受其麻烦,把遇到一些注意点记一下吧. 1.getchar读入 以前练线段树的时候做到Acwing#246 Interval GCD(原题在CodeHunter上,人懒就在Acwi ...
- Locust性能测试1--简介安装及基本使用
1. Locust简介 Locust是易于使用的分布式用户负载测试工具,旨在对网站(或其他系统)进行负载测试,并弄清一个系统可以处理多少个并发用户,Locust翻译过来是蝗虫的意思,在测试期间,意在一 ...
- SPSSAU新功能上线:高级公式、综合得分一键计算!
一直关注我们的朋友们一定会发现,近期SPSSAU增添了很多新功能. 我们精挑细选出6个最常使用的功能,介绍给大家,看看这些新功能你有没有解锁成功呢? 01 一键删除无效样本 “无效样本”功能中,添加了 ...
- SpringMVC中前端Form表单提交后跳转不过去的问题
今天晚上打算谢谢Spring整合这个内容,写的差不多之后运行 出现了各种问题 逐一排查 首先有一个(MyEclipse10) 一: class path resource [spring-mvc.xm ...