CREATE DATABASE 데이터베이스_이름;
데이터베이스를 이용해 테이블을 만들거나 수정하거나 삭제하는 등의 작업을 하기위해선, 먼저 데이터베이스를 사용하겠다는 명령을 전달해야함
USE 데이터베이스_이름;
USE
를 이용해 데이터베이스를 선택했다면, 테이블을 만들수 있다.
테이블은 필드(표와 열)과 함께 만들어야 한다.
필드 이름 | 필드 타입 | 그 외 속성 |
---|---|---|
id | 숫자 | Primary key이면서 자동 증가되도록 설정 |
name | 문자열(최대 255개의 문자) | |
문자열(최대 255개의 문자) |
user 테이블 생성
CREATE TABLE user (
id int PRIMARY KEY AUTO_INCREMENT,
name varchar(255),
email varchar(255)
)
SQL 콘솔에서 Enter 키를 이용해 여러 줄의 코드를 입력할 수 있다.
DESCRIBE
DESCRIBE user;
놀랍지만 이렇게 테이블 정보를 확인이 가능하다
mysql> describe user;
+-------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+----------------+
| id | int | NO | PRI | NULL | auto_increment |
| name | varchar(255) | YES | | NULL | |
| email | varchar(255) | YES | | NULL | |
+-------+--------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)
MYSQL에서 자주 사용하는 명령어들
일반 문자열
SELECT 'hello world'
숫자
SELECT 2
간단한 연산
SELECT 15 + 3
특정 특성을 테이블에서 사용
SELECT 특성_1
FROM 테이블_이름
몇 가지 특성을 테이블에서 사용
SELECT 특성_1, 특성_2
FROM 테이블_이름
테이블의 모든 특성을 선택
SELECT *
FROM 테이블_이름
📢 (*) 는 와일드카드로 전부 선택할때 사용
특정 값과 동일한 데이터 찾기
SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_1 = "특정 값"
특정 값을 제외한 값 찾기
SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_2 <> "특정 값"
특정 값보다 크거나 작은 데이터를 필터할때 '<','>',
비교하는 값을 포함하는 '이상','이하' 값은 '<=','>=' 사용
SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_1 > "특정 값"
SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_1 <= "특정 값"
문자열에서 특정 값과 비슷한 값들을 필터할 때 'LIKE'와 '\%' 혹은 '\*'를 사용
SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_2 LIKE "%특정 문자열%"
리스트의 값들을 일치하는 데이터를 필터할 땐 'IN'을 사용
SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_2 IN ("특정값_1", "특정값_2")
값이 없는 경우 'NULL'을 찾을 땐 'IS'와 같이 사용
SELECT *
FROM 테이블_이름
WHERE 특성_1 IS NULL
값이 없는 경우를 '제외'할때 'NOT'을 추가해 이용
SELECT *
FROM 테이블_이름
WHERE 특성_1 IS NOT NULL
기본 정렬은 오름차순
SELECT *
FROM 테이블_이름
ORDER BY 특성_1
내림차순으로 정렬 'DESC'
SELECT *
FROM 테이블_이름
ORDER BY 특성_1 DESC
데이터 결과를 200개만 출력
SELECT *
FROM 테이블_이름
LIMIT 200
특성_1 기준으로 유니크한 값들만 선택
SELECT DISTINCT 특성_1
FROM 테이블_이름
특성_1, 특성_2, 특성_3의 유니크한 '조합' 값들을 선택
SELECT
DISTINCT
특성_1
,특성_2
,특성_3
FROM 테이블_이름
둘 이상의 테이블 서로 공통된 부분을 기준으로 연결
SELECT *
FROM 테이블_1
JOIN 테이블_2 ON 테이블_1.특성_A = 테이블_2.특성_B
LEFT OUTER JOIN으로 LEFT INCLUSIVE 실행
SELECT *
FROM 테이블_1
LEFT OUTER JOIN 테이블_2 ON 테이블_1.특성_A = 테이블_2.특성_B
RIGHT OUTER JOIN으로 RIGHT INCLUSIVE를 실행
SELECT *
FROM 테이블_1
RIGHT OUTER JOIN 테이블_2 ON 테이블_1.특성_A = 테이블_2.특성_B