4강 Hello World 실행하기
sql의 print("Hello World")같은 SELECT 문
SELECT * FROM <table_name>;
- SELECT : 데이터베이스의 데이터를 읽어 오는 명령어
- * : 모든 열을 선택하겠다는 메타문자
- FROM: 처리 대상 테이블 지정
- 모든 명령어의 끝은 세미콜론(;)으로 끝나야 한다.
SELECT * FROM sample21;
예약어와 데이터베이스 객체명
예약어: sql에서 미리 지정해 놓은 키워드 (SELECT, FROM, IS, NULL, WHERE 등)
데이터베이스 객체명: 데이터베이스에서 관리하는 것들의 이름 (table의 이름 등)
- 예약어와 개체명은 같을 수 없다. 즉, 예약어와 같은 table은 만들 수 없다
- 예약어와 개체명은 대소문자 구분이 없다. 그러나 일반적으로 명령어는 대문자로 객체명은 소문자로 구분하여 사용한다.
5강 테이블 구조 참조하기
DESC 명령어로 데이블 구조 참조하기
DESC <table_name>
- Type: 해당 열의 자료형을 나타낸다.
- NULL: 해당 열의 NULL 허용 여부를 나타낸다.
- Key: 해당 열이 key로 지정되어 있는지 나타내다. (PRI, MUL, UNI 등)
- Default: 해당 열에 기본적으로 주어지는 기본값. 즉 특별히 지정해 값을 지정해 주지 않으면 적용되는 값이다.
자료형
table의 열에는 몇가지 속성을 지정할 수 있는데 그중 가장 중요한 속성이 자료형이다.
- INT: 수치형으 하나로 정수값을 저장한다.
- CHAR(#): 문자열을 저장할 수 있으며 ()의 숫자만큼 문자열을 저장할 수 있다. 데이터의 저장 공간은 항상 고정적이다.
- VARCHAR(#): 문자열을 저장할 수 있으면 ()의 숫자만큼 문자열을 저장 할 수 있다. 또 한 데이터의 길이에 따라 저장 공간이 가변적이다.
- DATE: 날짜값을 저장한다.
- TIME: 시간을 저장한다.
6강 검색 조건 지정하기
열과 행을 지정하여 검색하기
SELECT 열1, 열2 ... FROM <table_name> WHERE <행에 대한 조건식>;
1. SELECT로 열 지정
2. WHERE로 행 지정
3. 열과 행 모두 지정
조건식
1. 수치형 검색
2. 문자열형 검색
- 비교할 문자열을 싱글쿼트('')으로 감싸줘야 한다.
3. 날짜 또는 시간 검색
- 싱글쿼트로 감싼다.
- 날짜는 연월일 구분을 하이픈(-)으로 한다.
- 시간은 시분초 구분을 콜론(:)으로 한다.
4. NULL 값 검색
NULL 값은 IS NULL로 찾는다.
비교 연산자
- =: 좌변과 우변의 값이 같을 경우 참
- <>: 좌변과 우변의 값이 다를 경우 참
- >: 좌변의 값이 우변의 값보다 클 경우 참
- >=: 좌변의 값이 우변의 값보다 크거나 같을 경우 참
- <: 좌변의 값이 우변의 값보다 작을 경우 참
- <=: 좌변의 값이 우변의 값보다 작거나 같을 경우 참
7강 조건 조합하기
데이터베이스에서 데이터를 검색할 때 단순한 조건식을 넣는 것 보다는 2개 이상의 조건식을 논리 연산자로 조합하여 검색하는 경우가 더 많다.
sample table
AND 연산자
조건식 1과 조건식2 모두를 만족하는 행을 반환한다
WHERE 조건식1 AND 조건식2
a가 0이 아니고 b가 0이 아닌 행
- a가 0이 아닌 조건 : a<>0
- b가 0이 아닌 조건 : b<>0
OR 연산자
조건식 1과 조건식2 중 하나라도 만족하는 행을 반환한다
WHERE 조건식1 OR 조건식2
- a가 0이 아닌 행 검색
- b가 0이 아닌 행 검색
- a,b 모두 0이 아닌 행 검색
AND와 OR 주의할 점
- AND나 OR 옆에는 조건식을 지정
- 열이나 상수를 지정해도 에러는 안 나지만 원하는 결과는 못 얻음
- WHERE no=1 OR 2 가 아닌 WHERE no=1 or no=2 로 지정해야 한다.
- AND와 OR를 조합해서 표현 가능
- AND와 OR 연산자 중 AND의 우선 순위가 더 높다.
- ()을 통해 우선 순위를 먼저 줄 수 있다.
NOT 연산자
연산자 오른쪽에만 항목을 지정하는 단항 연산자이며, 오른쪽 항목의 반댓값을 반환한다
WHERE NOT 조건식
- a<>0 OR b<>0의 결과가 아닌 값을 반환
- OR 연산자 예제에서 반환되지 않았던 no=3인 행만 반환
8강 패턴 매칭에 의한 검색
문자열의 완전 일치가 아닌 부분검색을 할 수 있다
sample table
1. LIKE로 패턴 매칭하기
열 LIKE 패턴(검색어)
- %: 임의의 문자열을 의미하는 메타문자
- _: 임의의 문자 하나를 의미하는 메타문자
- '{문자열}%': 해당 문자열로 시작하는 문자열 반환
- '%{문자열}%': 해당 문자열을 포함하는 문자열 반환
- '%{문자열}': 해당 문자열로 끝나는 문자열 반환
2. LIKE로 %검색
- %은 검색을 위한 메타문자이지만 검색하고 싶은 문자열에 포함 될 수 있다.
- \을 %앞에 붙여 메타문자로 인식하지 못하게 한다.
- 이러한 방법을 '이스케이프'라고 한다.
3. ' 의 이스케이프
- 문자열을 나타내기 위해 싱글쿼트로 감싸는데, 그 안에 ' 가 포함되어 있을 때 문제 발생
- 싱글쿼트 두개로 이스케이프 ' -> ''