지난 2주 동안 파이썬 프로젝트로 콧물을 다 빼고 이번주부터 SQL 수업을 새로 시작했다.
난생 처음 배워보는 거지만.. 왠지 SQL은 느낌이 좋다?
파이썬만큼의 좌절이 아직 없다는 것에 기대를 걸며...(기초 문법을 배우고 있을 뿐이지만)
실습 예제 푸는 것도 재밌다! 왜냐면 기초 중의 기초기 때문...
CREATE DATABASE 이름;
USE 이름;
SHOW DATABASES;
DROP DATAVASE (IF EXIST) 이름;
DROP TABLE (IF EXIST) 이름;
SELECT * FROM 테이블이름;
📌[테이블 만들기]
CREATE TABLE 이름 (
컬럼이름 데이터타입,
컬럼이름 데이터타입
);
📌[값 삽입하기]
INSERT INTO 테이블이름 (컬럼명,컬럼명)
VALUES ('값','값') <- 행 채우기
📌[테이블 이름 바꾸기]
ALTER TABLE 이름 RENAME 새이름;
📌[컬럼 추가하기]
ALTER TABLE 이름 ADD COLUMN 컬럼이름 데이터타입;
📌[기존 컬럼 타입 변경하기]
ALTER TABLE 이름 MODIFY COLUMN 컬럼이름 새데이터타입;
📌[기존 컬럼 이름과 타입 변경하기]
ALTER 테이블이름
CHANGE COLUMN 컬럼이름 바꿀이름 데이터타입;
📌[컬럼 지우기]
ALTER TABLE 이름 DROP COLUMN 컬럼이름;
📌[테이블 값만 지우기]
TRUNCATE TABLE 이름;
-----
📌[컬럼 하나만 선택]
SELECT 컬럼이름
FROM DB이름. TB이름;
📌[컬럼 여러개 선택]
SELECT 컬럼이름, 컬럼이름
FROM DB이름.테이블이름;
📌[별명설정]
SELECT 이름 AS 별명
FROM DB이름.TB이름
📌[일부만 가져오기]
LIMIT - 쿼리의 마지막
SELECT 컬럼명,컬럼명
FROM
FROM DB이름.TB이름
LIMIT 2;
📌[중복 제거하기]
DISTINCT 컬럼이름
SELECT DISTINCT type
FROM DB이름.TB이름
> type에서 중복된 거는 하나만 가져오기
📌[일부만 가져오기]
SELECT 컬럼
FROM 테이블이름;
----------
📌[조건식]
WHERE 조건식
SELECT number
FROM mypokemon
WHERE name='pikachu';
📌비교연산자
!= 같지 않다.
📌논리연산자
AND A,B모두 TRUE여야 TRUE
OR 둘 중 하나만 TURE여도 TRUE
NOT
ex) SELECT name
FROM mypokemon
WHERE speed <=100 AND NOT(type='bug');
📌기타연산자
BETWEEN A AND B
SELECT 컬럼이름
FROM 테이블이름
WHERE 컬럼이름 BETWEEN 조건1 AND 조건2;
IN 목록 내 포함되는 데이터
SELECT 컬럼이름
FROM 테이블이름
WHERE 컬럼이름 IN 조건1,조건2;
📌조건식에서 문자형 다룰떄
컬럼이름 LIKE 검색할 문자열
와일드 카드 :
% 0개 이상 문자
_ 1개의 문자
__ 2개의 문자
_% 1개 이상의 문자
%e : e로 끝나는 문자열
e% : e로 시작하는 문자역
%e% : e가 포함된 문자열
_e : e로 끝나고 e 앞에 1개의 문자가 있는 문자열
ae,ee,ce
%_e : e로 끝나고 e앞에 1개 이상의 문자가 있는 문자열
ee,eevvve
📌NULL 데이터 : 존재하지 않는다 / IS NOT NULL 널값 없는거
ISNULL : 데이터가 NULL 인지 아닌지
SELECT 컬럼이름
FROM 테이블이름
WHERE 컬럼이름 IS NULL;
-------
📌순서 정해서 데이터 가져오기
ORDER BY 컬럼이름 (기본) ASC 오름차순 / DESC 내림차순
📌데이터 순위로 뽑기 - 테이블 실제 데이터에 영향X
RANK() OVER(ORDER BY 컬럼이름)
SELECT name,attack,
RANK()OVER(ORDER BY attack DESC) AS attack_rank
FROM mypokemon
RANK - 공동 순위가 있으면 다음 순서로 건너뜀
DENSE_RANK - 공동 순위가 있어도 다음 순서를 뛰어 넘지 않음
ROW_NUMBER - 공동 순위를 무시함, 순서대로 몇번째 로우인지
📌문자형 데이터 함수 - 결과 값을 새로운 컬럼으로 반환
LOCATE('A','ABC') - ABC에서 A 몇번째 위치해있는지 검색해 위치 반환
SUBSTRING('ABC',2) - ABC에서 2번째 문자부터 반환
RIGHT('ABC',1) - ABC 오른쪽에서 1번째 문자까지 반환
LEFT('ABC',1) - ABC 왼쪽에서 1번째 문자까지 반환
UPPER('abc') - 대문자로 바꿔 반환
LOWER('ABC') - 소문자로 바꿔 반환
LENGTH('ABC') - 글자 수를 반환
CONCAT('ABC','DEF') - ABC문자열과 DEF 문자열을 합쳐 반환
ex) SELECT part,
CONCAT(LEFT(lyric,1),RIGHT(lyric,1)) AS first_last
FROM bts_music,butter;
REPLACE('ABC','A','Z') - ABC의 A를 Z로 바꿔 반환
📌숫자형 데이터 함수
ABS(숫자) - 숫자의 절대값 반환
CEILING(숫자) - 숫자를 정수로 올림해서 반환
FLOOR(숫자) - 숫자를 정수로 내림해서 반환
ROUND(숫자,자릿수) - 숫자를 소수점 자릿수까지 반올림해서 반환
TRUNCATE(숫자,자릿수) - 숫자를 소수점 자릿숫까지 버림해서 반환
POWER(숫자A,숫자B) - 숫자 A의 숫자B 제곱 반환
MOD(숫자A,숫자B) - 숫자 A를 숫자B로 나눈 나머지 반환 <- 홀,짝 알 때 편리
📌날짜형 데이터 함수...
DATEDIFF(날짜1,날짜2) - 날짜1과 날짜2의 차이 반환
TIMEDIFF 시간

'패스트캠퍼스🥕' 카테고리의 다른 글
| ■패스트캠퍼스 데이터 분석 부트캠프■ 12주차 #생성형 AI #태블로 (1) (8) | 2024.11.08 |
|---|---|
| ■패스트캠퍼스 데이터 분석 부트캠프■ 9주차 #SQL 중급 문법/코딩테스트 연습 (0) | 2024.10.18 |
| ■패스트캠퍼스 데이터 분석 부트캠프■ 5주차 #python 라이브러리 (6) | 2024.09.20 |
| ■패스트캠퍼스 데이터 분석 부트캠프■ 4주차 #python 크롤링/전처리/시각화 (3) | 2024.09.13 |
| ■패스트캠퍼스 데이터 분석 부트캠프■ 3주차 #데이터 분석을 위한 python (2) | 2024.09.06 |