Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

CONCAT()을 사용하여 복잡한 MySQL 삽입을 수행하시겠습니까?

<시간/>

복잡한 MySQL 삽입을 수행하려면 CONCAT() 함수를 사용할 수 있습니다. 예제를 보고 StudentId 및 StudentFirstName이 있는 테이블을 생성해 보겠습니다.

그 후 복잡한 MySQL 삽입이 수행되고 모든 값에 대해 'Web Student' 텍스트가 삽입되고 고유한 StudentId가 연결됩니다.

첫 번째 테이블을 생성하는 쿼리는 다음과 같습니다 -

mysql> create table DemoTable
(
   StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   StudentFirstName varchar(20)
);
Query OK, 0 rows affected (0.55 sec)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> insert into DemoTable(StudentFirstName) values('John');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTableStudentFirstName) values('Larry');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable(StudentFirstName) values('Bob');
Query OK, 1 row affected (0.13 sec)

다음은 select 문을 사용하여 테이블의 모든 레코드를 표시하는 쿼리입니다 -

mysql> select *from DemoTable;

이것은 다음과 같은 출력을 생성합니다 -

+-----------+------------------+
| StudentId | StudentFirstName |
+-----------+------------------+
| 1         | John             |
| 2         | Larry            |
| 3         | Bob              |
+-----------+------------------+
3 rows in set (0.00 sec)

다음은 두 번째 테이블을 생성하는 쿼리입니다. -

mysql> create table DemoTable2
(
   ClientId int,
   ClientProjectName varchar(20)
);
Query OK, 0 rows affected (0.54 sec)

다음은 복잡한 MySQL 삽입입니다 -

mysql> insert into DemoTable2 select StudentId,concat('Web Student=', StudentId) from DemoTable;
Query OK, 3 rows affected (0.17 sec)
Records : 3 Duplicates : 0 Warnings : 0

select 문을 사용하여 두 번째 테이블의 모든 레코드 표시 -

mysql> select *from DemoTable2;

이것은 다음과 같은 출력을 생성합니다 -

+----------+-------------------+
| ClientId | ClientProjectName |
+----------+-------------------+
| 1        | Web Student=1     |
| 2        | Web Student=2     |
| 3        | Web Student=3     |
+----------+-------------------+
3 rows in set (0.00 sec)