'SQL 첫걸음' 공부 -Day 9

윤현묵·2021년 12월 20일
0

MySQL

목록 보기
10/12
post-thumbnail

[학습 DAY - 9]

26강 테이블 작성/삭제/변경

-. DMI : SELECT, INSERT, DELETE, UPDATE 등 데이터를 조작하는 명령
-. DDL : 데이터를 정의하는 명령으로, 스키마 내의 객체를 관리할 때 사용

  • 테이블 작성

    CREATE TABLE 테이블명(
    열 정의1,
    열 정의2,
    ...
    )

    • 열명: 열에 붙이는 이름, 명명규칙에 맞게 이름을 붙여줌, INTEGER, VARCHAR 등
    • 기본값: DEFAULT로 지정하되 자료형에 맞는 리터럴로 기술, 생략 가능
    • NULL 허용지정(NOT NULL 일 경우 NULL 허용되지 않음)
  • 테이블 삭제

    DROP TABLE 테이블명

    • 많은 데이터베이스가 SQL 명령을 실행할 때 확인을 요구하지 않기 때문에 실수로 삭제하지 않도록 주의
    • 테이블의 정의는 그래도 둔 채 데이터만 삭제할 경우 DELETE 명령 사용(WHERE 조건을 지정하지 않으면 테이블의 모든 행의 데이터를 삭제)
    • DELETE 명령은 행 단위로 여러가지 내부 처리가 일어나므로 삭제 행이 많은 경우 속도가 느려짐 --> DDL로 분류되는 TRUNCATE TABLE 테이블명 사용하여 모든 행 삭제
  • 테이블 변경

    ALTER TABLE 테이블명 변경명령

    • 열 추가 : ALTER TABLE 테이블명 ADD 열 정의
    • 열 속성 변경 : ALTER TABLE 테이블명 MODIFY 열 정의
    • 열 이름 변경 : ALTER TABLE 테이블명 CHANGE [기존 열 이름][신규 열 정의]
    • 열 삭제 : ALTER TABLE 테이블명 DROP 열명 (테이블에 존재하지 않는 열 지정 시 에러 발생)

27강 제약

  • 테이블 작성 시 제약 정의
    -. CREATE TABLE로 테이블 작성하 때 제약을 같이 정의
    -. ALTER TABLE로 제약을 지정하거나 변경 가능
    -. 열에 대해 정의하는 제약을 열 제약이라고 하고, 한 개의 제약으로 복수의 열에 제약을 설명하는 경우를 테이블 제약이라고 부름
    -. CONSTRAINT 키워드를 사용하여 제약에 이름을 붙여 관리 가능

  • 제약 추가
    -. ATER TABLE로 열 정의 변경 가능 ALTER TABLE 테이블명 MODIFY 열명 VARCHAR(30) NOT NULL;
    -. 테이블 제약은 ALTER TABLE의 ADD 하부명령으로 추가 가능 ALTER TABLE 테이블명 ADD CONSTRAINT pkey_테이블명 PRIMARY KEY(a)

  • 제약 삭제
    -. 열 제약의 경우, 추가할 때와 동일하게 열 정의 변경 ALTER TABLE 테이블명 MODIFY 열명 VARCHAR(30);
    -. 테이블 제약은 ALTER TABLE의 DROP 하부명령으로 삭제 가능 ALTER TABLE 테이블명 DROP CONSTRAINT pkey_테이블명; 또는 ALTER TABLE 테이블명 DROP PRIMARY KEY;(기본키 삭제)

  • 기본키 : 테이블의 한 행 한 개를 특정할 수 있는 검색키
    -. 기본키로 지정할 열은 NOT NULL 제약이 설정되어 있어야 함
    -. 기본키로 설정된 열이 중복하는 데이터 값을 가지면 제약에 위반됨
    -. 행이 유일성을 필요로 한다는 다른 의미에서 유일성 제약이라고 불리기도 함

profile
진정성 있는 개발자를 꿈꾼다

0개의 댓글