该题涉及到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;

好,结束。

最新文章

  1. 读书笔记--SQL必知必会20--管理事务处理
  2. a标签创建超链接,利用a标签创建锚点
  3. MySQL Database on Azure 的用户名
  4. Uva1624 Knots
  5. Storm启动流程简介
  6. 第27章 项目8:使用XML-RPC进行文件共享
  7. 17、SQL Server 备份和还原
  8. jquery动画总结
  9. python基础之 list和 tuple(元组)
  10. 深挖BAT内部级别和薪资待遇,你敢看?(转)
  11. MySQL自增长的bug?
  12. django-admin.py startproject testdj 失败 没有工程文件夹
  13. Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第四集之安装Linux】
  14. 3、CSS属性组成和作用
  15. Linux系统基础5周入门精讲(Linux发展过程)
  16. w3af的使用
  17. 纯C++去雾算法
  18. BNUOJ 34982 Beautiful Garden
  19. Luogu 4900 食堂
  20. GUID 格式化

热门文章

  1. 2020大厂web前端面试常见问题总结
  2. Android 使用AS编译出错:找不到xx/desugar/debug/66.jar (系统找不到指定的文件。)
  3. Spark QuantileDiscretizer 分位数离散器
  4. 分布式数据库中间件 MyCat | 分库分表实践
  5. Qt 实现 异形 窗体&amp;按钮
  6. C++ Templates(1.3 多模板参数 Multiple Template Parameters)
  7. 冒泡排序(Bubble Sorting)
  8. random模块python
  9. fsck知识点记录
  10. String,StringBuffer,StringBuillder的底层结构