同时操作多个表

jmeter连接数据库后,如何同时操作设计多个表的多条sql。 之前看了网上也有很多这块的资料,说是JDBC Request里,Query Type选择Callable statement,然后里面直接列举多条sql,但经过本人实测,发现没有用。最终还是需要用到update statement. 阅读详情

某次数据处理时候,需要把一张大表切分到 多个小表中。

import pymysql

db = pymysql.connect("xx.xx.xx.xx", "root", "root", "backup3")
cursor = db.cursor()


# 对原来存在的很多小表批量操作
db_name = 'backup3'
sql_get_all_tables = f"select table_name from information_schema.tables where table_schema = '{db_name}'"
cursor.execute(sql_get_all_tables)
tables_list = [i[0] for i in cursor.fetchall()]

for table in tables_list:
    # 删掉无用数据

    # sql = f"delete from  {table} WHERE (email not LIKE '%@%' and phone not REGEXP '^1[3456789][0-9]{{9}}$');"
    # sql = f"update {table} set email='0' WHERE email not LIKE '%@%';"
    # sql = f"update {table} set phone='0' WHERE phone not REGEXP '^1[3456789][0-9]{{9}}$';"
    #sql = f"delete from {table} where(phone='0' and email='0')"
    # sql = f"DELETE FROM {table} WHERE id NOT IN ( SELECT temp.min_id FROM ( SELECT MIN(id) min_id FROM {table} GROUP BY phone,email )AS temp )"
    # 联合约束
    # sql = f"alter table {table} add unique(phone,email)"
    # sql = f"alter table {table} drop column id"
    sql = f"ALTER TABLE {table} ADD id INT NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST"
    cursor.execute(sql)
    db.commit()
#

# ===========================================================================================


# 把清洗过的一张大表的数据 插入到 很多表中
# cursor.execute('select distinct city_id from all_temp')
# city_id_list = [i[0] for i in cursor.fetchall()]

# for city_id in city_id_list:
#     if city_id != 0:
#         try:
#             # sql = f'INSERT INTO f_{city_id}(`name`,) SELECT * FROM all_temp where city_id={city_id}'
#             sql = f"insert ignore INTO f_{city_id}(`name`,birthday,address,phone,email,age,province,province_id,city,city_id,area,area_id) SELECT `name`,birthday,address,phone,email,age,province,province_id,city,city_id,area,area_id from all_temp where all_temp.city_id={city_id}"
#             cursor.execute(sql)
#             db.commit()
#         except pymysql.err.ProgrammingError as e:
#             with open('log.log', 'a+', encoding='utf8') as ff:
#                 ff.write(str(e))
#                 ff.write('\n')
db.close()
SQL多表操作 SQL多表操作,对数据库数据进行多表维护。 立即下载

相关推荐

数据仓库ODS层详解- 功能、设计与最佳实践

数据仓库ODS层是大数据分析的基石,为企业决策提供可靠数据源。本文深入探讨ODS层设计原则、实施要点和最佳实践,涵盖金融、零售等行业应用。重点关注云环境下ODS层部署策略,以及实时数据集成、数据湖技术等创新趋势。文章还分析了数据体量增长、实时性需求等挑战,提供实用解决方案。whether助您构建高效、安全、可扩展的ODS层,为数字化转型奠定坚实基础。#数据仓库 #ODS层 #大数据分析 #云计算 #数据湖

一个8年大数据开发工程师的碎碎念 1万+

使用alter table命令修改数据表

用ALTER TABLE 命令修改   ALTER TABLE 命令可以添加或删除表的列、约束,也可以禁用或启用已存在的约束   或触发器。其语法如下:   ALTER TABLE table   { [ALTER COLUMN column_name   { new_data_type [ (precision[, scale] ) ]   [ COLLATE ]    [ N

lijin84100的专栏 8825

LVGL在STM32H743IIT6上的性能优化技巧:如何提升图形界面刷新速度

本文详细介绍了在STM32H743IIT6高性能MCU上优化LVGL图形界面刷新速度的实战技巧。通过利用芯片的DMA2D硬件加速模块替代低效的软件画点,将绘制缓冲区放入SDRAM并启用双缓冲机制,以及合理配置CPU缓存与MPU,有效解决了界面卡顿问题。文章还涵盖了LVGL引擎调优、内存架构优化等关键步骤,帮助开发者充分发挥STM32H743的硬件潜力,实现流畅的图形界面体验。

vscode6remote的博客 308

同时对同一张表进行插入、查询和更新操作

mysql常规知识,避免踩坑

yu15338397549的博客 6005

PCIe ATS介绍

主机侧使用IOMMU完成设备地址到物理memory地址的转换,以及设备访问权限的检查。但如果所有PCIe设备都在进行DMA操作,则TA(Translation Agent)和ATPT(Address Translation and Protection Table)则会成为瓶颈,从而影响系统的latency。

maxwell2ic的博客 6024

别只刷题了!我用834分经验告诉你,华为HCIP大数据考试(H13-723)这样准备更高效

本文分享了华为HCIP大数据认证(H13-723)834分通关的高效备考经验。通过分析考试动态、题库验证技巧和章节优先级策略,帮助考生超越单纯刷题,系统化掌握核心知识点。特别强调实时流处理和离线批处理等重点章节,提供黄金90分钟临场发挥策略,助力考生一次性通过考试。

weixin_38168786的博客 460

数据库的多表操作

实际开发中业务逻辑较为复杂,需要对多张表进行操作。 一:多表连接 将多张表连在一起进行查询。通过两个表共有的列去进行拼接。多表连接,首先要在表之间建立连接。 交叉连接 将一张表的数据与另外一张表中的数据彼此交叉。也就是说把一张表中的每一行逐个与另一张表去进行匹配。没有任何连接条件,所有的记录都会被保留。结果是笛卡尔积,没有实际应用。 用法:SELECT 字段1,字段2 FROM 表1 JOIN 表2 内连接 即最常见的等值连接,指连接结果仅包含符合连接条件的行,参与连接的两个表都应该符合连接条件。 用法:S

Cat God 007的博客 2037

基于知识图谱的电影推荐系统——Neo4j&Python

也可直接从这里下载:链接: https://pan.baidu.com/s/1l6wjwcUzy5G_dIlVDbCkpw 提取码: pkq6。修改main.py中的driver,输入自己数据库的用户名与密码。系统会询问是否需要重新加载并创建知识图谱,在第一次时输入1。

weixin_46351593的博客 6357

node+sequelize实现单表多表操作

需要mysql和sequelize两个模块1.单表增删改查创建User.js,用于连接和初始化var Sequelize = require('sequelize'); var mysql = require('mysql'); var config = { database:'sheila', username:'root', password:'', host:

FiveBigNiu 9691

PS2硬盘启动终极指南:从FMCB到OPL,告别光驱打造游戏博物馆

在计算机存储与数据读取领域,硬盘启动技术通过将操作系统或应用程序从本地硬盘直接加载,绕过了传统光驱等外部介质,实现了速度与可靠性的双重提升。其核心原理在于利用引导程序接管系统初始化流程,直接访问硬盘上的特定分区与文件镜像。这项技术的价值在于极大提升了数据读取效率、降低了物理介质损耗,并扩展了存储容量与管理的灵活性。在怀旧游戏硬件改造、嵌入式系统定制等场景中,硬盘启动技术被广泛应用,以实现老旧设备的功能焕新与性能优化。本文聚焦于索尼PS2游戏主机的硬盘启动方案,深入探讨了如何利用FMCB(Free MCBoo

weixin_34295316的博客 1778

YOLOv11涨点改进 | 全网创新首发、主干改进篇 | CVPR 2025 | RAVLT主干让 YOLOv11 更加强大!通过增强线性注意力机制,特别在小目标和复杂背景的检测上表现突出

本文提出RAVLT主干网络,通过改进YOLOv11的空间特征建模能力,显著提升小物体和复杂背景检测性能。RAVLT采用秩增强线性注意力(RALA)机制,在保持线性计算复杂度的同时解决传统线性注意力低秩问题。RALA通过增强KV缓冲区和输出特征矩阵的秩,提高特征多样性和建模能力。实验表明,RAVLT在ImageNet-1k上达到84.4% Top-1准确率,仅需2600万参数和4.6GFLOPs,性能优于现有线性注意力模型。文章详细介绍了RAVLT模块结构、实现原理及在YOLOv11中的集成方法,包含四种主干

Ai缝合怪、助力小伙伴高效发论文 641

如何同时对多个表或列操作

如何同时对多个表或列操作    通过使用这个存储过程,你就可以方便的对数据库中具有一定规则的或者全部表,对这里的字段进行各种操作,具体看示例!CREATE PROCEDURE SP_execSQLonDB (@TABLENAME VARCHAR(50),        --表名条件  @COLUMNNAME VARCHAR(50),       --字段条件  @SQL NVARCHAR(

DigJim的专栏 2253

【020】C++ 动态内存管理解析:new 和 delete 的正确使用

C++中的动态内存分配是在程序运行时根据需要进行内存空间的分配和释放,与静态内存分配相比,具有更大的灵活性和适应性。动态内存分配可以通过new和delete或者malloc()和free()等函数实现。在程序运行时无法确定所需的内存大小。需要在多个函数之间共享数据,并且数据可能被频繁地创建和销毁。静态数组无法满足需求,例如需要支持可变长度数组。如果在动态分配内存后忘记了释放它,则会导致内存泄漏。为避免内存泄漏,可以使用智能指针或手动管理内存的方式来释放动态分配的内存。

Lion_Long的博客 1471

mysql多个程序同时写一张表_关于多个程序同时操作一个表发生死锁的问题

锁的概述一. 为什么要引入锁多个用户同时对数据库的并发操作时会带来以下数据不一致的问题:丢失更新A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统脏读A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数据的修改,数据恢复原值,此时B得到的数据就与数据库内的数据产生了不一致不可重复读A用户读取数据,随后B用户读出该数据并修改,此时A用户...

weixin_30438053的博客 5545

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

多程序同时操作 mysql_关于多个程序同时操作一个表发生死锁的问题

锁的概述   一. 为什么要引入锁多个用户同时对数据库的并发操作时会带来以下数据不一致的问题:丢失更新A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统脏读A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数据的修改,数据恢复原值,此时B得到的数据就与数据库内的数据产生了不一致不可重复读A用户读取数据,随后B用户读出该数据并修改,此时...

weixin_31327207的博客 3123

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

JDBC事务(同时操作数据库多个表)

public class TestTransaction { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub try { Class.forName("com.mysql.jdbc.Driver"); } catch (Cla

zpatagonia的博客 3717

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

利用insert、update和delete命令可以同时对多个表进行操作_excel基础操作(8)

1. 快速链接网上的数据你可以用以下方法快速建立与网上工作簿数据的链接: 1.打开Internet上含有需要链接数据的工作簿,并在工作簿选定数据,然后单击“编辑→复制”命令; 2.打开需要创建链接的工作簿,在需要显示链接数据的区域中,单击左上角单元格; 3.单击“编辑→选择性粘贴”命令,在“选择性粘贴”对话框中,选择“粘贴链接”按钮即可。若你想在创建链接时不打开Internet 工作簿,可单击需要...

weixin_39896256的博客 2253

关于多个程序同时操作一个表发生死锁的问题

  锁的概述      一. 为什么要引入锁   多个用户同时对数据库的并发操作时会带来以下数据不一致的问题:   丢失更新  A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统   脏读  A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数据的修改,数据恢复原值,此时B得到的数据就与数据库内的数据产生了不一致   不可重...

weixin_33739541的博客 1825

[SpringCloud]前端传id数组,后端同时对多个id、多个表进行操作

项目前端为Ionic架构,后端为SpringCloud,要同时根据多个人id进行数据操作,这时从前端传回id数组,然后在后端进行数组拆分,再分别对每个用户id进行操作。 具体代码实现如下: 首先Controller接收前端传回的数组以及其他数据, @ApiOperation(value = "加分") @PostMapping(value = {"/create"}) ...

那么多的人,你要去哪里 3957

表的插入、更新、删除、合并操作_4_同时往多个表插入记录

同时往多个表插入记录 需求描述 需求:从dept表里插入数据到3张表,当loc是NEW YORK和BOSTON时向dept_east表中插入,当当loc是CHICAGO时向dept_mid表中插入,其它情况往dept_west表中插入. 解决方法:这里通过INSERT ALL WHEN Condition THEN INTO TABLENAME VALUES (…)的方式. SQL代码 -- Oracle: CREATE TABLE d...

数据科学汇集 360

利用insert、update和delete命令可以同时对多个表进行操作吗_excel基础操作(5)

1. 快速隐藏/显示选中单元格所在行和列在Excel 中隐藏行或列, 通常可以通过格式菜单中的行或列选项中的隐藏来实现, 或者是选中行号或列标后通过鼠标右键的快捷菜单来完成, 对于分散的单元格区域, 可以这样快速隐藏: 快速隐藏选中单元格所在行:“Ctrl + 9” 快速隐藏选中单元格所在列:“Ctrl + 0” 取消行隐藏:“Ctrl+Shift+9” 取消行隐藏:“Ctrl+Shift+0”2...

weixin_39555320的博客 1864

利用insert、update和delete命令可以同时对多个表进行操作_3.2 工作表的基本操作...

3.2.1 工作表的创建默认情况下,Excel在创建工作簿时,自动包含了名为“Sheet1”的一张工作表。用户若要新建工作表有两种常见方法:1、 直接单击工件表标签右侧类似加号的【新工作表】按钮,如图 3‑17所示。图 3-17 点击【新工作表】新建工作表2、 光标置于工作表标签上单击鼠标右键,在弹出的快捷菜单上选择【插入】命令,再选择【工作表】按钮,如图 3‑18所示。图 3-18 通过“右键快...

weixin_39533361的博客 2477
上一篇: 切割地址,手机号归属地,IP归属地
下一篇: 001 pandas 输入输出文件
CoolScript
博客等级 码龄9年 26粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值