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语句复制到数据库执行。