본문 바로가기

Languages/SQL

[SQL] 4. SELECT * FROM 테이블명

728x90
반응형
SMALL

0. SELECT * FROM 테이블명

이제부터는 실제로 SQL 명령을 실행하면서 배워보자. 우선은 SQL 명령의 HELLO WORLD라 할 수 있는 SELCET * FROM 테이블명을 실행해보자. 

SELECT * FROM 테이블명

 

1. 'SELECT * FROM 테이블명' 실행

SQL 명령은 mysql 클라이언트에 문자를 입력하여 실행할 수 있다. mysql 클라이언트를 명령 프롬프트에서 실행한다. 

SELECT와 * 그리고 FROM 사이에는 스페이스를 넣어 구분한다. FROM과 sample21 사이에도 스페이스가 필요하다. 입력이 끝나면 마지막에 ;을 넣고 엔터 키를 누른다. 엔터 키를 누르면 입력한 SQL 명령이 서버에 전달되며 서버는 이를 실행한 후 결과를 반환한다. 

 

2. SELECT 명령 구문

HELLO WORLD에서 실행한 SQL 명령은 SELECT 명령이다. SELECT는 DML에 속하는 명령으로 SQL에서 자주 사용된다. SELECT 명령으로 데이터베이스의 데이터를 읽어올 수 있다. SELECT 명령의 질의나 쿼리라고 불리기도 한다. 앞서 사용한 명령문을 다시 한번 보자. 

SELECT * FROM sample21;

SELECT는 명령문으로 이 위치에는 명령의 한 종류가 온다. *은 모든 열을 의미하는 메타 데이터이다. sample21은 테이블 명을 의미하며 ;은 명령문의 마침을 의미한다. 즉 위 명령문은 sample21라는 테이블의 모든 열을 출력하는 명령이다. 다음 FROM은 처리 대상 테이블을 지정하는 키워드이다. FROM 뒤에 테이블명을 지정한다. SQL 명령은 키워드에 의해 '구'라는 단위로 나눌 수 있으며 위 명령문은 SELECT 구와 FROM 구로 나눠진다. SELECT에는 여러 개의 구가 있다.

 

3. 예약어와 데이터베이스 객체명

SELECT 명령문에는 몇 가지 단어가 쓰인다. 이 단어들은 스페이스로 구분되며 다음과 같이 분류할 수 있다. 

  • 예약어
  • 테이블명

SELECT와 FROM이 구를 결정하는 키워드이자 예약어이다. sample21은 테이블 이름이다. 

 

데이터베이스에는 테이블 외에 다양한 데이터를 저장하거나 관리하는 어떤 것을 만들 수 있다. 이것을 데이터베이스 객체라 부르는데 예를 들면 뷰가 있다.

 

데이터베이스 객체는 이름을 붙여 관리한다. 같은 이름으로 다른 데이터베이스 객체를 만들 수 없다. 같은 이름으로 테이블을 만들 경우 '이미 테이블이 정의되어 있다'라는 에러가 발생한다. 

 

통상적으로 데이터베이스 객체명에는 예약어와 동일한 이름을 사용할 수 없다. 

 

예약어와 데이터베이스 객체명은 대소문자를 구별하지 않는다. 

 

SQL 명령과 달리 많은 데이터베이스 제품들은 데이터의 대소문자를 구별한다. 단 설정에 따라 구별하지 않는 경우도 있다. 

 

4. 테이블

SELECT 명령을 실행하면 표 형식의 데이터가 출력된다. 표 형식의 데이터는 행과 열로 구성된다. 행은 모두 동일한 형태로 되어 있으며 옆으로 열이 나열되는데 열마다 이름이 지정되어 있다. 각각의 행과 열이 만나는 부분을 셀이라고 부른다. 셀에는 하나의 데이터 값이 저장되어 있다. 

 

명령문을 실행하면 sample21 테이블의 모든 행과 열의 데이터를 화면에 표시한다. 출력 결과를 보면 알 수 있듯이 sample21 테이블은 총 4개의 열을 가진다. 왼쪽을 기준으로 맨 처음에 no라는 이름의 열이 존재한다. 

각 행의 no열 값은 1,2,3처럼 연속하는 숫자로 이루어진다. 예제 데이터베이스를 만들 때 순차적으로 번호를 입력하여 작성했기 때문이다. 이처럼 숫자만으로 구성된 데이터를 수치형 데이터라고 한다. 수치형 데이터는 오른쪽 정렬로 표시된다. 

no 옆에는 name이라는 열이 있다. name 열에는 사람 이름이 저장되어 있다. 사람 이름처럼 임의의 문자로 구성된 데이터를 문자열형 데이터라 부른다. 문자형은 왼쪽으로 정렬되어 표시된다.

그다음 열인 birthday에는 날짜 데이터가 저장되어 있다. 날짜와 시각을 나타내는 데이터를 날짜 시간형 데이터라고 하며 왼쪽으로 정렬되어 표시된다. 

열은 하나의 자료형만 가질 수 있다. 그리고 수치형의 열에 문자형의 데이터를 저장할 수는 없다. 

 

5. 값이 없는 데이터 = NULL

SELECT의 결과를 잘 살펴보면 셀의 값이 NULL로 표시된 부분이 있다. NULL은 특별한 데이터 값으로 아무것도 저장되어 있지 않은 상태를 의미한다. 즉 NULL이라는 데이터가 저장되어 있는 것이 아닌 아무것도 저장되어 있지 않은 상태라는 뜻이다. NULL은 SQL에서 대단히 중요한 개념이다. 

728x90
반응형
SMALL

'Languages > SQL' 카테고리의 다른 글

[SQL] 6. 검색 조건  (0) 2021.03.10
[SQL] 5. 테이블 구조 참조하기  (0) 2021.03.02
[SQL] 3. 데이터베이스 서버  (0) 2021.02.15
[SQL] 2. 여러가지 데이터베이스  (0) 2021.02.09
[SQL] 1. 데이터베이스  (0) 2021.02.07