본문 바로가기
CS/DataBase

데이터베이스 첫걸음 정리 - 4장. SQL 시작하기

by yongckim 2022. 8. 22.
728x90
반응형

SQL 명령어 입력해보기

다음 사이트는 간단하게 SQL 명령을 사용해볼 수 있는 사이트입니다.

https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all

다음 사이트에 접속하여 다음 명령어를 입력해봅시다.

SELECT * FROM customers;

다음 명령어를 입력하면 다음과 같은 결과를 얻을 수 있습니다.

SELECT 명령구문

방금 실행한 SQL 명령은 SELECT 명령입니다.

SELECT는 DML에 속하는 명령어로 SQL에서 자주 사용되며, 데이터베이스에 데이터를 읽어올 때 사용됩니다.

SELECT 명령은 질의나 쿼리라고도 불립니다.

SELECT * FROM customers;

위의 SQL 명령문이 의미하는 바는 다음과 같습니다.

  • SELECT → 명령의 종류(현재는 SELECT를 사용해 조회기능을 수행하게 됩니다.)
  • * → 모든 열을 의미합니다.
  • FROM → FROM 뒤에 테이블 명이 오며 어떤 테이블을 불러올지 명시하게 됩니다.
  • CUSTOMERS → 테이블 이름
  • ; → 명령문의 마지막을 의미합니다.

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

앞서 SQL 문을 다시 살펴봅시다.

SELECT * FROM customers;

여기서 SELECT와 FROM은 다음에 오는 문장이 어떤 역할을 할지 결정하는 키워드이자 예약어로 쓰입니다.

SELECT에서는 뒤에 *이 나옴으로써 특정 테이블의 모든 열을 가져온다는 의미로 사용되었습니다.

FROM customers에서는 FROM이 나옴으로써 뒤에 나오는 customers 테이블을 조회하게 되었습니다.

데이터베이스는 테이블 외에 다양한 데이터를 저장하거나 관리하는 어떤 것을 만들 수 있습니다.

이런 것들을 데이터베이스 객체라고 부르게 됩니다.

데이터베이스 객체는 이름을 붙여 관리하며 같은 이름으로 다른 데이터베이스 객체를 만들 수는 없습니다.

예를들어 customers 라는 테이블이 존재하는 경우 해당 이름으로 새로운 테이블을 만들 수는 없습니다.

대소문자 구별

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

다음은 그 예를 나타내는 것으로, 모두 동일하게 동작합니다.

select * from customers;
Select * From Customers;
SELECT * FROM CUSTOEMRS;

일반적으로 가독성을 위해 예약어는 대문자로 데이터베이스 객체명은 소문자로 표시합니다.

SQL 명령과 달리 데이터베이스 제품들은 데이터의 대소문자를 구별합니다. (설정에 따라 구별하지 않을수도 있음)

테이블

SELECT 명령을 사용하여 실행했을 때 표 형식의 데이터가 출력되는 것을 볼 수 있습니다.

표 형식의 데이터는 행(레코드)과 열(컬럼/필드)로 구성됩니다.

행은 모두 동일한 형태로 되어 있으며 옆으로 열이 나열되는데 열마다 이름이 지정되어있습니다.

각각의 행과 열이 만나는 부분을 셀이라고 부릅니다. 셀에는 하나의 데이터 값이 저장되어 있습니다.

위의 테이블 예시를 보면 가장 왼쪽에 id라는 이름의 열이 존재합니다.

데이터베이스를 만들때 id의 경우 순차적으로 번호를 입력하여 작성했기 때문에 각 행의 id 값은 1, 2, 3 처럼 연속하는 숫자로 이루어집니다.

이처럼 숫자로만 구성된 데이터를 수치형 데이터라고 부릅니다.

id 옆에 name이라는 열에는 사람 이름이 들어가는데 이처럼 임의의 문자로 구성된 데이터를 문자열형 데이터락고 부릅니다.

이외에도 날짜와 시간을 나타내는 날짜시간형 데이터도 존재합니다.

주의해야 할 점은 열은 하나의 자료형만 가질 수 있으며 수치형의 열에 문자형의 데이터를 저장할 수는 없습니다.

값이 없는 데이터 NULL

위의 테이블을 보면 셀의 값이 NULL로 표시된 부분이 있습니다.

NULL은 특별한 데이터 값으로 아무것도 저장되어 있지 않은 상태를 의미합니다.

다시 말해, NULL 이라는 데이터가 저장되어 있는 것이 아닌 아무것도 저장되어 있지 않은 상태라는 뜻입니다.

NULL은 SQL에서 대단히 중요한 개념이므로 잘 알아 둡시다.

반응형