python链接数据库并创建/删除/插入多个数据库/表/表数据

2023-09-21 16:24:56
嗨喽,大家好呀~这里是爱看美女的茜茜呐


👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~

python源码、视频教程、插件安装教程、资料我都准备好了,直接在文末名片自取就可


import pymysql

l链接数据库并执行sql语句

conn = pymysql.connect(host='10.245.251.61',user='stashlog',password='stashlog123',database='exos_perf_auto')#创建数据库连接
cursor = conn.cursor()#创建游标
sql=''#要执行的sql语句
cursor.execute(sql)#提交sql语句
conn.commit()#提交缓存
cursor.close()#关闭游标
conn.close()#关闭数据库连接

以上,创建数据库连接的-h 主机名如果忽略的话是默认的localhost

即本机上的数据库

用户名和密码就是创建数据库时的,最好记住不然会很麻烦···

创建数据库create database database_name

注意,在mysql中命名数据库、表格、列名时只能用字母、数字和_,即-,~,!,space等符号不能使用

批量创建表(用format取代字符串中的变量)

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:261823976
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
conn = pymysql.connect(host='10.245.251.50',user='stashlog',password='stashlog123',database='exos_perf_auto')
cursor = conn.cursor()
for k in range(10):
    sql='''
    create table test{}(
    id int not null,#整形
    website float,#单精度小数
    version varchar(20),#20bit的字符串
    us double(16,3),#保留3位小数
    primary key(id)#主键,独一无二
    )
    '''.format(k)
    cursor.execute(sql)
conn.commit()
cursor.close()
conn.close()

批量删除表数据

conn = pymysql.connect(host='10.245.251.50',user='stashlog',password='stashlog123',database='exos_perf_auto')
cursor = conn.cursor()
for k in range(10):
    sql='''
    delete from test{}
    '''.format(k)
    cursor.execute(sql)
conn.commit()
cursor.close()
conn.close()

插入数据、查询数据都差不多了,就是用format来生成要执行的sql语句

需要注意的是,当插入一个字符串变量时

你应该用双重引号,否则会报错,会识别成一个无引号值

例如

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:261823976
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
exa='20.2'
sql='''
insert into test1
(version)
values
({})
'''.format(exa)
print(sql)

可以看到exa应该是一个字符串变量但却成了double型小数

如果是20.2.2就会导致更大的error

这时应该这么写

exa='20.2'
exa='"{}"'.format(exa)
sql='''
insert into test1
(version)
values
({})
'''.format(exa)
print(sql)

这时的sql语句才是正确的

尾语

感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇

更多推荐

如何评估测试用例的优先级?

评估测试用例的优先级,有助于我们及早发现和解决可能对系统稳定性和功能完整性产生重大影响的问题,助于提高测试质量,提高用户满意度。如果没有做好测试用例的优先级评估,往往容易造成对系统关键功能和高风险场景测试的忽略,增加了项目风险,浪费了资源,甚至可能导致系统出现重大问题。因此做好测试用例的优先级评估非常重要,一般主要从以

Socket编程基础(1)

目录预备知识socket通信的本质认识TCP协议和UDP协议网络字节序socket编程流程socket编程时常见的函数服务端绑定整数IP和字符串IP客户端套接字的创建和绑定预备知识理解源IP和目的IP源IP指的是发送数据包的主机的IP地址,目的IP指的是接收数据包的主机的IP地址。在网络通信中,当一台主机需要向另一台主

基于springboot地方废物回收机构管理系统springboot11

大家好✌!我是CZ淡陌。一名专注以理论为基础实战为主的技术博主,将再这里为大家分享优质的实战项目,本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路,向着优秀程序员前行!🍅更多优质项目👇🏻👇🏻可点击下方获取🍅文章底部或评论区获取🍅Java项目精品实

新手学习:ArcGIS 提取SHP 路网数据、节点

新手学习:ArcGIS提取SHP路网数据、节点参考连接OSM路网提取道路节点ArcGIS:如何创建地理数据库、创建要素类数据集、导入要素类、表?1.导入开源路网SHP文件2.在交点处打断路网数据未打断路网数据有一些路径很长,并且和多个路径存在交点,所以需要打断相交线。打开要编辑的shp数据,工具栏中,编辑器-开始编辑,

PHP 如何创建一个 composer 包 并在 项目中使用自己的 composer sdk 包

第一步创建一个composerSDK项目创建一个composer.json文件或使用命令(如果不清楚怎么弄直接跳过即可,一般都会默认配置)composerinit这是生成的composer.json文件将自己要使用的包添加到require中,如果没有require则自己添加(composer文件中必须用双引号不能使用单

加密货币交易所偿付能力的零知识证明

如何检测下一个FTX和Mt.Gox加密货币交易所FTX的内爆导致数十亿客户资金流失,这是加密货币历史上交易所破产的最新例子。历史可以追溯到2014年,当时处理70%比特币交易的历史最悠久、规模最大的交易所Mt.Gox丢失了用户的850,000个比特币。如今,许多用户更喜欢将他们的加密货币资产存储在集中式交易所中,以便于

区块链交易平台开发流程

随着区块链技术的日益发展,越来越多的金融机构和创业公司开始探索开发区块链交易平台的潜力。以下是一篇关于区块链交易平台开发流程的指南。一、理解区块链技术在开发区块链交易平台之前,必须深入理解区块链技术的内在机制和原理。区块链是一种分布式数据库,通过去中心化和去信任的方式维护可靠的数据记录,使得任何达成一致的双方能够直接进

springboot和vue:三、web入门(spring-boot-starter- web+控制器+路由映射+参数传递)

spring-boot-starter-webSpringBoot将传统Web开发的mvc、json、tomcat等框架整合,提供了spring-boot-starter-web组件,简化了Web应用配置。创建SpringBoot项目勾选SpringWeb选项后,会自动将spring-boot-starter-web组

Android 回声消除

Android回声消除前言在语音聊天、语音通话、互动直播、语音转文字类应用或者游戏中,需要采集用户的麦克风音频数据,然后将音频数据发送给其它终端或者语音识别服务。如果直接使用采集的麦克风数据,就会存在回音问题。所谓回音就是在语音通话过程中,如果用户开着扬声器,那么自己讲话的声音和对方讲话的声音(即是扬声器的声音)就会混

c++基础:new函数

new函数new是用于动态分配内存的操作符。它用于在堆内存中创建一个新的对象或数据结构,并返回一个指向该内存的指针。这是C++中进行动态内存分配的主要方式之一,通常与delete操作符一起使用来释放先前分配的内存。以下是使用new操作符的一些示例:动态分配一个整数,并将其赋值给指针:int*pInt=newint;*p

Python基础运算分享

Python的运算符和其他语言类似(我们暂时只了解这些运算符的基本用法,方便我们展开后面的内容,高级应用暂时不介绍)数学运算>>>print1+9#加法>>>print1.3-4#减法>>>print3*5#乘法>>>print4.5/1.5#除法>>>print3**2#乘方>>>print10%3#求余数判断判断是

热文推荐