[데이터베이스/SQL] SQL 기본 문법
✨ SQL 명령어 종류
- DDL (Data Definition Language) - 데이터 정의어
- CREATE, ALTER, DROP, RENAME
- DML (Data Manipulation Language) - 데이터 조작어
- SELECT, INSERT, UPDATE, DELETE
- DCL (Data Control Language) - 데이터 제어어
- GRANT, REVOKE
- TCL (Transaction Control Language) - 트랜젝션 제어어
- COMMIT, ROLLBACK
💫 DDL
- CREATE, ALTER, DROP, RENAME
- SELECT, INSERT, UPDATE, DELETE
- GRANT, REVOKE
- COMMIT, ROLLBACK
: CREATE, ALTER, DROP, RENAME
🚀 CREATE
- 테이블 생성 시 주의사항 : 반드시 문자로 시작, A-Z, a-z, 0-9, _, $. # 문자만 허용
CREATE TABLE tbname(
id CHAR(7) NOT NULL
name VARCHAR(20) NOT NULL,
PRIMARY KEY (id));
- 속성의 주요 데이터 타입
- INT or INTEGER : 정수
- SMALLINT : INT보다 작은 정수
- CHAR(n) or CHARACTER(n) : 길이가 n인 고정 길이의 문자열
- VARCHAR(n) or CHARACTER VARYING(n) : 최대 길이가 n인 가변 길이의 문자열
- NUMERIC(p,s) : 고정 소수점 실수. p는 소수점 제외 숫자 길이, s는 소수점 이하 숫자 길이
- FLOAT(n) : 길이가 n인 부동 소수점 실수
ex. NUMERIC(5,3) = 35.764 / FLOAT(5) = 357.23 - DATE : 연,월,일로 표현되는 날짜
- TIME : 시,분,초로 표현되는 시간
- DATETIME : 날짜와 시간
- 속성 관련 부가 명령어
- NOT NULL : 해당 속성 값 NULL 불가
- UNIQUE : 중복 X, 고유값
- DEFAULT 기본값 : 입력하지 않으면 기본값으로 설정됨
- CHECK 체크조건 : 체크 조건이 맞는지 확인
CREATE TABLE tbname(
id CHAR(7) NOT NULL UNIQUE
name VARCHAR(20) NOT NULL,
grade INT NOT NULL DEFAULT 1 CHECK(grade <= 4),
PRIMARY KEY (id));
🚀 ALTER
기본 문법 : ALTER TABLE 테이블이름 [ADD, DROP COLUMN, MODIFY 등]
🚀 DROP
기본 문법 : DROP TABLE 테이블이름
💫 DML
: SELECT, INSERT, UPDATE, DELETE
🚀 SELECT
SELECT [ALL(*)|DISTINCT] 속성 이름(들)
FROM 테이블 이름(들)
[WHERE 검색조건(들)]
[GROUP BY ... HAVING ... ORDER BY ...]
-
검색 SQL의 내부 실행 순서
FROM - WHERE - [GROUP BY - HAVING - ORDER BY] - SELECT- SELECT가 가장 마지막에 실행됨 !
-
WHERE절 주요 연산자
연산자 예시 =, <>, <, <=, >, >= price < 20000 BETWEEN price BETWEEN 1000 AND 200000 IN, NOT IN price IN (10000, 20000, 300000) LIKE name LIKE '김%' (김으로 시작함) IS NULL, IS NIT NULL name IS NOT NULL AND, OR, NOT (price < 20000) AND (name LIKE '김%') -
와일드 문자 종류
와일드 문자 의미 예시 + 문자열을 연결 '안녕' + '하세요' : '안녕하세요' % 0개 이상의 문자열과 일치 '%구리%' : '구리'를 포함하고 있는 문자열 [ ] 1개 문자와 일치 '[0-10]%' : 0-10사이 숫자로 시작하는 문자열 [^] 1개 문자와 불일치 '[^0-10]%' : 0-10사이 숫자로 시작하지 않는 문자열 _ 특정 위치의 1개 문자와 일치 '_리%' : 두 번째 위치에 '리'가 들어가는 문자열 -
집계 함수 종류
집계 함수 문법 예시 SUM SUM([* or DISTINCT] 속성이름) SUM( * ) AVG AVG([* or DISTINCT] 속성이름) AVG( price ) COUNT COUNT({ ( [* or DISTINCT] 속성이름 ) or * } ) COUNT( * ) MAX MAX([* or DISTINCT] 속성이름) MAX( price ) MIN MIN([* or DISTINCT] 속성이름) MIN( price ) -
GROUP BY / HAVING
GROUP BY 속성이름
으로 속성 값에 대해 데이터를 그룹화,
HAVING 검색 조건(들)
으로 그룹화된 데이터에 검색 조건 적용
-- 고객 별로 주문 도서의 총 수량을 구하라. 단, 두 권 이상 구매한 고객만 구하라.
SELECT custid, COUNT(*) AS 도서수량
FROM Orders
GROUP BY custid
HAVING count(*) >= 2;
- ORDER BY
ORDER BY 속성이름 [ASC (default) | DESC]
: 속성 이름에 대해 정렬- ASC는 기본값
-- 도서를 이름순으로 검색하라
SELECT *
FROM Book
ORDER BY bookname;
🚀 INSERT
기본 문법 : INSERT INTO 테이블 이름[(속성리스트)] VALUES (값 리스트);
-- book 테이블에 새로운 도서 '구리구리'을 입력하시오.
INSERT INTO (book_id, bookname, publisher, price)
VALUES (4123, '구리구리', '구리출판사', 2000000000);
🚀 UPDATE
기본 문법 : UPDATE 테이블 이름 SET 속성이름1 = 값 [, 속성이름2 = 값2 ...] [WHERE 검색조건];
-- book 테이블에서 제목이 '구리구리'인 도서의 가격을 1000원으로 변경하시오
UPDATE book
SET price = 1000
WHERE bookname = '구리구리';
🚀 DELETE
기본 문법 : DELETE FROM 테이블 이름 [WHERE 검색조건];
-- book 테이블에서 book_id가 4123인 도서를 삭제하시오.
DELETE FROM book
WHERE book_id = 4123;
😋😋 SQL 문법 너무 재밌음
다음 포스팅은 JOIN에 대해서 할 예정
Author And Source
이 문제에 관하여([데이터베이스/SQL] SQL 기본 문법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@suhyun-guri/SQL-기본-문법-정리저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)