Oracle day 06

유요한·2024년 7월 1일
0

DataBase(MySQL & Oracle)

목록 보기
14/17

기본키와 참조키의 설정

  • 컬럼 레벨의 설정 : 컬럼을 적어 줄 때 설정
  • 테이블 레벨의 설정 : 컬럼들을 다 적어주고 맨 마지막에 키를 설정

코드

컬럼 레벨

create table newBook(
    bookId number primary key,
    bookname varchar2(50) not null,
    publisher VARCHAR2(50) ,
    price number 
);

테이블 레벨

create table newBook(
    bookId number,
    bookname varchar2(50) not null,
    publisher VARCHAR2(50),
    price number,
    primary key (bookId)
);

create table neworders(
    orderId number,
    custId number,
    bookId number,
    salePrice number ,
    orderDate date default sysdate,
    primary key (orderId),
    foreign key(custId) references newcustomer(custId),
    foreign key(bookId) references newbook(bookId)
);

DDL

  • create : 테이블을 생성
  • alter : 테이블 구조를 변경
  • drop : 테이블 삭제

DML

  • insert : 레코드의 생성
  • update : 레코드의 수정
  • delete : 레코드의 삭제
  • select : 레코드의 조회

테이블 구조 변경

  • 컬럼 추가
  • 컬럼 삭제
  • 컬럼 속성 변경

컬럼 추가

alter table 테이블이름 add 컬럼이름 자료형;

💡 테이블에 값이 없다면 not null도 추가할 수 있지만 값이 있다면 레코드가 이미 존재해서 새로운 컬럼을 추가할 때는 not null 제약을 사용할 수없다.

컬럼 삭제

alter table 테이블이름 drop column 칼럼이름;

컬럼 속성 수정

alter table 테이블이름 modify 컬럼이름 새로운 자료형;

이미 있는 테이블에 제약 설정

alter table 테이블이름 add primary key(컬럼[들]);

💡 이작업을 할 때 컬럼이 중복된 값이 있거나 null 값이 있으면 불가능
alter table newbook add primary key(bookId);
alter table newbook add check (price >= 1000);
profile
발전하기 위한 공부

0개의 댓글