Chapter 3 데이터베이스 조작 (3-1~3-6)

prana·2022년 11월 28일
0

database

목록 보기
20/38
  • 영진닷컴의 '그림으로 배우는 데이터베이스' 도서를 학습하고 정리합니다.

3-1 SQL 명령어

  • Structured Query Language : 데이터베이스 조작 준비
  • MySQL 기준으로 작성

1. 데이터베이스 조작 준비 및 접속 방법

  • DBMS에 접속해야 한다. 데이터베이스에 접속하는 것으로 명령을 받아들일 준비가 가능하게 된다.
  • 데이터베이스 접속은 명령을 입력할 수 있는 소프트웨어에서 데이터베이스에 접속하는 명령어를 실행하는 것이 일반적이다.
  • DBMS에 따라 SQL 명령어가 다르지만 호스트명이나 사용자명, 패스워드, 데이터베이스명을 지정하는 경우가 많다.
  • MySQL의 예시
    mysql -h 호스트명 -u 사용자명 -p 데이터베이스명

2. 명령어를 사용하지 않고 접속하다

  • DBMS에 따라 다르지만 전용 클라이언트(Client) 소프트웨어를 사용해 접속할 수 있거나,
  • 브라우저에서 전용 관리 페이지에 접속해 데이터베이스를 조작하는 방법이 준비되어 있는 경우도 있다.
  • 보다 고도의 작업이나 세세한 설정을 하고 싶다면 SQL을 사용해야 한다.
     

3-2 SQL 언어 문장

  • 데이터를 조작하는 명령의 기본 문법

1. SQL 언어에는 규칙이 있다.

  • 특정한 규칙에 따라 구성되어 있어, 대략적인 기본 문법을 알아두면 더 잘 이해할 수 있다.

  • SQL 문장은 지정하고자 하는 항목과 값으로 이루어진 세트들을 결합한 형태가 기본

2. SQL 문장 예시

SELECT 컬럼명 FROM 테이블명 WHERE 조건;

(예시)

SELECT name
FROM menus
WHERE category = '한식';

  • 이 밖에도 레코드를 추가하거나 편집, 삭제하는 등 다양한 SQL 문장이 있다.

  • 문장 끝에는 세미콜론을 붙인다.


3-3 CREATE DATABASE, DROP DATABASE

  • 데이터베이스를 생성, 삭제한다

1. 복수의 데이터베이스를 관리할 수 있다.

  • DBMS에서는 복수의 데이터베이스를 관리할 수 있다.
  • 용도가 달라도 같은 데이터베이스 관리 시스템에서 관리할 수 있다.
  • 또한, 앱 개발에 있어서 실제 운영 환경용 데이터베이스와는 별개로 테스트에서 사용하는 개발 환경용 데이터베이스를 생성하는 상황도 가능하다.

2. 데이터베이스를 생성한다.

  • 새로운 데이터베이스를 생성할 때는 명령어로 데이터베이스 이름을 지정하여 생성한다.
  • 데이터베이스 이름은 나중에 이름만 보았을 때 무엇에 사용되는 데이터베이스인지 구별하기 쉬운 이름으로 생성하는 것이 좋다.

    CREATE DATABASE 데이터베이스명;

3. 데이터베이스를 삭제하다

  • 데이터베이스가 필요 없게 되었을 때는 삭제할 수 있다.
  • 데이터베이스 안에 저장되어 있는 내용들도 사라져 버리게 되므로 주의해야 한다.

    DROP DATABASE 데이터베이스명;

  


3-4 SHOW DATABASE, USE

  • 데이터베이스 목록을 표시, 선택하다

1. 데이터베이스 목록 표시

  • 생성한 데이터베이스 이름은 목록에서 확인할 수 있다.

    SHOW DATABASES;

  • 데이터베이스를 생성한 후 데이터베이스가 올바르게 생성되었는지 확인하거나,

  • 데이터베이스를 삭제하기 전이나 이후 설명할 데이터베이스를 선택할 때나 대상이 되는 데이터베이스의 이름을 확인하고자 하는 상황에서 이용된다.

2. 데이터베이스는 선택해서 사용한다

  • 수많은 데이터베이스 중에서 어떤 데이터베이스에 대해 작업을 할 것인지 미리 지정해 둘 필요가 있다.

  • MySQL의 경우 USE 명령어를 사용하지만,

    USE + 데이터베이스명;

    • 앞으로 해당 이름의 데이터베이스를 사용한다고 선언
    • 이후 모든 조작(SQL문)은 지정된 데이터베이스를 대상으로 행해진다.
  • 데이터베이스 조작을 수행하기 전, 반드시 어떤 데이터베이스를 대상으로 하는 조작인지 미리 지정해 둘 필요가 있다.

3. 데이터베이스를 바꾸다.

  • 다른 데이터베이스로 바꿔서 작업을 하고 싶을 때에는 다시
    USE 데이터베이스명;을 실행해서 다른 데이터베이스를 지정한다.

  


3-5 CREATE TABLE, DROP TABLE

  • 테이블을 생성, 삭제한다

1. 테이블의 생성

  • 데이터를 저장해 두기 위한 표를 테이블이라고 하는데, 이 테이블은 SQL을 통해 만들게 된다.

    CREATE TABLE 테이블명(컬럼명 데이터타입);

2. 데이터베이스 안에서 복수의 테이블을 만들 수 있다

  • 생성한 하나의 데이터베이스 안에는 복수의 테이블을 생성할 수 있다.

  • 다른 종류의 데이터를 저장하고자 하는 경우에는, 별도의 테이블을 생성해서 테이블을 분리하여 데이터를 관리한다.

  • ex) 도서관 데이터베이스 안에는 소장하고 있는 책 정보를 저장하는 테이블책의 대출 이력을 저장하는 테이블을 생성하는 방식이다.

3. 테이블을 삭제, 확인한다

테이블 삭제

  • 테이블이 필요 없어지거나 잘못 생성된 경우에는 테이블을 삭제할 수 있다.

    DROP TABLE 테이블명;

테이블 목록 확인

  • 생성한 테이블이 제대로 만들어졌는지, 혹은 데이터베이스 내에 어떤 테이블이 있는 확인할 때 사용한다.

    SHOW TABLES;


3-6 INSERT INTO

  • 레코드를 추가한다

1. 레코드(행) 추가

INSERT INTO 테이블명 (컬럼명(들)) VALUES (입력할 값);

2. 데이터 형에 주의

  • 레코드를 추가할 때는 컬럼의 데이터 형(Data Type)에 맞는 값을 지정해야 한다.
  • DBMS에 따라 동작은 다르지만, 컬럼에 할당되어 있는 데이터 타입과 다른 값을 저장하려고 하면
  • 에러가 나거나 그 컬럼의 데이터 형에 맞도록 포맷(Format)을 고쳐서 저장될 수도 있다.
  • ex) 숫자형 컬럼에 굳이 문자열을 넣으려고 하면 MySQL 에서는 자동으로 int 컬럼의 값은 '0'이 입력된 상태가 된다.
  • 또한 문자형 컬럼에 숫자 1을 넣어보면 자동으로 문자형인 '1'로 저장된다.

0개의 댓글

관련 채용 정보