데이터베이스 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