作用:

  解决一开始数据库建立不合理造成的字段冗余,从而提取部分字段,数据迁移、拼接字符串的功能。

格式:

  concat(字段1,'间隔符',字段2....)

  concat_ws('间隔符',字段1,字段2)

数据准备:

  

#创建表
create table employee(
id int not null unique auto_increment,
name varchar(20) not null,
sex enum('male','female') not null default 'male', #大部分是男的
age int(3) unsigned not null default 28,
hire_date date not null,
post varchar(50),
post_comment varchar(100),
salary double(15,2),
office int, #一个部门一个屋子
depart_id int
);
#插入记录
#三个部门:教学,销售,运营
insert into employee(name,sex,age,hire_date,post,salary,office,depart_id) values
('egon','male',18,'','老男孩驻沙河办事处外交大使',7300.33,401,1), #以下是教学部
('alex','male',78,'','teacher',1000000.31,401,1),
('wupeiqi','male',81,'','teacher',8300,401,1),
('yuanhao','male',73,'','teacher',3500,401,1),
('liwenzhou','male',28,'','teacher',2100,401,1),
('jingliyang','female',18,'','teacher',9000,401,1),
('jinxin','male',18,'','teacher',30000,401,1),
('成龙','male',48,'','teacher',10000,401,1), ('歪歪','female',48,'','sale',3000.13,402,2),#以下是销售部门
('丫丫','female',38,'','sale',2000.35,402,2),
('丁丁','female',18,'','sale',1000.37,402,2),
('星星','female',18,'','sale',3000.29,402,2),
('格格','female',28,'','sale',4000.33,402,2), ('张野','male',28,'','operation',10000.13,403,3), #以下是运营部门
('程咬金','male',18,'','operation',20000,403,3),
('程咬银','female',18,'','operation',19000,403,3),
('程咬铜','male',18,'','operation',18000,403,3),
('程咬铁','female',18,'','operation',17000,403,3)
;

  操作示例:

  只做字符串的拼接:

 mysql> select concat('name:',name) as mingzi,concat('sex:',sex) from  emp;
+-----------------+--------------------+
| mingzi | concat('sex:',sex) |
+-----------------+--------------------+
| name:egon | sex:male |
| name:alex | sex:male |
| name:wupeiqi | sex:male |
| name:yuanhao | sex:male |
| name:liwenzhou | sex:male |
| name:jingliyang | sex:female |
| name:jinxin | sex:male |
| name:成龙 | sex:male |
| name:歪歪 | sex:female |
| name:丫丫 | sex:female |
| name:丁丁 | sex:female |
| name:星星 | sex:female |
| name:格格 | sex:female |
| name:张野 | sex:male |
| name:程咬金 | sex:male |
| name:程咬银 | sex:female |
| name:程咬铜 | sex:male |
| name:程咬铁 | sex:female |
+-----------------+--------------------+
18 rows in set (0.00 sec)

  数据迁移(同时进行字符串拼接):

 mysql> create table aa select concat('name:',name) as mingzi,concat('sex:',sex) from  emp;
Query OK, 18 rows affected (0.03 sec)
Records: 18 Duplicates: 0 Warnings: 0 mysql>
mysql> show tables;
+---------------+
| Tables_in_db2 |
+---------------+
| aa |
| big_data |
| emp |
+---------------+
3 rows in set (0.00 sec) mysql> select * from aa ;
+-----------------+--------------------+
| mingzi | concat('sex:',sex) |
+-----------------+--------------------+
| name:egon | sex:male |
| name:alex | sex:male |
| name:wupeiqi | sex:male |
| name:yuanhao | sex:male |
| name:liwenzhou | sex:male |
| name:jingliyang | sex:female |
| name:jinxin | sex:male |
| name:成龙 | sex:male |
| name:歪歪 | sex:female |
| name:丫丫 | sex:female |
| name:丁丁 | sex:female |
| name:星星 | sex:female |
| name:格格 | sex:female |
| name:张野 | sex:male |
| name:程咬金 | sex:male |
| name:程咬银 | sex:female |
| name:程咬铜 | sex:male |
| name:程咬铁 | sex:female |
+-----------------+--------------------+
18 rows in set (0.00 sec)

使用concat做字符串拼接和数据迁移的更多相关文章

  1. $.ajax从后台取数据 然后做字符串拼接的例子

  2. 使用 SQL的 for xml path来进行字符串拼接

    本篇主要讲怎么利用SQL的FOR XML PATH 参数来进行字符串拼接,FOR XML PATH的用法很简单,它会以xml文件的形式来返回数据. 我的讲解步骤: 1:构造初始数据 2:提出问题 3: ...

  3. StringBuilder(字符串拼接类)

    StringBuilder是在using System.Text命名空间下的一个成员. 在做字符串拼接的时候,因为字符串是引用类型,新的字符串是会再内存中创建的,所以用+号拼接字符串是比较耗效率的. ...

  4. StringBuilder字符串拼接类

    StringBuilder StringBuilder是在using System.Text命名空间下的一个成员. 在做字符串拼接的时候,因为字符串是引用类型,新的字符串是会再内存中创建的,所以用+号 ...

  5. HBase存储剖析与数据迁移

    1.概述 HBase的存储结构和关系型数据库不一样,HBase面向半结构化数据进行存储.所以,对于结构化的SQL语言查询,HBase自身并没有接口支持.在大数据应用中,虽然也有SQL查询引擎可以查询H ...

  6. python语法_字符串拼接

    +号可以用来做字符串拼接 print("abc"+"efg"+"def") abcefgdef 字符串(str)与数字(int)不能使用+进 ...

  7. C# 字符串拼接性能探索

    本文通过ANTS Memory Profiler工具探索c#中+.string.Concat.string.Format.StringBuilder.Append四种方式进行字符串拼接时的性能. 本文 ...

  8. mybatis中使用mysql的模糊查询字符串拼接(like)

    方法一: <!-- 根据hid,hanme,grade,模糊查询医院信息--> 方法一: List<Hospital> getHospitalLike(@Param(" ...

  9. 字符串拼接原理 javac 和 javap

    一.新建一个 Test1 类 public class Test1 { public static void main(String[] args) { String a = "a" ...

随机推荐

  1. tomcat https

    转自 http://11lingxian.iteye.com/blog/1491607 双向认证: 客户端向服务器发送消息,首先把消息用客户端证书加密然后连同时把客户端证书一起发送到服务器端, 服务器 ...

  2. python 中的type

    1. type(object) -> the object's type 返回的是object的类型,即对象的类定义 例如:用元类动态生成子类metaclass = type(father)   ...

  3. percona xtradb cluster test

    docker run --rm -ti -e CLUSTER_NAME=test -e MYSQL_ALLOW_EMPTY_PASSWORD=1 --entrypoint="bash&quo ...

  4. cf499A-Watching a movie

    http://codeforces.com/problemset/problem/499/A A. Watching a movie   You have decided to watch the b ...

  5. 17-list,字典使用练习

    randint(a,b)包括 [a,b]中随机, 包含a,b range(n)= 0,1,2,3....n-1 chr() 数字转字符: chr(65) 得到 :A ord()字符转数字:  ord( ...

  6. Monkey&Monkey Runner使用

    adb shell monkey -p com.ajb.sp -s 500 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v ...

  7. source insight 保存时删除多余空格,去除多余空格 space tab键

    source insight 保存时删除多余空格,去除多余空格 space tab键 摘自:https://blog.csdn.net/lanmanck/article/details/8638391 ...

  8. NAT穿透的详细讲解及分析.RP

    原创出处:https://bbs.pediy.com/thread-131961.htm 转载来源: https://blog.csdn.net/g_brightboy/article/details ...

  9. mysql元数据查询

    截图来自<深入浅出MySQL++数据库开发.优化与管理维护+第2版+唐汉明>一书

  10. org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions:323) | Loading XML bean definitions from class path resource [

    今天遇到一个这样的错误,这个错误是说我的spring的框架的文档没有写正确.但是反复检查,文档没有错误,原因是我使用了自己只做的user library,而且使用了 下边的System library ...