데이터베이스 CREATE TABL과 SELECT 명령문
2019. 5. 19. 21:15ㆍ환경 구축/리눅스
반응형
데이터베이스 CREATE TABL과 SELECT 명령문
1. CREATE TABLE 명령문
데이터베이스 업계를 대표하는 MySQL과 같은 데이터베이스에서 공통적으로 쓰이고 있으며, 기본 테이블을 정의하는 명령문이다.
CREATE TABLE 테이블_이름
(속성명 data_type [NOT NULL], ..., PRIMARY KEY(기본키_속성명),
UNIQUE(대체키_속성명, ...),
FOREIGN KEY(외래키_속성명, ...),
REFERENCES 참조테이블(기본키_속성명),
CONSTRAINT 제약조건명 CHECK(조건식));
속성명
테이블에 포함될 모든 속성에 대하여 속성명과 그 속성의 data_type, NOT NULL 여부를 지정한다. NOT NULL에서 NULL은 모르는 값 또는 적용할 수 없는 값을 의미하는 것으로, 특정 속성에 데티어 없이 빈 칸으로는 있어서는 안된다는 것을 지시할 때 사용한다.
PRIMARY KEY
- 기본키 속성을 지정하는 옵션이다.
UNIQUE
- 대체키로 사용할 속성명들을 지정하는 옵션이다.
FOREIGN KEY ~ REFERENCES ~
- 참조할 다른 테이블과 그 테이블을 참조할 때 사용할 외래키 속성을 지정한다.
- 외래키가 지정되면 참조 무결성의 CASCADE 법칙이 적용된다.
CHECK
- 제약 조건을 정의하는 옵션이다.
2. SELECT 명령문
테이블을 구성하는 튜플(행)들 중에서 전체 또는 조건을 만족하는 튜플(행)을 검색하여 주 기억장치 상에 임시 테이블로 구성시키는 명령문이다.
SELECT Predicate [테이블_이름.] 속성명1, [테이블_이름.] 속성명2, ...
FROM 테이블_이름1, 테이블_이름2, ...
[WHERE 조건]
[GROUP BY 속성명1, 속성명2, ...]
[HAVING 조건]
[ORDER BY 속성명 [ASC | DESC]];
SELECT 부분
- Predicate : 불러올 튜플 수를 제한할 명령어를 기술한다.
- ALL : 모든 튜플을 검색할 때 지정하는 것으로, 주로 생략한다.
- DISTINCT : 중복된 튜플이 있으면 그 중 첫 번째 한 개만 검색한다.
- DISTINCTROW : 중복된 튜플을 검색하지만 선택된 속성의 값이 아닌, 튜플 전체를 대상으로 한다. - 속성명 : 검색하여 불러올 속성(열) 및 수식들을 지정한다.
- 기본 테이블을 구성하는 모든 속성을 지정할 때는 '*'를 적는다.
- 두 개 이상의 테이블을 대상으로 검색할 때는 반드시 테이블명.속성명으로 표현할 것.
FROM 부분
- 질의에 의해 검색될 데이터들을 포함하는 테이블명을 적는다.
WHERE 부분
- 정확히 추출하고자 하는 데이터의 검색할 조건을 덧붙인다.
GROUP BY 절
- 특정 속성을 기준으로 그룹화하여 검색 할 때 그룹화 하는 속성을 지정한다.
- 일반적으로 GROUP BY절은 그룹 함수와 함께 사용된다.
COUNT(속성명) : 그룹 튜플 수를 구한다.
MAX(속성명) : 그룹별 최대값을 구한다.
MIN(속성명) : 그룹별 최소값을 구한다.
SUM(속성명) : 그룹별 합계를 구한다.
AVG(속성명) : 그룹별 평균을 구한다.
HAVING 부분
- GROUP BY와 함께 사용되며, 그룹에 대한 조건을 지정한다.
ORDER BY 부분
- 특정 속성을 기준으로 정렬하여 검색할 때 사용한다.
- 속성명 : 정렬의 기준이 되는 속성명을 적는다.
- [ASC | DESC] : 정렬 방식으로서 'ASC'는 오름차순, 'DESC'는 내림차순이다. 생략 시 오름차순으로 지정.
반응형
'환경 구축 > 리눅스' 카테고리의 다른 글
리눅스 레드햇 계열 CentOS 명령어 정리 (0) | 2019.05.20 |
---|