본문 바로가기

Java Programming/DB(Oracle, My-Sql)

쿼리문(제약조건..)

--학생 테이블 생성
CREATE TABLE STUDENT(
"UID" varchar2(50),
"PWD" varchar2(50),
PHONE varchar2(50),
NAME varchar2(15)
);

--인서트
INSERT INTO STUDENT("UID", "PWD", PHONE, "NAME") VALUES('HONG', '1234', '010-5555-5555', '홍길동');
COMMIT;

--속성 추가할때
ALTER TABLE STUDENT ADD "PWD" VARCHAR2(50);
COMMIT;

--자료형 수정할때
ALTER TABLE STUDENT modify("PWD" VARCHAR2(30));

--테이블 확인할때
SELECT * FROM USER_TABLES WHERE TABLE_NAME='STUDENT';

--테이블 컬럼 속성 제약조건 확인할때
SELECT * FROM user_tab_columns WHERE TABLE_NAME='STUDENT';

--테이블 생성후 NOT NULL제약 조건 수정
ALTER TABLE STUDENT MODIFY("UID" NOT NULL, "PWD" NOT NULL)

--전화번호 CHECK제약조건(데이터값이 존재할때는 행 삭제후 제약조건)
ALTER TABLE STUDENT ADD CONSTRAINT CK_STUDENT_PHONE CHECK(REGEXP_LIKE(PHONE, '^01[016789]-\d{3,4}-\d{4}$'));

--체크제약조건 후 제약조건 확인할때
SELECT * FROM user_constraints WHERE table_name='STUDENT';

--PRIMARY KEY 설정
ALTER TABLE STUDENT ADD CONSTRAINT PK_STUDENT83_UID PRIMARY KEY("UID");