【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 独立开发者,你要搞限时促销,为你的应用生 ...
随机推荐
- Linux用户锁定、解锁及锁定查看
[root@l01 ~]# passwd -S pispread pispread PS -- - (Password set, SHA512 crypt.)用户锁定 [root@l01 ~]# pa ...
- 图的DFS与BFS
图的DFS与BFS(C++) 概述 大一学生,作为我的第一篇Blog,准备记录一下图的基本操作:图的创建与遍历.请大佬多多包涵勿喷. 图可以采用邻接表,邻接矩阵,十字链表等多种储存结构进行储存,这里为 ...
- go语言gRPC系列(二) - 为gRPC添加证书
1. 前言 2. 生成自签证书 2.1 MAC生成自签证书的教程链接: 2.2 Windows生成自签证书的教程 3. 改造服务端使用自签证书 3.1 复制证书至代码下 3.2 改造代码添加证书认证 ...
- 尾递归(java)
一般递归: 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多 ...
- 匹配对象方法:group() 与 groups()
当在处理正则表达式的时候,除了正则表达式对象之外,还有另一个对象类型:匹配对象,即是成功调用match()或者search()所返回的对象. 匹配对象有两个主要方法:group() 和 groups( ...
- 淘宝ios端弹窗-2020年3月25日
- TCP/IP网络编程之字节序和网络字节序
一.概要 本篇文章主要讲解基于.net中tcp/ip网络通信编程中的网络字节序.在自我进步的过程中记录这些内容,方便自己记忆的同时也希望可以帮助到大家.技术的进步源自于分享和不断的自我突破. 技术交流 ...
- 揭秘 Kubernetes attach/detach controller 逻辑漏洞致使 pod 启动失败
前言 本文主要通过深入学习k8s attach/detach controller源码,了解现网案例发现的attach/detach controller bug发生的原委,并给出解决方案. 看完本文 ...
- Xutils 的框架问题retry error, curr request is null Android开发之网络请问问题
没有网络权限也能导致这个问题 也可能是因为模拟机没联网的问题
- Hexo-butterfly-magicv3.0.1(持续更新中....)
介绍 Hexo-butterfly魔改v3.0.1 软件架构 本项目是基于Hexo静态博客的个性主题---蝴蝶主题魔改版 安装教程 克隆 安装依赖 hexo命令生成public文件夹 启动hexo-s ...