SQL은 database를 관리, 운영하는 역활을 하는 소프트웨어다.
use class;
create table students( 컬럼명 데이터_타입 제약조건 );
drop table students
(= desc students
)delete from students where id=10;
select student_num 학번 from stdents;
=> student_num이라는 컬럼을 학번이라 칭하고 stdents 테이블에서 조회한다. 별칭은 as 또는 띄어쓰기로 구분하고 지정한다.
distinct : 중복 제외 값 출력
limit N : N개 출력
=> 조건에 부합하는 데이터를 조회한다.
between A and B : A와 B사이를 만족하는 데이터를 조회한다.
A or B : A와 B의 합집합
A and B : A와 B이 교집합
not A : A가 아닌 것
in(A,B) : ()안에 있는 항목을 만족하는 데이터 조회
like : escape구문 등을 사용하여 만족하는 데이터 조회
연산 우선순위 : and > or
where 조건1 and 조건2 or 조건3
- 조건 1 and 조건2
- 1결과 or 조건3
원하는 순서대로 정렬하여 출력, select 문의 제일 마지막에 온다.
-ASC : 오름차순 (기본방식)
-DESC : 내림차순
문자열 오름차순 : 특수문자 -> 숫자 -> 대문자 -> 소문자 -> 한글 (unicode 순)
Date 오름차순 : 과거 -> 미래
null 오름차순 : 맨 처음에 나온다. *제일 작음.
- Inner Join
- 양쪽 테이블에서 조인 조건을 만족하는 행들만 합친다.
- Outer Join
- 한쪽 테이블의 행들을 모두 사용하고 다른 쪽 테이블은 조인 조건을 만족하는 행만 합친다. 조인조건을 만족하는 행이 없는 경우 NULL을 합친다.
- 종류 : Left Outer Join, Right Outer Join, Full Outer Join
- Cross Join
- 두 테이블의 곱집합을 반환한다.
select * from Table_A a join Table_B b on a.id = b.id;
select * from Table_A a left outer join Table_B b on a.id = b.id;
: 쿼리안에서 select 쿼리를 사용하는 것.
any : 조회된 값들 중 하나만 참이면 참 (where 컬럼 >= any(서브쿼리) )
all : 조회된 값들 모두와 참이면 참 (where 컬럼 > all(서브쿼리) )
insert into Table_name (항목) values (데이터)
=> Table_name에 데이터 추가
전체항목 추가 할 경우 : insert into Table_name values (데이터)
AUTO_INCREMENT : 자동 증가되는 항목에 사용
ALTER TABLE 테이블이름 ADD COLUMN 추가할 컬럼설정 [,ADD COLUMN 추가할 컬럼설정]
=> 컬럼 추가
ALTER TABLE 테이블이름 MODIFY COLUMN 수정할컬럼명 변경설정 [, MODIFY COLUMN 수정할컬럼명 변경설정]
=> 컬럼 수정
ALTER TABLE 테이블이름 DROP COLUMN 컬럼이름 [CASCADE CONSTRAINTS]
=> 컬럼 삭제
ALTER TABLE 테이블이름 SET UNUSED (컬럼명 [, ..])
=> 컬럼 삭제 표시, 사용하지 않는다.
ALTER TABLE 테이블이름 RENAME COLUMN 원래이름 TO 바꿀이름;
=> 컬럼 이름 변경
ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건 설정
=> 제약조건 추가
ALTER TABLE 테이블명 DROP CONSTRAINT 제약조건이름
=> 제약 조건 삭제
ALTER TABLE 테이블명 MODIFY COLUMN 컬럼명 제약조건
=> 제약조건 수정