📜  如何将两列与 MySQL 中的现有列名合并为一?

📅  最后修改于: 2022-05-13 01:54:35.924000             🧑  作者: Mango

如何将两列与 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));

输出: