목록프로그래밍 (408)
쌓고 쌓다
무결성 제약 조건 추가 기존 테이블에 무결성 제약조건을 추가 생성한다. ALTER TABLE table_name ADD [CONSTRAINT constraint_name] constraint_type (column); * NULL 무결성 제약조건은 ALTER TABLE ... MODIFY 명령문을 사용해야한다. Why? 'NULL 허용'을 'NULL 입력 불가' 상태로 변경을 의미하기 때문이다. 기본키(PRIMARY KEY), NOT NULL 추가 EX) grade 칼럼에 기본 키, losal과 hisal 칼럼에 NOT NULL 무결성 제약 조건 추가 CREATE TABLE test( grade NUMBER(2), losal NUMBER(5), hisal NUMBER(5) ); ALTER TABLE te..
데이터 무결성 제약 데이터의 정확성과 일관성을 보장한다. 무결성 제약조건 종류 무결성 제약조건 설명 NOT NULL 해당 칼럼 값은 NULL을 포함할 수 없다. 고유 키(Unique Key) 테이블내에서 해당 칼럼 값은 유일해야한다. 단, NULL 값은 허용함. 기본 키(Primary Key) 해당 칼럼 값은 반드시 존재해야하며, 유일해야 한다. 고유키, NOT NULL 제약조건을 결합한 형태. 참조 해당 칼럼 값은 참조되는 테이블의 칼럼 값중의 하나와 일치하거나 NULL을 가진다. CHECK 해당 칼럼에 저장 가능한 데이터 값의 범위나 조건을 지정한다. student 테이블 기본 키 : 학번(studno) 칼럼에는 값이 반드시 존재해야 함. 모든 값은 유일해야 함. 고유 키 : 사용자아이디(userid..
1. CREATE TABLE member( USERID VARCHAR2(10), USERNAME VARCHAR2(10), PASSWD VARCHAR2(10), IDNUM VARCHAR2(13), PHONE NUMBER(13), ADDResS VARCHAR2(20), REGDATE DATE, INTEREST VARCHAR2(15) ); 2. ALTER TABLE member MODIFY phone VARCHAR2(13); INSERT INTO member VALUES ('sunshinLee', '이순신', 'ssl000', '8701011120200', '02)333-2123', '서울', SYSDATE, '컴퓨터'); 3. CREATE TABLE member_second AS SELECT * FROM s..
(1) -- 묵시적 INSERT INTO professor(profno, name, deptno) VALUES (9910, '이순신', 201); -- 명시적 INSERT INTO professor VALUES (9910, '이순신', NULL, NULL, NULL, NULL, NULL, 201); (2) UPDATE professor SET userid='sunshinlee', hiredate='05/01/01' WHERE name='이순신'; (3) UPDATE professor SET position = (SELECT position FROM professor WHERE userid='Pascal'), sal = (SELECT sal FROM professor WHERE profno=9908) WH..
주석 추가 테이블, 칼럼에 주석 추가할 수 있다. 테이블에 주석 추가 COMMENT ON TABLE table_name IS 'content of comment'; EX) -- 주소록 테이블에 '고객 주소록 관리 테이블' 주석을 추가 COMMENT ON TABLE address IS '고객 주소록 관리 테이블'; 칼럼에 주석 추가 COMMENT ON COLUMN table_name.column IS 'content of comment'; EX) -- 주소록 테이블의 name 칼럼에 '고객 이름' 주석 추가 COMMENT ON COLUMN address.name IS '고객 이름'; 주석 확인 USER_TAB_COMMENTS, UER_COL_COMMENTS 데이터 딕셔너리를 이용하여 ADDRESS 테이블과..
TRUNCATE 테이블 구조는 그대로 유지하며, 테이블의 데이터와 할당된 공간을 삭제 TRUNCATE TABLE table_name; DELETE 명령문과 차이 DELETE 명령문 기존 데이터만 삭제하는 명령이며, ROLLBACK 가능하다. WHERE 절을 이용하여 특정 행만 삭제 가능하다. TRUNCATE 명령문 기존 데이터 삭제뿐만 아니라, 물리적인 공간까지 반환한다. DDL문이므로 ROLLBACK이 불가능하다. WHERE 절을 이용하여 특정 행만 삭제하는 것이 불가능하다. DDL(Data Definition Language) : 데이터 정의어 = 테이블과 같은 데이터베이스 구조를 정의 DML(Data Manipulation Language) : 데이터 조작어 = 테이블에 있는 행과 열을 조작 (DE..
테이블 생성 CREATE TABLE table_name ( column datatype [DEFAULT expression] [column_constraint_claues] [, ...] ); table_name : 생성될 테이블 이름 column : 생성될 칼럼 이름 datatype : 칼럼에 대한 데이터 타입과 길이 DEFAULT expression : 데이터 입력 시 값이 생략된 경우에 입력되는 기본 값 column_constraint_clause : 칼럼에 대해 정의되는 무결성 제약조건 ( NOT NULL, UNIQUE 등등.. ) EX) 주소룩 테이블 생성 CREATE TABLE address (id NUMBER(3), name VARCHAR2(50), addr VARCHAR2(100), pho..
시퀀스 일련의 번호로 기본 키 값을 생성하는 객체. 여러 테이블에서 공유가능. CREATE SEQUENCE sequence [INCREMENT BY n] [START WITH n] [MAXVALUE n] [MINVALUE n] [CYCLE | NOCYCLE] [CACHE n | NOCACHE]; INCREMENT BY n : 시퀀스 번호의 증가치 (기본:1) START WITH n : 시퀀스 시작번호 (기본:1) MAXVALUE n : 시퀀스 최대값 MINVALUE n : cycle로 지정한 경우, MAXVALUE에 도달한 후 새로 시작하는 시퀀스 값 CYCLE or NOCYCLE : MAXVALUE 또는 MINVALUE에 도달한 후 순환 생성 여부 CACHE n OR NOCACHE : 시퀀스 생성 속도..