1、读取sql文件创建数据表

有一个形如下图的sql文件,使用python读取文件并在数据库中创建所有的表。

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:101677771

代码是很久以前搬的,忘了出处了> <,输入sql文件名称和数据库名称即可创建,执行成功或失败时都会有打印哪条sql语句执行成功或失败

import pymysqldef CreateTables(document,database):try:db = pymysql.connect(host='localhost', user='root', password='123', database=database, charset='utf8')cursor = db.cursor()with open(document,encoding='utf-8',mode = 'r') as f:sql_list = f.read().split(';')[:-1]for x in sql_list:if '\n' in x:x= x.replace('\n',' ')if '   ' in x:x= x.replace('   ',' ')sql_item = x+';'cursor.execute(sql_item)print("执行成功sql:%s"%sql_item)except Exception as e:print(e)print('执行失败sql:%s'%sql_item)finally:cursor.close()db.commit()db.close()

2、增删改查

假设如上面sql文件里的table_1,想在数据库中创建一个这样的表

Id Name Type
213 亚索 中单
443 薇恩 ADC
4396 李青 打野

则在python中创建一个形如dict = {"Id":213,"Name":亚索,"Type":"中单"}的字典,并将每列数据放入一个list中,即list = [{"Id":213,"Name":亚索,"Type":"中单"},{"Id":443,"Name":薇恩,"Type":"ADC"},{"Id":4396,"Name":李青,"Type":"打野"}],遍历该字典插入数据

import pymysql
lists = [{"Id":213,"Name":亚索,"Type":"中单"},{"Id":443,"Name":薇恩,"Type":"ADC"},{"Id":4396,"Name":李青,"Type":"打野"}]
table = 'table_1'
name = '亚索'
db = pymysql.connect(host='localhost', user='root', password='123', database='test', charset='utf8')
cursor = db.cursor()
#增
for lis in lists:keys = ','.join(lis.keys())values = ','.join(['%s'] * len(lis))sql = 'INSERT INTO {table} ({keys}) VALUES ({values})'.format(table=table, keys=keys, values=values)cursor.execute(sql, tuple(lis.values()))
#删
sql = "DELETE FROM talbe_1 WHERE Name = '%s'"%name
cursor.execute(sql)
#改
sql = "UPDATE table_1 SET id = 666 WHERE Name = '%s'"%name
cursor.execute(sql)
#查
sql = "SELECT * FROM table_1"
cursor.execute(sql)
res = cursor.fetchall()cursor.close()
db.commit()
db.close()

3、自增序号从当前最大值开始连续

如table_3的nId为自增序号,假设表中有1,2,3…48条数据,再删除了45,46,47,48后,新增数据依旧会从49开始编号造成不连续,为了让它连续的继续从45开始编号,应添加下列代码

sql = 'ALTER TABLE table_3 auto_increment = 1'
cursor.execute(sql)

记一些Python(Pymysql)建表、增删改查等基础操作(小白适用)相关推荐

  1. Oracle: 一、Oracle简介,安装,基本使用,建表增删改查,数据类型及常用命令...

    内容简介 一.Oracle简介,安装,基本使用,建表增删改查,数据类型及常用命令. 技术与环境 操作系统: windows 语言类别: SQL之PL/SQL 特别鸣谢: 由马云涛老师提供资料 数据库: ...

  2. ios mysql 创建不同的用户表_iOS中数据库-创建表-增删改查数据-基础语法

    什么是SQL:结构化查询语言.create创建表drop删除表,delete是删除表中的数据 SQL语句不区分大小写,每条语句必须以分号结束,数据库中不可以使用关键字用为表名(sql常用关键字  se ...

  3. SQLAlchemy 增删改查和基础操作

    1.数据表定义和创建表          from sqlalchemy.orm import sessionmaker from config import setting from sqlalch ...

  4. Mongodb基础入门(2)——增删改查等基础操作

    简介: 无论是关系数据库还是非关系数据库,其基本操作:增.删.查.改.另外由于Mongodb存储的文档本质上是Bson对象,所谓的Bson也就是Json对象的二进制对象.因此,对Mongodb数据的操 ...

  5. django调用python脚本返回_Django框架(九)—— 单表增删改查,在Python脚本中调用Django环境...

    单表增删改查,在Python脚本中调用Django环境 一.数据库连接配置 如果连接的是pycharm默认的Sqlite,不用改动,使用默认配置即可 如果连接mysql,需要在配置文件中的settin ...

  6. Django框架(八)--单表增删改查,在Python脚本中调用Django环境

    一.数据库连接配置 如果连接的是pycharm默认的Sqlite,不用改动,使用默认配置即可 如果连接mysql,需要在配置文件中的setting中进行配置: 将DATABASES={} 更新为 DA ...

  7. pymysql语法_如何使用PyMySQL模块进行增删改查?

    PyMySQL模块进行增删改查的操作.简单来讲,核心步骤有两步:链接数据库,读取CSV文件并导入数据表,然后查询数据,将数据表和计算结果导出为CSV文件.下面一起来具体看看吧~ Step1:安装PyM ...

  8. MySQL基础知识-MySQL概述安装,单表增删改查,函数,约束,多表查询,事物

    MySQL基础知识-MySQL概述安装,单表增删改查,函数,约束,多表查询,事物 前言 1.MySQL概述 1.1数据库相关概念 1.2MySQL数据库 1.2.1版本 1.2.2下载 1.2.3安装 ...

  9. 小白成长记(一、ERP之增删改查)

    小白成长记(一.ERP之增删改查) 第一个项目-ERP之增删改查基本操作 hello,大家好.我是闲齁齁,一名刚工作六个月的.NET程序员,这篇文章主要用于记录我的第一个项目-ERP.我们的ERP主要 ...

最新文章

  1. 第一阶段团队成员贡献打分
  2. 《android基于andFix的热修复方案》实战篇
  3. php用什么工具调试代码,详细介绍利用开源的DebugBar工具调试PHP代码(图文)
  4. 函数粘合云服务提供端到端解决方案
  5. 国内外免费电子书(数学、算法、图像、深度学习、机器学习)
  6. jQuery的eval
  7. EF 6 code first - 从SQL server迁移到MySQL
  8. 冒着被开除的风险也要给大家看看看这份Spring Cloud 总结
  9. linux定时器编程实验报告,Linux定时器实验.doc
  10. 安川g7变频器说明书_变频器功率调整
  11. Ubuntu18.04-国产周立功Can 分析仪驱动实现-python版本
  12. 蓝牙耳机测试软件apk_AndPods蓝牙耳机管理器.apkv1.5.2 免费版 Android
  13. OpenDDS 配置文件详解
  14. SparkStreaming可视化之Wisp
  15. 解决IE兼容性试图模式下,jQuery.min.js的“JSON”未定义
  16. Qt5构建出错问题解决办法:为项目untitled执行步骤
  17. PIXI 宝物猎人(7)
  18. 硬盘分区-增加C盘容量教程
  19. 写一个旅行青蛙攻略APP
  20. GO语言环境搭建 + Sublime text 3 + Git + MarGo + gocode 组合配置详解

热门文章

  1. 单例测试phpunit
  2. Python爬虫-- Scrapy框架
  3. 用 S5PV210 学习 Linux (一) 刷机(一)
  4. java类成员方法(成员函数)的初步介绍
  5. 如何记录和不寻常的唤醒中断源
  6. 实现MySQL逗号数据计数
  7. office 2003和office 2013同时安装使用的问题
  8. nusoap传递数组对象
  9. Linux中文件查找技术大全
  10. SpringBoot与Docker集成