`
hope598
  • 浏览: 66858 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

分割字符串并插入表---mysql

    博客分类:
  • sql
阅读更多

      需求:有一串数字构成的字符串,并且各数字间由;隔开,如:'aaa;bbb;ccc;ddd;eee',现要把字符串以;为分隔符分割成5个单独的字符串并插入到数据表对应字段中。

 

      解决办法如下:

 

mysql> set @a="aaa;bbb;ccc;ddd;eee";
Query OK, 0 rows affected

mysql> set @b=concat("insert into test values('",replace(@a,";","'),('"),"')");
Query OK, 0 rows affected

mysql> select @b;
+--------------------------------------------------------+
| @b                                                     |
+--------------------------------------------------------+
| insert into test values('aaa'),('bbb'),('ccc'),('ddd'),('eee') |
+--------------------------------------------------------+
1 row in set

mysql> 

 

然后再prepare,execute...(可用存储过程)。

 

ps:解释下这句话

mysql> set @b=concat("insert into test values('",replace(@a,";","'),('"),"')");

 concat里面实际是由三个字符串连接起来的:

“insert into test values‘”,replace(@a,“;”,“’),(‘”和“’)”。

其中replace(@a,“;”,“’)会提前执行替换操作,结果是:aaa’),(‘bbb’),(‘ccc’),(‘ddd’),(‘eee

 

没测过字符串足够长时执行速度怎样,希望对大家有用~

0
0
分享到:
评论
2 楼 hope598 2009-10-25  
wenxiang_tune 写道
| insert into test values('aaa'),('bbb'),('ccc'),('ddd','eee') | 注意看有错啊!!('ddd','eee') 并没有拆分开!写错了??

谢谢提醒啊,已经解决了
1 楼 wenxiang_tune 2009-10-25  
| insert into test values('aaa'),('bbb'),('ccc'),('ddd','eee') | 注意看有错啊!!('ddd','eee') 并没有拆分开!写错了??

相关推荐

    Mysql通过存储过程分割字符串为数组

    在处理分割字符串的问题中,它被用来帮助获取子串的位置。 2. **SUBSTRING_INDEX(str, delim, count)**: 此函数根据分隔符`delim`在字符串`str`中分割子串。当`count`为正数时,返回从左侧开始计算的第`count`个...

    mysql面试题-mysql经典面试题目-数据库的基本概念-SQL语法-事务处理-索引优化-性能调优-mysql-面试题目

    分表和分库是为了应对大数据量带来的性能问题,通过水平分割(按行)或垂直分割(按列)将数据分散到多个表或库中,以减轻单个表或库的压力。分库分表可以提高查询效率和系统的可扩展性。 数据库锁用于并发控制,...

    MySql 参考手册

    - `SUBSTRING_INDEX(str, delim, count)`:按 delimiter 分割字符串并返回第 count 个部分。 - `TRIM([BOTH|LEADING|TRAILING] ... FROM str)`:移除字符串两侧的空白字符或其他字符。 以上内容涵盖了 MySQL 数据...

    一个字符串分隔多个参数存储过程调试

    1. 字符串处理函数的使用,如分割字符串、提取子字符串等。 2. 存储过程的编写,包括接收和处理分隔字符串的参数。 3. 数据库系统的调试方法,如设置断点、查看变量值和执行计划。 4. 如何利用数据库管理工具进行...

    mysql-东软课件

    1. 数据类型:如整数(INT)、浮点数(FLOAT/DOUBLE)、字符串(VARCHAR)、日期时间(DATE/TIME/DATETIME)等。 2. 数据库操作:创建(CREATE)、插入(INSERT)、查询(SELECT)、更新(UPDATE)、删除(DELETE)...

    JAVA串口助手接收数据并解析数据存入MySQL数据库中

    这可能涉及字符串分割、正则表达式匹配或者JSON/XML解析等,具体取决于数据格式。例如,如果数据是以逗号分隔值(CSV)格式,可以使用`String.split()`方法来拆分。 4. **MySQL数据库操作** 在Java中,我们可以使用...

    MySQL面试题-BAT的MySQL面试题

    - 字符串函数如SUBSTRING、REVERSE。 - 日期函数如NOW、CURRENT_DATE。 - 聚合函数如COUNT、SUM、AVG、MAX、MIN。 8. **NOW()与CURRENT_DATE()的区别**: NOW()返回当前的日期和时间,而CURRENT_DATE()仅返回...

    MySQL数据库开发教程-基础概念、SQL语法和Node.js操作详解

    - 原子性:确保数据表中的每一列都是不可分割的数据项,即每个字段都包含单一的信息。 - 唯一性:确保数据表中的每一条记录都是唯一的。通常通过定义主键来实现。 - 关联性:确保数据中的每个字段都与主键有直接...

    MySql培训日志_stu

    - `LIKE`用于模糊查询,其中`%`表示任意长度的字符串,`_`表示单个字符。 #### 五、数据排序 - **1.6 排序数据** - **1.6.1 单一字段排序** - 使用`ORDER BY column_name [ASC|DESC];`对单个字段进行排序。 - *...

    MySQL必知必会(文字版)_MYSQL_

    - 字符串类型(String Types):VARCHAR、CHAR、TEXT等,用于存储文本数据。 - 日期时间类型(Date and Time Types):DATE、TIME、DATETIME、TIMESTAMP等,用于记录日期和时间。 3. SQL基本操作 - SELECT语句:...

    往数据库插入数据,相同的不插入

    - 首先,通过`matAdmin.split(",")`将输入字符串按逗号分割成数组。 - 接下来,遍历该数组中的每个元素,根据这些元素创建新的`MatAdmin`对象并准备插入数据库。 - 如果`malist`为空或大小为0,则直接将所有新...

    Python 从入门到深入.docx

    - 使用 `strip()`, `split()` 方法去除空白字符及按指定字符分割字符串。 - **字符串替换** - `replace()` 方法的应用。 - **字符串排序** - 排序字符串中的字符。 - **字符串合并** - 将多个字符串合并成一个。...

    MySQL数据库面试宝典1.pdf

    MySQL支持多种数据类型,包括整数类型、实数类型、字符串类型等。 - **整数类型**:如TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT。 - **实数类型**:如FLOAT、DOUBLE。 - **字符串类型**:如CHAR、VARCHAR、TEXT。 ...

    Php常用函数

    - **`explode`**:使用分隔符将字符串分割成数组。 - **`htmlspecialchars`**:将预定义的字符转换为HTML实体。 - **`implode`**:使用粘合字符串将数组元素组合成一个字符串。 - **`join`**:使用粘合字符串将数组...

    网易技术部MySQL中文资料

    - 讲解了两种字符串类型的区别:`char`是固定长度的,而`varchar`则是可变长度的,包括它们的使用场景和性能差异。 - **3.2.2 text和blob** - 对比了`text`和`blob`这两种用于存储大文本和二进制数据的数据类型,...

Global site tag (gtag.js) - Google Analytics