300x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 코딩
- DFS
- 그래프
- kick start
- 파이썬
- 알고리즘
- 프로그래머스
- 네트워크
- 동적 프로그래밍
- OS
- AI
- PYTHON
- 운영체제
- 구글 킥스타트
- google coding competition
- 킥스타트
- linux
- 리눅스
- CSS
- 순열
- 브루트포스
- 프로그래밍
- 딥러닝
- 코딩테스트
- 동적프로그래밍
- nlp
- 백준
- BFS
- dp
- 코딩 테스트
Archives
- Today
- Total
오뚝이개발자
[DB] CH3. SQL 기본 문법(Intro to SQL) 본문
728x90
300x250
Domain types
- char(n) : 길이 n의 string
- varchar(n) : 최대 길이 n의 string
- int : 정수형 변수
- numeric(p,d) : fixed point number, 전체 p digit, 소수점 이하 d digit(ex. numeric(3,1) 변수에는 25.1 저장 가능)
- float(n) : floating point number, 최소 n digit
Integrity constraints란?
- 테이블에 부적절한 자료가 입력되는 것을 방지하기 위해 테이블을 생성할 때 각 컬럼(혹은 속성)에 대해 정의하는 규칙
- More generally) DB에 추가되는 변동사항이 data consistency를 잃게 만들지 않도록 하는 제약조건
Integrity constraints(무결성 제약조건) 5가지
- NOT NULL : 해당 컬럼 값으로 NULL을 허용하지 않음
- UNIQUE : 테이블 내에서 해당 컬럼 값은 항상 유일
- PRIMARY KEY : 해당 컬럼 값은 반드시 존재하고 유일해야 함(NOT NULL + UNIQUE)
- FOREIGN KEY : 해당 컬럼의 값이 다른 relation의 기본키 값을 참조할 때, 참조하는 relation에 있는 값은 반드시 참조되는 relation에 존재해야 함!(즉, 참조되는 relation에 없는 값은 입력 불가->만약 새로운 데이터를 추가하려면 참조되는 relation에 먼저 추가해주어야 함)
- CHECK : 해당 컬럼에 저장 가능한 데이터 값의 범위나 사용자 조건을 지정
Drop과 Alter
- drop table r: r의 table과 contents를 모두 지운다 EX) drop table student, drop table instruct
- delete from r: r의 contents는 지우지만, table은 유지
- alter table
- alter table r add A D : 테이블 r에 domain D인 속성 A를 추가(새 속성의 경우 처음엔 null로 초기화)
- alter table r drop A : 테이블 r에서 속성 A delete(관계형에선 문제가 될 수 있다!!!!)
일반적인 query 형태
select 구문
- 결과에서 보길 원하는 attribute를 선택
- distinct/all 을 넣어 중복을 허용하지 않거나 허용할 수 있다.
- "select *"는 "all attribute"를 의미
- select 구문은 수식(arithmatic expression)을 포함할 수 있다.
where 구문
- 검색 조건을 걸어줄 때 사용
from 구문
- 검색할 relation의 리스트를 나열
- Cartesian product operation이다.(예를 들어, from instructor, teaches라고 하면 instructor X teaches를 말한다.)
Rename operation
String operation
- % : 여러 글자의 substring을 가리킴(where name like '%dar%'라고 하면 dar를 포함하는 이름이란 조건)
- _ : 한 글자의 character를 가리킴(where name like '__%'라고 하면 최소 2글자인 이름)
참고자료
728x90
300x250
'CS 기초 > DB' 카테고리의 다른 글
[DB] CH7. ER 모델(Entity-Relationship Model) (0) | 2020.11.02 |
---|---|
[DB] CH5. Advanced SQL(고급 SQL) - JDBC, ODBC, 트리거(Trigger) (0) | 2020.11.02 |
[DB] CH4. intermediate SQL(중급 SQL) - View, integrity constraints (0) | 2020.11.02 |
[DB] CH2. 관계형 데이터 모델(Relational Model) (0) | 2020.10.28 |
[DB] CH1. 데이터베이스시스템(DBMS) 개괄 (0) | 2020.10.28 |
Comments