MySQL数据库,字符串字段拆分
Posted he0707
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL数据库,字符串字段拆分相关的知识,希望对你有一定的参考价值。
英文姓名存储在一个字段,如何拆分出firstname和lastname
MySQL数据库,字符串字段拆分
英文姓名存储在一个字段
如何拆分出firstname和lastname
查询语句
SELECT REPLACE(name, CONCAT(\' \', SUBSTRING_INDEX(name, \' \', -1)), \'\') AS firstname, SUBSTRING_INDEX(name, \' \', -1) AS lastname
FROM people;
SUBSTRING_INDEX语法
(1)substring_index(string, sep, num),即substring_index(字符串, 分隔符, 序号)
(2)参数说明
- string:用于截取目标字符串的字符串。可为字段,表达式等。
- sep:分隔符,string存在且用于分割的字符,比如“,”、“.”、“ ”等。
- num:序号,为非0整数。若为整数则表示从左到右数,若为负数则从右到左数。比如“www.mysql.com”截取字符‘www’,分割符为“.”,从左到右序号为1,即substring_index("www.mysql.com", \'.\', 1)。若从右开始获取“com”则为序号为-1,即substring_index("www.mysql.com", \'.\', -1)。
mysql 垂直拆分
为什么需要垂直拆分
- 为了提升数据库性能,可以考虑将 blob 和 text 拆分到单独的表中去
垂直拆分为什么可以提升性能
- 将 blob, text 这些大字段拆分出去后。mysql 底层存储单页可以存储更多 row 记录(其实也多不了多少, 因为 blob 和 text 字段可能只有前 20 个字段存放在数据页,其它都存放在 行-溢出数据页。或许垂直拆分后只能优化随意写的 select * 语句)
以上是关于MySQL数据库,字符串字段拆分的主要内容,如果未能解决你的问题,请参考以下文章