-- 학생 테이블 생성
CREATE TABLE STUDENT (
STUDENT_ID INT PRIMARY KEY, -- PK : 비어서는 안되고 유일해야 함
NAME VARCHAR(30) NOT NULL, -- NOT NULL : 공백 허용 x
SCORE INT DEFAULT 0 -- DEFAULT : 기본값으로 0
);
DROP TABLE STUDENT;
< 테이블 생성 >
CREATE TABLE [ 테이블명 ] (
);
< 테이블 삭제 >
DROP TABLE [ 테이블 명 ];
CREATE TABLE STUDENT_Q (
STUDENT_ID INT PRIMARY KEY,
NAME VARCHAR(30) NOT NULL,
SCORE INT DEFAULT 0
);
INSERT INTO STUDENT_Q(STUDENT_ID, NAME, SCORE) VALUES(1, '티모', 90);
INSERT INTO STUDENT_Q(STUDENT_ID, NAME) VALUES(2, '모르가나');
INSERT INTO STUDENT_Q(STUDENT_ID, NAME, SCORE) VALUES(3, '가렌', 73);
DELETE FROM STUDENT_Q WHERE STUDENT_ID=3;
INSERT INTO STUDENT_Q(STUDENT_ID, NAME) VALUES((SELECT NVL(MAX(STUDENT_ID), 0) FROM STUDENT_Q)+1, '베인');
SELECT * FROM STUDENT_Q;
SELECT * FROM STUDENT_Q
ORDER BY STUDENT_ID DESC;
SELECT * FROM STUDENT_Q
WHERE SCORE >= 80;
SELECT * FROM STUDENT_Q
WHERE NAME LIKE '%가%'
SELECT * FROM STUDENT_Q
WHERE SCORE >= 50 AND NAME LIKE '가렌';
SELECT COUNT(*) AS 학생수 FROM STUDENT_Q;
SELECT AVG(SCORE) FROM STUDENT_Q;
UPDATE STUDENT_Q
SET SCORE = 10
WHERE STUDENT_ID=2;
SELECT NAME, SCORE FROM STUDENT_Q
WHERE SCORE >= (SELECT AVG(SCORE) FROM STUDENT_Q);
DROP TABLE STUDENT_Q;
< 테이블에 추가 >
INSERT INTO 테이블명 (컬럼1, 컬럼2, 컬럼3, ...) VALUES (값1, 값2, 값3, ...);
컬럼명을 생략 : INSERT INTO 테이블명 VALUES (컬럼 개수만큼, ...);
⚠️ 이 경우 모든 컬럼에 순서대로 값을 넣어야 합니다.
컬럼이 5개인데 값이 4개면 오류가 빌셍
< 테이블 조회 >
SELECT * FROM 테이블명
SELECT 컬럼명1, 컬럼명2, ... FROM 테이블명;
< WHERE >
조건 걸어서 데이터 필터링
WHERE 절은 조회할 때 조건을 지정해서 필요한 행(row)만 불러오는 구문
SELECT 컬럼명 FROM 테이블명 WHERE 조건식;
< ORDER BY >
데이터 정렬
ORDER BY 절은 조회한 결과를 정렬해서 보여주는 구문
< LIKE >
특정 문자열(패턴) 검색하기
LIKE는 문자열(column)의 일부를 검색할 때 사용
SELECT * FROM 테이블명 WHERE 컬럼명 LIKE '패턴';
% : 글자 수 상관없이 모든 문자
% : 문자% 앞뒤 아무 글자
_ : 정확히 한 글자
< COUNT >
행(Row) 개수 세기
COUNT()는 조건에 맞는 행의 개수(건수)를 세는 함수
보통 GROUP BY나 통계 쿼리에서 사용 多
SELECT COUNT(컬럼명) FROM 테이블명 WHERE 조건;
< UPDATE >
데이터 수정하기
UPDATE는 테이블 안의 기존 데이터 값을 바꿀 때 사용
UPDATE 테이블명 SET 컬럼명1 = 값1, 컬럼명2 = 값2, ... WHERE 조건;
WHERE 조건이 없으면 모든 행이 수정됨
'DBMS' 카테고리의 다른 글
| 테이블 JOIN 하기 (0) | 2025.11.12 |
|---|---|
| 테이블 PK 자동으로 부여하기 (SELECT NVL(MAX(PK), 100) FROM BOARD) + 1 (0) | 2025.11.12 |
| DB와 JAVA | 회원 탈퇴 시 댓글도 삭제하기 (0) | 2025.11.05 |
| 두 개의 테이블 JOIN 하기 (1) | 2025.11.05 |
| sql 사용 준비 (0) | 2025.10.31 |