: CREATE, ALTER, DROP, RENAME
CREATE TABLE tbname(
id CHAR(7) NOT NULL
name VARCHAR(20) NOT NULL,
PRIMARY KEY (id));
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 TABLE 테이블이름 [ADD, DROP COLUMN, MODIFY 등]
기본 문법 : DROP TABLE 테이블이름
: SELECT, INSERT, UPDATE, DELETE
SELECT [ALL(*)|DISTINCT] 속성 이름(들)
FROM 테이블 이름(들)
[WHERE 검색조건(들)]
[GROUP BY ... HAVING ... ORDER BY ...]
검색 SQL의 내부 실행 순서
FROM - WHERE - [GROUP BY - HAVING - ORDER BY] - 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 속성이름 [ASC (default) | DESC]
: 속성 이름에 대해 정렬-- 도서를 이름순으로 검색하라
SELECT *
FROM Book
ORDER BY bookname;
기본 문법 : INSERT INTO 테이블 이름[(속성리스트)] VALUES (값 리스트);
-- book 테이블에 새로운 도서 '구리구리'을 입력하시오.
INSERT INTO (book_id, bookname, publisher, price)
VALUES (4123, '구리구리', '구리출판사', 2000000000);
기본 문법 : UPDATE 테이블 이름 SET 속성이름1 = 값 [, 속성이름2 = 값2 ...] [WHERE 검색조건];
-- book 테이블에서 제목이 '구리구리'인 도서의 가격을 1000원으로 변경하시오
UPDATE book
SET price = 1000
WHERE bookname = '구리구리';
기본 문법 : DELETE FROM 테이블 이름 [WHERE 검색조건];
-- book 테이블에서 book_id가 4123인 도서를 삭제하시오.
DELETE FROM book
WHERE book_id = 4123;
😋😋 SQL 문법 너무 재밌음
다음 포스팅은 JOIN에 대해서 할 예정