기타 함수
함수 |
설명 |
SLEEP(초) |
지정 시간(초) 동안 실행을 지연시킴 |
CONVERT(값, 데이터형식) |
데이터 형식을 바꿈 |
UUID() |
UUID(Universally Unique Identifier) 값을 반환 |
VERSION() |
MySQL의 버전을 반환 |
USER() |
현재 유저를 반환 |
CONNECTION_ID() |
현재 연결의 CONNECTION_ID를 반환 |
LAST_INSERT_ID() |
AUTO_INCREMENT로 생성된 열의 마지막으로 삽입된 값을 반환 |
FOUND_ROWS() |
가장 최근에 실행된 SELECT 문에서 검색된 행(row)의 수를 반환 |
BENCHMARK() |
주어진 횟수만큼 특정 작업을 반복 (성능, 부하 테스트) |
SLEEP()
지정 시간(초) 동안 실행을 지연시킵니다.
1
2
3
4
5
6
7
| SELECT SYSDATE(), SLEEP(3), SYSDATE();
+---------------------+----------+---------------------+
| SYSDATE() | SLEEP(3) | SYSDATE() |
+---------------------+----------+---------------------+
| 2024-02-25 19:28:06 | 0 | 2024-02-25 19:28:09 |
+---------------------+----------+---------------------+
|
CONVERT()
값을 지정한 데이터 형식으로 바꿉니다.
1
2
3
4
5
6
| SELECT CONVERT(3.14, SIGNED INTEGER);
-- >> 3
SELECT CONVERT('2024-02-24', DATE);
-- >> 2024-02-24
SELECT CONVERT('hello', BINARY);
-- >> hello
|
UUID()
UUID는 “Universally Unique Identifier”의 약자로, 범용적으로 고유한 식별자
를 나타내는 128비트 길이의 값입니다. UUID는 일반적으로 무작위로 생성되며, 충돌이 발생할 확률이 매우 낮아 거의 유일성이 보장됩니다. 이는 분산 환경에서 고유한 식별자가 필요한 경우나 중복을 최소화해야 하는 경우에 유용합니다.
1
2
| SELECT UUID();
-- >> 550e8400-e29b-41d4-a716-446655440000
|
VERSION()
MySQL의 버전을 반환합니다.
1
2
| SELECT VERSION();
-- >> 11.2.2-MariaDB
|
USER()
현재 유저를 반환합니다.
1
2
| SELECT USER();
-- >> user@localhost
|
CONNECTION_ID()
MySQL 서버에서 현재 연결의 고유 식별자
를 반환하는 함수입니다. 이 함수를 호출하면 현재 세션의 연결 ID가 반환됩니다. 이 연결 ID는 해당 세션이나 클라이언트를 고유하게 식별하는 데 사용됩니다.
1
2
| SELECT CONNECTION_ID();
-- >> 58
|
LAST_INSERT_ID()
AUTO_INCREMENT로 생성된 열의 마지막으로 삽입된 값을 반환
하는 함수입니다. 이 함수는 주로 AUTO_INCREMENT 열에 대한 마지막으로 삽입된 값을 확인하고, 이 값을 다른 테이블의 외래 키로 사용하거나 프로그램 로직에서 활용할 때 사용됩니다.
1
2
3
4
5
6
7
8
| CREATE TABLE example_table (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255)
);
INSERT INTO example_table (name) VALUES ('John');
SELECT LAST_INSERT_ID();
-- >> 1
-- 마지막으로 삽입된 AUTO_INCREMENT 열의 값을 조회
|
FOUND_ROWS()
가장 최근에 실행된 SELECT 문에서 검색된 행(row)의 수
를 반환합니다. 이 함수는 일반적으로 SELECT 문의 결과에 대한 행의 수를 반환하는 것이 아니라, 그 전에 실행된 SELECT 문에서 반환된 전체 행의 수를 반환합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| SELECT product FROM math_sample;
+---------+
| product |
+---------+
| APPLE |
| APPLE |
| BANANA |
| BANANA |
| ORANGE |
| ORANGE |
| GRAPE |
+---------+
SELECT FOUND_ROWS();
-- >> 7
|
1
2
3
4
5
6
7
8
9
10
11
| SELECT product FROM math_sample GROUP BY product;
+---------+
| product |
+---------+
| APPLE |
| BANANA |
| GRAPE |
| ORANGE |
+---------+
SELECT FOUND_ROWS();
-- >> 4
|
BENCHMARK()
주어진 횟수만큼 특정 작업을 반복
합니다. 성능 측정이나 부하 테스트 등에 활용할 수 있습니다. 반환값은 마지막 BENCHMARK의 동작의 반환 값입니다.
1
2
3
4
5
6
7
8
9
| SELECT SYSDATE(),
BENCHMARK(300000000, RAND()) AS BM,
SYSDATE();
+---------------------+----+---------------------+
| SYSDATE() | BM | SYSDATE() |
+---------------------+----+---------------------+
| 2024-02-25 19:45:28 | 0 | 2024-02-25 19:45:31 |
+---------------------+----+---------------------+
|