该题涉及到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关系型数据库中的更多相关文章

  1. Python scrapy爬虫数据保存到MySQL数据库

    除将爬取到的信息写入文件中之外,程序也可通过修改 Pipeline 文件将数据保存到数据库中.为了使用数据库来保存爬取到的信息,在 MySQL 的 python 数据库中执行如下 SQL 语句来创建 ...

  2. Python实现将图片以二进制格式保存到MySQL数据库中,以及取出:

    创建数据库表格式: CREATE TABLE photo ( photo_no int(6) unsigned NOT NULL auto_increment, image MEDIUMBLOB, P ...

  3. 如何使用Python生成200个优惠券(激活码)

    解析: 常见的优惠券(激活码)是由数字.字母(大小写)组成: string.ascii_letters   26个大小写字母: string.digits 0-9数字: 随机组合 使用random.s ...

  4. python之scrapy爬取数据保存到mysql数据库

    1.创建工程 scrapy startproject tencent 2.创建项目 scrapy genspider mahuateng 3.既然保存到数据库,自然要安装pymsql pip inst ...

  5. python读取excel保存到mysql

    首先安装xlrd模块:pip install xlrd ,核心代码网上有很多,这里主要是关于一些个人实际碰到问题细节的处理 1.excel数据不规范导致读取的数据存在空白行和列: 2.参数化执行sql ...

  6. 吴裕雄--天生自然python数据清洗与数据可视化:MYSQL、MongoDB数据库连接与查询、爬取天猫连衣裙数据保存到MongoDB

    本博文使用的数据库是MySQL和MongoDB数据库.安装MySQL可以参照我的这篇博文:https://www.cnblogs.com/tszr/p/12112777.html 其中操作Mysql使 ...

  7. Python练习册--PIL处理图片之加水印

    背景 最近在看到了Python 练习册,每天一个小程序 这个项目,非常有趣,也比较实用. 晚上看了这第000题,关于Python图片处理: 将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似 ...

  8. Python 练习册--生成唯一激活码(邀请码)

    题目是这样子的: 做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)? 分析 其实要生成 ...

  9. python练习册 每天一个小程序 第0001题

    1 # -*-coding:utf-8-*- 2 __author__ = 'Deen' 3 ''' 4 题目描述: 5 做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生 ...

随机推荐

  1. vue自定义可输入的选择框组件

    vue自定义可输入的选择框组件 props: 属性 说明 类型 默认值 selectDataList 下拉框中的内容 Array 空数组([]) value 输入框中的内容 String 空字符串(& ...

  2. Mac 从睡眠恢复后没有声音的问题

    重启能解决,不想重启,因为不想重置当前工作状态 换个办法是: 杀掉coreaudiod进程,然后系统会把他自动拉起,然后就ok了.

  3. mysql表中已有数据,为表新增一个自增id。

    第一步,在navicat中,例如表test新建查询,输入以下两行代码即可搞定. alter table test add id int; alter table `test` change id id ...

  4. generate_fixed_frame()方法生成Java方法栈帧

    在从generate_normal_entry()函数调用generate_fixed_frame()函数时的栈与寄存器的状态如下: 栈的状态如下图所示. 各个寄存器的状态如下所示. rax: ret ...

  5. 【MySQL】记一次线上重大事故:二狗子竟然把线上数据库删了!!

    写在前面 估计二狗子这几天是大姨夫来了,心情很郁闷,情绪也很低落,工作的时候也有点心不在焉.让他发个版本,结果,一行命令下去把线上的数据库删了!你没听错:是删掉了线上的数据库!运营那边顿时炸了锅:怎么 ...

  6. Python网络爬虫与信息提取笔记

    直接复制粘贴笔记发现有问题 文档下载地址//download.csdn.net/download/hide_on_rush/12266493 掌握定向网络数据爬取和网页解析的基本能力常用的 Pytho ...

  7. Java之Annotation(注解)——注解处理器

    如果没有用来读取注解的方法和工作,那么注解也就不会比注释更有用处了.使用注解的过程中,很重要的一部分就是创建于使用注解处理器.Java SE5扩展了反射机制的API,以帮助程序员快速的构造自定义注解处 ...

  8. CVE-2020-15778 OpenSSH命令注入漏洞复现

    一.漏洞概要 OpenSSH 8.3p1及之前版本中的scp允许在scp.c远程功能中注入命令,攻击者可利用该漏洞执行任意命令.目前绝大多数linux系统受影响. 参考链接:https://githu ...

  9. Eclipse导入项目后JSP页面出现报红

    Multiple annotations found at this line:- javax.servlet.jsp.JspException cannot be resolved to a typ ...

  10. 在vmware上MBR方式安装archLinux

    进入安装盘 设置好vmware的相关选项,进入下载好的系统中,显示如下 联网 输入以下命令,后面加&使其后台运行 dhcpcd & 然后ping一下检测是否联网 ping baidu. ...