2 minute read

[SQL 첫걸음] 2주차

1장 데이터베이스와 SQL

3강 데이터베이스 서버

  1. 클라이언트/서버 모델

RDBMS는 복수의 클라이언트가 보내오는 요청에 응답할 수 있도록 클라이언트/서버 모델로 동작한다.

  • 클라이언트는 서버에 접속 요청이나 SQL 명령 실행요청을 보낼 수 있다.
  • 서버는 이를 처리하고 클라이언트에 그 결과를 반환한다.

웹 시스템에서의 클라이언트/서버 : 웹 브라우저와 웹 서버

  • 클라이언트 : URL을 통해 연결된 웹 서버에 요청을 보낸다. “웹 페이지를 보고 싶다!” (request)
  • 웹 서버 : HTML로 된 데이터를 반환. (response)

RDBMS의 클라이언트/서버

  • 데이터베이스는 사용자 별로 접근을 제한하기 위해 ID와 비밀번호를 이용한 사용자 인증이 필요하다.

  • RDBMS에 접속하면 SQL 명령을 서버에 보낼 수 있다.

  1. 웹 애플리케이션의 구조

웹 애플리케이션 = 웹 서버 + 데이터베이스 서버

실제로 데이터베이스에 접속하는 것은 CGI 프로그램이다. 데이터베이스 서버를 사용하기 위해서는 먼저 데이터베이스 서버와 접속이 되어야 한다. 그 후 데이터베이스에 필요한 SQL 명령을 전달하고 실행 결과는 클라이언트로 되돌아간다. 이때 웹 서버의 CGI 프로그램이 데이터베이스의 클라이언트가 된다.

정리 : 클라이언트 브라우저 -> 웹 서버 -> CGI 프로그램 -> DB

  1. MySQL 서버와 mysql 클라이언트

MySQL 패키지를 PC에 install 하면 서버와 클라이언트 모두 사용할 수 있다.

PC 한대로 클라이언트와 서버 모두 실행할 수는 있지만 클라이언트에서 서버에 접속할 필요가 있다. 이때 네트워크를 경유해서 PC의 서버로 되돌아오는 형태로 접속하는데 이것을 ‘루프 백 접속’이라고 부른다.


2장 테이블에서 데이터 검색

4강 Hello World 실행하기

  1. ‘SELECT * FROM 테이블명’ 실행
SELECT * FROM sample21;

mysql 클라이언트에 입력해서 실행하기

위를 실행하면 sample21 테이블의 모든 데이터를 읽어온다.

  1. SELECT 명령 구문
  • select는 DML에 속하는 명령어이다.
  • select 명령으로 데이터베이스의 데이터를 읽어올 수 있다.
  • select 명령은 ‘질의’나 ‘쿼리’라고도 불린다.

  • select : 명령의 종류
  • * : 모든 열을 의미. 테이블에는 몇 개의 열이 있는데, 이들을 일일히 지정하지 않고도 *를 사용하면 간단하게 모든 열을 지정할 수 있다.
  • from : 처리 대상 테이블을 지정하는 키워드. from 뒤에 테이블명을 지정한다.
  • sample21 : 테이블명

sql 명령은 몇 개의 구로 구성된다. 위의 예시는 select 구와, from 구로 나뉘어져 있다.

  1. 예약어와 데이터베이스 객체명
  • 예약어 : select, *, from
  • 사용자 임의 지정 : sample21

데이터베이스 객체 : 테이블 외에 다양한 데이터를 저장하거나 관리하는 어떤 것. 뷰가 포함된다.

데이터베이스 객체명은 중복될 수 없으며 예약어를 사용할 수 없다.

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

  1. Hello World를 실행한 결과 = 테이블

select 명령어를 실행하면 표 형식의 데이터가 출력된다.

표 형식은 행(레코드)과 열(컬럼/필드)로 구성되며, 이 둘이 만나는 부분을 셀이라고 부른다.

데이터 자료형

  • 수치형 데이터 : 숫자만으로 구성된 데이터. 오른쪽 정렬
  • 문자열형 데이터 : 문자로 구성된 데이터. 왼쪽으로 정렬
  • 날짜시간형 데이터 : 날짜와 시각을 나타내는 데이터. 왼쪽으로 정렬

열은 하나의 자료형만 질 수 있으며, 수치형 열에 문자형의 데이터를 저장할 수 없다.

  1. 값이 없는 데이터 = NULL

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

Updated: