MySQL을 사용하여 데이터 베이스를 생성하고, 기본 쿼리문을 통해 실습해 보는 시간을 가지도록 하겠습니다.
데이터베이스 생성
데이터베이스 생성
CREATE DATABASE practice;
practice 데이터베이스를 생성합니다.
데이터베이스 사용
USE practice;
데이터 베이스를 이용해 테이블을 만들거나 수정하거나 삭제하는 등의 작업을 하려면, 먼저 데이터베이스를 사용하겠다는 명령을 전달하여야 합니다.
테이블 생성
CREATE TABLE user (
id int PRIMARY KEY AUTO_INCREMENT,
name varchar(255),
email varchar(255)
);
user 테이블을 만드는 예제입니다. 테이블은 필드와 함께 만들어야 합니다. 위의 코드 예제에서 생성한 테이블은 아래와 같은 필드 조건이 있습니다.
필드 이름 | 필드 타입 | 속성 |
id | 숫자 | Primary key이면서 자동 증가되도록 설정 |
name | 문자열(최대 255개) | |
문자열(최대 255개) |
테이블 정보 확인
DESCRIBE user;
위의 명령어를 입력 시 아래와 같이 user 테이블의 정보를 확인할 수 있습니다.
SQL 명령어 간략하게 살펴보기
MySQL에서 자주 사용하는 명령어 몇 가지를 간략하게 살펴봅시다.
SELECT
- SELECT는 데이터셋에 포함될 특성을 특정합니다.
SELECT 'hello world'
// 일반 문자열
SELECT 2
// 숫자
SELECT 15 + 3
// 간단한 연산
FROM
- 테이블과 관련한 작업을 할 경우 반드시 입력하여야 합니다. FROM 뒤에는 결과를 도출해 낼 데이터베이스 테이블을 명시합니다
SELECT 특성_1
FROM 테이블_이름
// 특정 특성을 테이블에서 사용
SELECT 특성_1, 특성_2
FROM 테이블_이름
// 몇 가지의 특성을 테이블에서 사용
SELECT *
FROM 테이블_이름
// 테이블의 모든 특성을 선택
*는 와일드카드(WILDCARD)로 전부 선택할 때에 사용합니다.
WHERE
- 필터 역할을 하는 쿼리문입니다. WHERE은 선택적으로 사용할 수 있습니다.
SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_1 = "특정 값"
// 특정 값과 동일한 데이터 찾기
SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_2 <> "특정 값"
// 특정 값을 제외한 값을 찾기
SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_1 > "특정 값"
SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_1 <= "특정 값"
// 특정 값보다 크거나 작은 데이터를 필터
SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_2 LIKE "%특정 문자열%"
// 문자열에서 특정 값과 비슷한 값들을 필터
SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_2 IN ("특정값_1", "특정값_2")
// 리스트의 값들과 일치하는 데이터를 필터
SELECT *
FROM 테이블_이름
WHERE 특성_1 IS NULL
// 값이 없는 경우 'NULL'을 찾을 땐 'IS'와 함께 사용
SELECT *
FROM 테이블_이름
WHERE 특성_1 IS NOT NULL
// 값이 없는 경우를 제외할 때에는 'NOT'을 추가하여 이용
ORDER BY
- 돌려받는 데이터 결과를 어떤 기준으로 정렬하여 출력할지 결정합니다.
SELECT *
FROM 테이블_이름
ORDER BY 특성_1
// 오름차순 정렬
SELECT *
FROM 테이블_이름
ORDER BY 특성_1 DESC
// 내림차순 정렬
LIMIT
- 결과로 출력할 데이터의 개수를 정합니다. LIMIT은 선택적으로 사용할 수 있으며, 쿼리문에서 사용할 때에는 가장 마지막에 추가합니다.
SELECT *
FROM 테이블_이름
LIMIT 200
// 결과를 200개만 출력
DISTINCT
- 유니크한 값을 받고 싶을 땐 SELECT DISTINCT를 사용할 수 있습니다.
SELECT DISTINCT 특성_1
FROM 테이블_이름
// 특성 1을 기준으로 유니크한 값들만 선택
SELECT
DISTINCT
특성_1
,특성_2
,특성_3
FROM 테이블_이름
// 특성_1, 특성_2, 특성_3의 유니크한 '조합' 값들을 선택
INNER JOIN
- INNER JOIN이나 JOIN으로 실행할 수 있습니다.
SELECT *
FROM 테이블_1
JOIN 테이블_2 ON 테이블_1.특성_A = 테이블_2.특성_B
// 둘 이상의 테이블을 서로 공통된 부분을 기준으로 연결
OUTER JOIN
- Outer JOIN은 다양한 선택지가 있습니다.
SELECT *
FROM 테이블_1
LEFT OUTER JOIN 테이블_2 ON 테이블_1.특성_A = 테이블_2.특성_B
//LEFT OUTER JOIN으로 LEFT INCLUSIVE를 실행
SELECT *
FROM 테이블_1
RIGHT OUTER JOIN 테이블_2 ON 테이블_1.특성_A = 테이블_2.특성_B
//RIGHT OUTER JOIN으로 RIGHT INCLUSIVE를 실행
'데이터베이스 > 관계형 데이터베이스' 카테고리의 다른 글
[데이터베이스] MySQL 설치 for Windows (0) | 2023.03.25 |
---|---|
[데이터베이스] 관계형 데이터 베이스 (0) | 2023.03.24 |
[데이터 베이스] 데이터 베이스란? (0) | 2023.03.21 |