excel拼接数据库

1、excel表格内容导入数据库

前提条件:已整理好excel表格内容

步骤:①将excel表转成插入语句所需的格式,注意excle表中转义字符'

INSERT INTO table_name (column1,column2,column3,...)

VALUES

(value1,value2,value3,...),

(value4,value5,value6,...),

..........................;

--插入的值类型与格式:整数-直接写、小数-直接写、字符串-单引号括住、含单引号的字符串-单引号括住且内部用两个单引号转义、日期-单引号括住、布尔值-直接写、NULL-直接写

②复制表格内容到插入语句的values后面,注意去掉空格和无意义的特殊字符,并运行语句。

③如果没有去掉空格/tab符等字符的话,采用以下方式尝试去除

--首先检查具体的空白字符(如果下面例子不包含所要查找的控制字符,自行替换)

SELECT

column_name as 原始内容,

LENGTH(column_name) as 字符长度,

HEX(column_name) as 十六进制,

ASCII(column_name) as 第一个字符ASCII,

-- 显示控制字符

REPLACE(REPLACE(REPLACE(column_name,

CHAR(9), '[TAB]'),

CHAR(10), '[LF]'),

CHAR(13), '[CR]') as 显示控制字符

FROM table_name

WHERE 限制条件;
--然后查看字段长度

SELECT

column_name as 当前内容,

LENGTH(column_name) as 长度,

HEX(column_name) as 十六进制,

TRIM(column_name) as 清理后内容,

LENGTH(TRIM(column_name)) as 清理后长度

FROM table_name

WHERE 限制条件;
--接着删去想要删的控制字符,如tab。然后再次查看字段长度是否发生变化

UPDATE table_name

SET column_name = REPLACE(column_name, CHAR(9), '')

WHERE 限制条件;

查看是否成功删除无用的控制字符。

2、在数据库中删除excel表对应的数据

步骤:①在数据库中查询想要删除的记录的关键字段,并将结果导入excel中

SELECT column1,column2,column3 FROM table_name;

②在excel表格空白的一列开头写下

="delete from table_name where column1='"&A2&"' and column2 ='"&B2&"' and column3='"&C2&"';" --其中A2、B2、C2指的是字段内容对应的单元格

然后下拉填充,并将生成的SQL语句复制到数据库执行。

相关推荐
YOU OU4 分钟前
Spring IoC&DI
java·数据库·spring
Muscleheng1 小时前
Navicat连接postgresql时出现‘datlastsysoid does not exist‘报错
数据库·postgresql
罗超驿2 小时前
18.事务的隔离性和隔离级别:MySQL面试高频考点全解析
数据库·mysql·面试
jran-2 小时前
Redis 命令
数据库·redis·缓存
小江的记录本2 小时前
【Java基础】Java 8-21新特性:JDK21 LTS:虚拟线程、模式匹配switch、结构化并发、序列集合(附《思维导图》+《面试高频考点清单》)
java·数据库·python·mysql·spring·面试·maven
June`3 小时前
多线程redis下如何解决aof重写和rdb持久化的数据一致性问题
数据库·redis·缓存
二宝哥3 小时前
离线安装maven
java·数据库·maven
SZLSDH3 小时前
场景适配论 | 数字孪生IOC建设中渲染技术与智能体能力的协同逻辑
前端·数据库·ai·数字孪生·数据可视化·智能体
这个DBA有点耶3 小时前
SQL改写实战:子查询、CTE、窗口函数性能对比
数据库·mysql·性能优化
@我漫长的孤独流浪3 小时前
数据库完整性约束全解析:从理论到实践
数据库