구름IDE https://ide.goorm.io/my/dashboard
컨테이너 만들기 (언어는 상관없음, 체크박스 체크하기)

컨테이너 실행 - 설정 - 자동저장 켜기
source 명령어는 스크립트 파일을 수정한 후에 수정된 값을 바로 적용하기 위해 사용하는 명령어이다.
파일명.sql -> SQL문 작성
실행하기 = source 경로/파일명.확장자
mysql-ctl cli = control Command-Line Interface START
MYSQL에서 나오기 CTRL + D
SHOW DATABASE;= 존재하는 데이터베이스 확인
CREATE DATABASE DB명; = 데이터 베이스 만들기
DROP DATABASE DB명; = 데이터 베이스 삭제
USE DB명; = 데이터 베이스 사용
SELECT DATABASE(); = 현재 내가 사용중인 DB를 보여 줌
SHOW TABLES; = 현재 내가 사용중인 테이블을 보여줌
SHOW COLUMNS FROM 테이블명; = 테이블의 컬럼 내용을 보여줘
DESC 테이블명 = (description)테이블의 컬럼 내용을 보여줘
SHOW WARNINGS; = 에러 메시지 보여줘
(컬럼명 자료형 ___ 식으로 입력. 연속적으로 입력 할경우 쉬표 없이 띄어 쓰기만)
NOT NULL, DEFAULT '값'= 입력할떄 빈값이면 자동 입력이 되자만 수동으로 NULL 값을 입력 할순 없다.테이블 수정하기
ALTER TABLE books ADD COLUMN store_info VARCHAR(15);
ALTER TABLE books DROP COLUMN store_info;
#ALTER TABLE books RENAME COLUMN pages TO pages_num;
ALTER TABLE reviewers MODIFY COLUMN last_name VARCHAR(50) NOT NULL;
SELECT 컬럼명(들) FROM 테이블명(들) WHERE 검색조건 GROUP BY 컬럼명 ORDER BY 속성명;
as = (aliases) 컬럼명 as 변경됨 컬럼명 = 컬럼명을 변경함
CONCAT (컬럼명, 컬럼명) = 컬럽값을 합침
CONCAT (컬럼명,'',컬럼명) AS '변경될 켤럼명' = 컬럼값을 합치고 합친 컬럼명을 변경함
ORDER BY 컬럼명 = 컬럼명을 기준으로 정렬하여 출력함
ORDER BY 컬럼명 ASC; ↗ 오름차순
ORDER BY 컬럼명 DESC; ↘ 내림차순
SELECT SUBSTRING('Hello World',1 ,4); = 1부터 4까지의 스트링을 가져옴
결과 = Hell
SELECT SUBSTRING('Hello World',3); = 3부터 끝까지 스트링을 가져옴
결과 = llo World
SELECT SUBSTRING('Hello World',-3); = 끝에서 3번째까지 스트링을 가져옴
결과 = rld
SELECT REPLACE('Hello World', 'o', '0'); = o을 0으로 바꾸달라
결과 = Hell0 W0rld
SELECT REPLACE('cheese bread coffe milk', ' ', ' and ');
결과 = cheese and bread and coffe and milk
SELECT REVERSE('Hello world'); = 뒤집기
결과 = dlrow olleH
SELECT CHAR_LENGTH('Hello World'); = 문자갯수 카운트
결과 = 띄어쓰기 포함
SELECT UPPER('Hello World'); = 대문자화
SELECT LOWER('HELLO WORLD'); = 소문자화
SELECT DISTINCT author_lname FROM books; = 중복된것 빼고 가져옴
SELECT title FROM books LIMIT 3; = 3개 까지 보여줌
SELECT title FROM books LIMIT 1,3; = 시작인덱스 번호부터 3개 까지 보여줌
SELECT title, author_fname FROM books WHERE author_fname LIKE '%da%'; da가 포함된 컬럼값을 가져옴
결과 = 문자열 찾기
SELECT COUNT(DISTINCT title) FROM songs; = 중복된 값을 제외하고 그 개수를 세줌
SELECT COUNT(*) FROM books WHERE title LIKE '%the%'; = 조건에 맞는 갯수를 세줌
SELECT MIN(pages) FROM books; = 가장작은 값을 가져오세요
SELECT MAX(pages) FROM books; = 가장큰 값을 가져오세요
SELECT title, pages FROM books WHERE pages = (SELECT MAX(pages) FROM books); 가장 작은 페이지를 가진 책의 이름을 가져옴
SELECT AVG(pages) FROM books; = 평균 값을 가져옴
SELECT FROM books WHERE released_year != 2017;
SELECT FROM books WHERE title NOT LIKE '%e%';
SELECT * FROM books WHERE pages > 500;
ROUND(AVG(rating),2)
SELECT CURTIME(); = 현재 시간
SELECT CURDATE(); = 현재 날짜
SELECT NOW(); = 현재 시간, 날짜
WHERE AND , OR
WHERE rating IS NULL;
조건문
SELECT author_fname, author_lname, CASE
WHEN COUNT(*) = 1 THEN '1 book'
ELSE CONCAT(COUNT(*),' books') END AS 'COUNT'
FROM books GROUP BY author_fname, author_lname;
CASE WHEN THEN ELSE END
IF(COUNT(rating) > 0, 'ACTIVE', 'INACTIVE') AS status
SELECT title, released_year FROM books WHERE released_year BETWEEN 2004 AND 2015;(이상이하)
MOD(released_year, 2) != 0; 나머지 구하기
INSERT INTO people VALUES('Hazel', CURDATE(), CURTIME(), NOW()); = 이런식으로 입력가능
SELECT birthdate, DAY(birthdate), DAYOFWEEK(birthdate), DAYOFYEAR(birthdate) FROM people; = 날짜, 요일, 일년중 몇번째 인지
SELECT birthdate, MONTHNAME(birthdate), year(birthdate) FROM people; = 월, 년
SELECT birthdt, MONTH(birthdt), DAY(birthdt), HOUR(birthdt), MINUTE(birthdt) FROM people; = 월, 날짜, 시간, 분
SELECT birthdate, DATE_FORMAT(birthdate, '%a %b %D') FROM people; = 요일(약어), 월(약어), 몇번째 주인지
SELECT birthdate, DATE_FORMAT(birthdt, '%H : %i') FROM people; = 시간, 분
SELECT birthdt, DATE_FORMAT(birthdt, 'BORN ON : %r') FROM people; 시(12시간), 분, 초
CREATE TABLE tweets (conten VARCHAR(140),
username VARCHAR(20),
created_at timestamp DEFAULT NOW()); = 시간값이 디폴드로 입력 되게함
CREATE TABLE people(name VARCHAR(100),
birthdate date,
birthtime time,
birthdt datetime);
INSERT INTO people VALUES('Elton', '2000-12-25', '11:00:00', '2000-12-25 11:00:00')
# LAST NAME이 George인 사람의 ORDER 내역을 가져오세요
SELECT * FROM customers WHERE last_name = 'George';
SELECT * FROM orders WHERE customer_id = 1;
SELECT * FROM orders WHERE customer_id =
(SELECT id FROM customers WHERE last_name = 'George');
SELECT * FROM 테이블명, 테이블명 WHERE 테이블명.(PRIMARY KEY)컬럼명 = 테이블명.(FOREIGN KEY)컬럼명
SLEECT * FROM 테이블명 JOIN 테이블명 ON 테이블명.(PRIMARY KEY)컬럼명 = 테이블명.(FOREIGN KEY)컬럼명
SELECT * FROM customers, orders WHERE customers.id = orders.customer_id;
SELECT * FROM customers JOIN orders ON customers.id = customer_id;
SELECT customer_id, SUM(amount) FROM orders GROUP By customer_id;
# NULL 값이면 O으로 출렴함
IFNULL(SUM(amount),0)

SELECT * FROM customers LEFT JOIN orders ON customers.id=orders.customer_id;