SQL

[SQL] DDL

wwxs 2024. 9. 25. 10:31

DDL

 

데이터베이스 생성

  • create : 데이터베이스 생성, 데이터를 저장하고 관리하는 첫 단계
  • create database `데이터베이스명`;
더보기
더보기
create database example;

테이블 생성

  • create : 테이블 생성, 테이블에 저장될 데이터의 형태와 특성을 정의
  • 데이터 타입, 제약조건, 기본값 등을 설정 가능
  • create table `데이터베이스`.`테이블명`;
더보기
더보기
create table `example`.`students` (
	student_id int,
    student_name char(8),
    student_gender char(8)
);

create table `example`.`students2` (
	student_id int,
    student_name char(8),
    student_gender char(8)
)

데이터베이스 삭제

  • drop : 데이터베이스 삭제
  • drop database `데이터베이스명`;
더보기
더보기
drop database example2;

테이블 삭제

  • drop : 테이블 삭제
  • drop table `데이터베이스명`.`테이블명`;
더보기
더보기
drop table `example`.`students2`;

 

데이터베이스

1. 데이트베이스 생성(create)

더보기
더보기

cf) 데이터베이스의 유무를 확인하고 오류를 방지하는 SQL문, 존재하지 않을 경우에만 새로 생성

create database if not exists database_name;

 

2 .데이터베이스 선택(use)

  • use 키워드를 사용하여 DB 선택 시 모든 SQL 명령어가 선택된 DB내에서 실행, 스키마명을 더블클릭한 것과 동일함
  • use database_name

 

3. 데이터베이스 삭제

  • 데이터베이스 삭제 기능, 해당 작업은 실행 후 되돌릴 수 없다.
더보기
더보기
DROP DATABASE database_name;

 

4.  데이터베이스 목록 조회

  • 서버에 존재하는 모든 데이터베이스 목록을 확인
더보기
더보기
SHOW DATABASES;

 

테이블

1. 테이블 생성 (create)

더보기
더보기
CREATE DATABASE IF NOT EXISTS example;
USE example;
CREATE TABLE students ( # 테이블 생성 시 데이터베이스명이 필수는 X (오류 방지를 위해 권장)
	student_id int primary key,
    name varchar(100) not null,
    AGe INT NOt NULl,
    majOR VARCHAR(100)
);

 

2. 테이블의 구조 조회 (describe, desc)

  • 테이블 구조: 정의된 컬럼, 데이터 타입, 키 정보(제약조건) 등을 조회 가능
  • describe 테이블명;
더보기
더보기
-- describe students;
desc students;

 

Field: 각 컬럼의 이름, Type: 각 컬럼의 데이터 타입, Null: Null 허용 여부

Key: 각 컬럼의 제약사항(키), Default: 기본값 지정, Extra: 제약사항-추가옵션

 

3. 테이블 수정(alter)

  • 이미 존재하는 테이블의 구조를 변경하는 데 사용
  • 컬럼 또는 제약 조건을 추가, 수정, 삭제

a) 컬럼 추가 add(column)

  • alter table 테이블명 add column 컬럼명 데이터타입 기타사항;
더보기
더보기
alter table `students`
add email varchar(255);

b) 컬럼 수정 modify(column)

  • alter table 테이블명 modify column 컬럼명 새로운컬럼_데이터타입;
더보기
더보기
alter table students
modify email varchar(100);

c) 컬럼 삭제 drop(column)

  • alter table 테이블명 drop 컬럼명;
더보기
더보기
alter table students
drop email;

 

(추가 내용)

더보기
더보기

cf. if exists / if not exists

  • 선택적 키워드, 테이블이 존재하는 경우에만 삭제를 수행
  • 존재할 때만 삭제하기 때문에 오류X
  • drop table if exists 테이블명;

cf. 데이터베이스와 테이블을 동시 지정

  • 테이블의 위치를 명확하게 전달하기 위해 .기호를 사용하여 경로 지정을 권장
  • 데이터베이스.테이블명

cf. truncate

  • 테이블의 모든 데이터를 삭제하고 초기 상태로 되돌림
  • 데이터베이스, 테이블의 구조는 삭제되지 않는다

cf. drop

  • 전체 구조물을 삭제한다.