01. SQL_데이터베이스와 테이블

Innes·2023년 11월 27일
0

SQL

목록 보기
1/4
post-thumbnail

💡 SQL이란 무엇인가?

1. SQL(Structured Query Language) 이란?

  • 관계형 데이터베이스에 정보를 저장하고 처리하기 위한 프로그래밍 언어

  • 정보를 표 형식으로 저장

  • SQL언어 사용하여 데이터베이스에서 정보를 저장, 업데이트, 제거, 검색 및 검색할 수 있음

  • Query = 코드, 언어

    • Python : 컴퓨터에 명령 내리는 언어
    • SQL : 데이터베이스에 명령 내리는 언어(한줄의 명령)
      (프로그래밍 언어와는 다른 형태임)


2. SQL명령 3가지

① db, 테이블, 컬럼 생성 명령
② 테이블에 행 데이터 넣기, 읽기, 수정, 삭제 명령
③ db 관리 명령

  • MySQL(가장 많이 쓰이는 오픈 소스 관계형 데이터베이스 관리 시스템)
  • 설치 시 : Workbench와 함께 설치


3. 데이터베이스와 테이블 선언하는 문법

  • 참고) SQL 언어를 3가지로 요약
    ① 테이블을 정의하는 언어
    ② 테이블에서 데이터를 다루는 언어
    ③ 데이터 자체를 다루는 명령은 따로 있음

  • 데이터를 정의하는 언어 DDL - Data Definition Language

3-1. 테이블을 만드는 명령

1) 데이터베이스 이름(박스) 만들기

(데이터베이스 만들고 그 안에 테이블 여러개 만드는 구조)

① 데이터베이스 생성
CREATE DATABASE dbname;

참고)

  • SHOW DATABASES;
    -> 데이터베이스 몇개 있는지 볼 수 있음

  • DROP DATABASE dbname;
    -> 해당 데이터베이스 삭제

2) 데이터베이스 안으로 들어가는 명령

  • use dbname;
    (데이터베이스 안에 테이블 만들려면 데이터베이스 안으로 들어가야함)

3) 데이터베이스 삭제(만약 있으면!)

DROP DATABASE IF EXISTS dbname;
-> 없으면 말고!
(해당 데이터베이스가 이미 없는 것일지라도 다음 명령들이 이상없이 실행됨)


3-2. 테이블 여러개 만들기

  • 꼭 대문자 아니어도 되는데, 보기 쉽고 구별하기 쉬우려고 대문자 소문자로 쓰는 것
  • 기본 문법(CREATE TABLE 구문)
CREATE TABLE 테이블명(
  컬럼명 데이터형,
  컬럼명 데이터형,
  ...
  기본키 셋
);

(컬럼 : 세로줄)

1) 데이터베이스 만들고, 데이터베이스 안으로 들어가기까지 해놓기

CREATE DATABASE dbname;
use dbname;

2) 테이블 만들기

CREATE TABLE tablename (
  id INT UNSIGNED NOT NULL AUTO_INCREMENT
);

(참고- 숫자형 데이터 타입만 해도 엄청 많음)

  • id : 컬럼 이름

  • INT : 컬럼에 대한 데이터 타입 선언(문자, 숫자 등)

  • UNSIGNED : 옵션 사항-숫자에서만(0부터로 할지)
    (ex. TINYINT 로 지정시
    -128~ +127
    TINYINT UNSIGNED 지정시
    0~ 255)

  • NOT NULL : 빈칸으로 두는걸 허락하지 않겠어!

  • AUTO_INCREMENT : 지정해서 데이터 적지 않아도 알아서 직전값에 +1 해서 작성됨-숫자에서만
    (ex. 엑셀에서 숫자쓰고 쭉 드래그 하는 것처럼)

  • PRIMARY KEY에서 지정하는 값은 주로 AUTO_INCREMENT, INT, NOT NULL 값을 씀
    (다 작성하고 맨끝에 PRIMARY KEY(컬럼명1, 컬럼명2,...))

3) 다 작성한 후 표 조회

SHOW TABLES;

4) 테이블 삭제

DROP TABLE tablename;
(DROP TABLE IF EXISTS 테이블명;)
명령이 길어질수록 테이블 지웠었는지 헷갈릴때도 있으니 IF EXISTS 활용하자

5) 테이블 구조 확인해보기

  • DESC 테이블명;

5) 테이블 만들기예시

CREATE TABLE mytable (
  id INT UNSIGNED NOT NULL AUTO_INCREMENT,
  name VARCHAR(50) NOT NULL,
  modelnumber VARCHAR(15) NOT NULL,
  series VARCHAR(30) NOT NULL,
  PRIMARY KEY(id)
);

(**컬럼 끝나면 쉼표 주의!)


4. 데이터 타입의 다양한 유형(기초)

1) 문자형 데이터 타입 중 예시

  • VARCHAR(n) : 가변 길이 데이터 타입(n <= 65535)
    -> 글자수에 따라 사용되는 셀크기(데이터가 차지하는 공간)가 달라짐
    -> 실제 값에 따라서 저장공간을 달리함

  • CHAR(n) : 고정 길이 데이터 타입(n <= 255)
    -> 1글자든 5글자든 n글자수에 맞게 셀 크기가 지정됨

2) 시간형 데이터 타입

DATE : 날짜 다양한 형식 표현 가능
TIME : 시간
DATETIME : 날짜와 시간


💡 SQL언어를 활용한 테이블 생성 실습


profile
무서운 속도로 흡수하는 스펀지 개발자 🧽

0개의 댓글