210723. Today I Learned(TIL) : MySQL 주요 명령어 정리

syong·2021년 7월 25일
0

TIL

목록 보기
22/32

데이터베이스 생성

CREATE DATABASE {database name}; // sql 명령문은 마지막에 세미콜론 중요!!

데이터베이스 사용

USE {database name};

테이블 생성

CREATE TABLE user (
    id int PRIMARY KEY AUTO_INCREMENT,
    {column name 1} varchar(255), // 문자열 (최대 255개의 문자까지 가능)
    {column name 2} varchar(255) // 문자열 (최대 255개의 문자까지 가능)
    );
 mysql> describe user;
FieldTypeNullKeyDefaultExtra
idintNOPRINULLauto_increment
namevarchar(255)YESNULL
emailvarchar(255)YESNULL

SQL 명령어

SELECT * // 데이터 전체 불러오기
SELECT 특성_1, 특성_2 ...
FROM 테이블_이름
// FROM 뒤에는 결과를 도출해낼 데이터베이스 테이블을 명시
SELECT 특성_1, 특성_2 ...
FROM 테이블_이름
WHERE 특성_1 = "특정 값" // 특정 값 포함
// 필터 역할을 하는 쿼리문(조건문), 선택적으로 사용 가능
WHERE 특성_1 <> "특정 값" // 특정 값 제외
SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_2 LIKE "%특정 문자열%"
SELECT *
FROM 테이블_이름
WHERE 특성_1 IS NULL

SELECT *
FROM 테이블_이름
WHERE 특성_1 IS NOT NULL
SELECT *
FROM 테이블_이름
ORDER BY 특성_1 ASC
// 오름차순 정렬

SELECT *
FROM 테이블_이름
ORDER BY 특성_1 DESC
// 내림차순 정렬
SELECT DISTINCT 특성_1
FROM 테이블_이름
// 유니크한 값을 받고 싶을 때 사용
SELECT *
FROM 테이블_1
JOIN 테이블_2 ON 테이블_1.특성_A = 테이블_2.특성_B
// INNER JOIN 이나 JOIN 으로 실행가능
// 둘 이상의 테이블을 서로 공통된 부분을 기준으로 연결(벤 다이어그램 상 가운데 공통부분)

여러 쿼리문 한 번에 써보기

  • 다음은 Brazil에서 온 고객을 도시별로 묶은 뒤에, 각 도시 수에 따라 내림차순 정렬합니다. 그리고 CustomerId에 따라 오름차순으로 정렬한 3개의 결과만 요청하는 예시입니다.
SELECT c.CustomerId, c.FirstName, count(c.City) as 'City Count'
FROM customers AS c
JOIN employees AS e ON c.SupportRepId = e.EmployeeId
WHERE c.Country = 'Brazil'
GROUP BY c.City
ORDER BY 3 DESC, c.CustomerId ASC
LIMIT 3

0개의 댓글