MySQL SELECT문은 데이터베이스 테이블의 행 값을 불러옵니다. 행을 가져오면 열이 같이 오게 됩니다. 단일행, 복수행, 모든행 등을 불러올 수 있습니다.
MySQL SELECT문 이란?
MySQL SELECT 문이란 테이블의 행 값을 불러오는 명령어입니다. 행을 불러오면 자연스럽게 하위에 속하는 열의 데이터들이 딸려옵니다.
SELECT
행 이름
FROM
테이블 이름;
SELECT
문 뒤에 조회를 원하는 행 이름(column)을 작성합니다. FROM
문 뒤에는 조회를 원하는 테이블 이름을 기입합니다.
WorkBench에서 SELECT 사용
MySQL 샘플 데이터를 기준으로 설명합니다.
개별 행 불러오기
WorkBench에서는 네비게이션 창에서 윈도우의 폴더 경로를 찾듯이 쉽게 테이블 행의 데이터를 불러올 수 있습니다. 원하는 행 이름을 선택하고 마우스 우클릭을 해서 Select Rows – Limit 1000 항목을 실행해줍니다.
①classicmodels(데이터 베이스 이름) → ②Tables(테이블 리스트) → ③employees(테이블 이름) → ④Columns(행 목록) → ⑤firstName(행 이름) → ⑥Select Rows – Limit 1000(선택한 행의 열 값 불러오기)
firstName
행의 열 데이터들이 SELECT
문으로 자동 작성되어 표로 바로 출력됩니다.
Select Rows – Limit 1000 제한 풀기
Edit → Preferences… 를 클릭합니다.
SQL Editor → SQL Exection → Limit Rows Count : 의 숫자 값을 조절해줍니다.
단, 상단의 Limit Rows는 안전을 위해서 체크해 놓는 것이 좋습니다. 왜냐하면 데이터베이스의 개수가 수십억개가 있는 경우 실수로 모든 데이터를 불러오면 컴퓨터에 과부하를 줄 수 있기 때문입니다.
모든 행 불러오기
워크벤치에서 해당 테이블의 모든 행을 불러오려면 어떻게 해야 할까요? 즉 테이블의 전체 데이터를 한 번에 보려면 어떤 방법을 사용해야 할까요?
원하는 테이블 이름을 마우스 우클릭해서 Select Rows 를 클릭하면 됩니다.
테이블의 모든 행이 SELECT *
명령문으로 작성되어 하단에 자동으로 출력됩니다. 각 행에 속하는 열의 모든 값이 Limit rows 제한 개수 이내로 모두 출력됩니다.
SQL 문 직접 작성
먼저 원하는 데이터 베이스를 마우스로 더블 클릭 해서 굵은 글씨가 표시되었는지 확인합니다. 이 절차는 SQL 명령문에서 USE 데이터베이스 이름;
에 해당합니다.
+SQL 아이콘을 클릭해서 SQL 새 파일을 생성합니다.
SELECT
행 이름
FROM
테이블 이름;
SELECT
문 뒤에는 조회를 원하는 행 이름을 기입합니다. FROM
뒤에는 조회를 원하는 테이블 이름을 기입합니다. SQL 문장의 마지막 세미 콜론 ;
을 빼먹지 않도록 합니다.
번개 모양 아이콘을 클릭하거나 단축키 Ctrl + Enter를 누르면 하단에 작성한 값대로 표의 데이터가 출력됩니다.
실행이 되지 않을 경우, 데이터 베이스 이름에 더블 클릭을 했는지 또는 마지막 문장에 세미 콜론을 빠뜨리지 않았는지 확인합니다.
CLI에서 SELECT 사용
개별 행 불러오기
SELECT
행 이름
FROM
테이블 이름;
먼저 데이터베이스 사용을 요청합니다. 데이터베이스 이름이 classicmodels라면 명령어는 아래와 같습니다.
USE classicmodels;
SELECT
문에 조회를 원하는 행 이름을 기입하고, FROM
문에는 조회를 원하는 테이블 명을 기입합니다.
조회를 원하는 행 이름이 firstName
이고, 원하는 테이블이 employees
라면 명령문은 아래와 같습니다.
SELECT
firstName
FROM
employees;
결과는 아래처럼 행이름이 firstName
인 열 데이터들이 employees
테이블에서 조회됩니다.
복수 행 불러오기
SELECT
행 이름 1, 행 이름 2, ...
FROM
테이블 이름;
불러오고 싶은 행이 두 개 이상인 경우 동시에 불러올 수 있습니다. 불러올 행 이름이 각각 lastName
과 firstName
이고 테이블 명이 employees
인 경우 명령문은 아래와 같습니다.
SELECT
lastName, firstName
FROM
employees;
lastName
과 firstName
의 복수 행의 열데이터가 출력된 모습입니다.
모든 행 불러오기
SELECT
*
FROM
테이블 이름;
모든 행을 나타내는 기호는 *
입니다.
SELECT
*
FROM
employees;
모든 employeeNumber
, lastName
, firstName
, extension
, email
, officeCode
, reportsTo
, jobTitle
행과 그에 해당 하는 열값이 employees
테이블에서 한 번에 조회된 모습입니다.