如何将两列与 MySQL 中的现有列名合并为一?
在本文中,我们将看到一个 SQL 查询将两列与现有列名连接成一列。我们可以使用 CONCAT()函数执行上述活动。
CONCAT():它以列名作为参数,并在将列传递参数的所有值连接到函数后返回具有值的列。有两种方法可以执行活动:
- 无需使用 CONCAT函数替换现有列。
- 通过使用 REPLACE()函数与 CONCAT()函数替换现有列。
句法:
CONCAT(column_name1, column_name2) AS column_name;
第一步:创建数据库
我们可以使用以下命令创建一个名为 geeks 的数据库。
询问:
CREATE DATABASE geeks;
第二步:使用数据库
使用以下 SQL 语句将数据库上下文切换到极客:
询问:
USE geeks;
第三步:表定义
我们的极客数据库中有 demo_table。
询问:
CREATE TABLE demo_table(
FIRSTNAME VARCHAR(20),
LASTNAME VARCHAR(20),
AGE INT);
第 4 步:将数据插入表中
询问:
INSERT INTO demo_table VALUES
('Romy', 'Kumari', 21),
('Pushkar', 'Jha', 22),
('Meenakshi', 'Jha', 19),
('Rinkle', 'Arora', 22),
('Ayushi', 'Choudhary', 21),
('Sujata', 'Jha', 31);
第五步:查看内容
执行以下查询以查看表的内容
询问:
SELECT * FROM demo_table;
输出:
第 6 步:将两列合并为一列
方法一:不更换现有色谱柱
此方法不会对原始表进行更改。
为了演示,我们将连接 FIRSTNAME 和 LASTNAME,并将列命名为 FIRSTNAME。
询问:
SELECT *, CONCAT(FIRSTNAME, LASTNAME) AS FIRSTNAME
FROM demo_table;
输出:
在这里,我们可以看到 FIRSTNAME 和 LASTNAME 是连接的,但它们之间没有空格,如果要在 FIRSTNAME 和 LASTNAME 之间添加空格,请在 CONCAT()函数中添加空格(' ')。
询问:
SELECT *, CONCAT(FIRSTNAME,' ', LASTNAME) as FIRSTNAME
FROM demo_table;
输出:
方法2:通过替换现有列
此方法将更改原始表。
为了演示,我们将 FIRSTNAME 替换为 FIRSTNAME 和 LASTNAME 列的连接值。
询问:
UPDATE demo_table
SET FIRSTNAME = REPLACE(FIRSTNAME,FIRSTNAME, CONCAT(FIRSTNAME,' ', LASTNAME));
输出: