-
함수 정리, 기본 사용 예제database/sql 2023. 11. 24. 15:05
./mysql -uroot -p -hlocalhost
(유저id, 패스워드, 호스트명)
SHOW = TABLE 확인
SELECT = 읽기
FROM = 불러올 테이블
DESC = col의 상태 확인
SHOW opentutorials
(opentutorials 안에 있는 테이블들 확인)
DESC topic
(topic 에 있는 행의 상태 확인)
SELECT * FROM topic
(topic 에 있는 모든 정보 확인)
WHERE = 어느 값을 기준으로 찾을지 정함
AND = 이전에 사용한 함수를 한번 더 사용
OR = 이거 혹은 저거
BETWEEN = ~~ AND ~~ 사이에 있는 숫자DATE_FORMAT(A , %Y) = 괄호안의 날짜, 시간 데이터에서 내가 원하는 종류의 데이터만 추출 할 때
LIKE = 같다면, WHERE t.date LIKE = "2022" , t.date가 2022 와 같다면
IN = ()안의 내용과 일치하는 조건을 걸 때 사용, 주로 WHERE, HAVING 등
IS = 현재 상태, WHERE, HAVING 등의 조건문에서 사용
NOT = =!로 대체가능?, 앞의 함수가 참이 아니라면비교연산자 <, >, =(==), != 등 모두 사용 가능
ANY, SOME = 조건 + 서브쿼리로 이루어진 연산자로, 서브쿼리의 내용이 조건에 하나라도 부합하면 true
ALL = 조건 + 서브쿼리로 이루어진 연산자로, 서브쿼리의 내용이 모두 조건에 부합해야 true
JOIN = 중복된 col을 기준으로 테이블을 합쳐서 관리, 기본상태는 INNER 와 같음(교집합 만)
LEFT = 왼쪽 테이블
FULL OUTER = 양쪽 모두, 만약 LEFT OUTER 로 사용한다면 교집합 + 왼쪽테이블
RIGHT = 오른쪽 테이블
INNER = 교집합ON = 합칠 col들의 기준을 정하는 구절
NATURAL = 공통 컬럼이 하나일 때 사용
USING = 공통 컬럼이 둘 이상일 때 사용
GROUP BY = 특정 col을 기준으로 집계 함수(count, sum, avg, max 등)를 추출 할 때 사용
HAVING = GROUP BY 함수는 자체적으로 집계함수를 사용 할 수 없는데, 집계함수로 조건비교 할 때 사용한다
DISTINCT = 중복제거
AVG = 평균
SUM = 총합COUNT = 카운팅
ROUND = 반올림 (col, 숫자) 처럼 숫자를 넣어 x번째 자릿수 까지 표현도 가능
IF = 세문단으로 나뉘는데, 조건이 되는 함수와 참, 거짓일때 출력할 문자열으로 나뉜다
REGEXP = 특정 조건의 문자를 검색하거나 치환 하는 함수, LIKE 대신 더 복잡한 조건을 걸 수 있다
MAX = max
ORDER BY = 어떤 col을 기준으로 어떤 방식으로 정렬할지
DATEDIFF = 연도, 개월, 주, 일, 시간 등의 차를 구하는 함수이다
LIMIT = 한정된 수의 데이터를 가져 올 때
AS = 출력할 col의 이름을 수정
EXIST = 서브쿼리 전용 함수로, 서브쿼리가 반환하는 결과값이 존재하는지를 참, 거짓으로 판별한다
부모 쿼리의 컬럼값을 가져와 서브쿼리 내에서 비교할 수 있다 (java의 상속 개념과 동일)()UNION ALL() = 앞, 뒤에 있는 쿼리를 합쳐서 출력한다
WITH = TABLE AS ()안에 서브쿼리를 작성하여 메서드와 같이 table을 호출하는 것으로 서브쿼리를 사용할 수 있다
% = 문자가 존재하는지 확인하는 방법, %NAME이라면 문자열 뒷부분에 NAME이 있나 확인, NAME% 라면 NAME으로 시작하는 문자인지 확인
COALESCE (NAME, 'NO NAME') = NAME이 NULL이라면 NONAME을 출력 아니면 NAME출력
SUBSTRING(col명, 시작 범위, 끝 범위) = ()안에 col명을 넣는 것을 제외하면 자바와 동일한 듯
SUBSTRING_INDEX(email, '@', 1) = email 을 '@'로 쪼개서 1번째만 출력, -1은 마지막만 출력
case when... then else ... end = SELECT에서 조건에 따라 다른 메세지를 출력할 때 사용?
RECURSIVE = 자기자신을 호출한다
------------------
생성하는법
CREATE = 생성
DATABASE
INSERT = 갑 넣기
INTO = ~ 테이블에
VALUES() = ~테이블에 넣을 값
NOW()
AUTO_INCREMENT
NULL, NOT NULL = null허용, 비허용
PRIMARY KEY() = pk 설정
-------------------
수정하는 법
UPDATE = 수정
RENAME = 이름 바꾸기
SET = 수정
WHERE
UPDATE topic SET title = 'MySQL', WHERE id = 2;
(topic 에 있는 id 2를 가진 데이터의 title을 MySQL로 수정)
(WHERE 빼먹으면 전부 수정 되니 주의)
RENAME TABLE topic TO topic_backup;
(topic 을 topic_backup 으로 변경)
-------------------
제거하는 법
DELETE
FROM
WHERE
DELETE FROM topic WHERE id = 5;
(topic 에 있는 id = 5인 데이터를 삭제함)
(여기도 WHERE을 빼먹으면 큰일남, 생활코딩님 - '인생이 바뀔 수 있다')
--------------------
USE = TABLE에 접속
DROP = TABLE 삭제'database > sql' 카테고리의 다른 글
join과 서브쿼리의 차이 (0) 2023.11.27