DB 5

Oracle DB) DDL - ALTER 테이블 수정(add, rename, modify, drop)

기본 명령어 ALTER TABLE 테이블명 ADD, MODIFY, DROP 1. ADD 추가 가능한 것: 컬럼, 제약조건 1) 컬럼 추가 ALTER TABLE emp01 ADD (job_id varchar2(10)); 2) 제약조건 추가 alter table 테이블명 add constraint 제약조건명 제약조건유형(컬럼명); -- 제약조건 추가(table level 문법) alter table emp01 add constraint emp_mgr_fk foreign key (mgr_id) references emp2(emp_id); alter table emp01 add constraint emp_id_pk primary key(emp_id); 2. MODIFY 수정 가능한 것: 데이터타입, defaul..

Database/Oracle 2022.03.22

Oracle DB) 제약 조건 확인하기(SQLPlus, Developer)

제약조건 확인 테이블을 생성 후 desc 명령으로는 not null외의 제약조건은 확인할 수 없다. null외의 제약조건을 확인하려면 user_constrange 라는 DB사전을 사용해야한다. select constraint_name, constraint_type, search_condition, r_constraint_name from user_constraints where table_name = '테이블명(대문자로)'; 근데, 제약조건을 확인하는 명령문이 너무 길고 매번작성하기 힘들어서 변수로 저장하려한다! sql쿼리문에 변수 넣기 select constraint_name, constraint_type, search_condition, r_constraint_name from user_constra..

Database/Oracle 2022.03.22

Oracle DB) 제약 조건: Primary Key, Foreign key, Unique, Not Null, Check

제약조건이란? 데이터의 무결성을 지키기 위한 제한된 조건. 특정 데이터를 입력 할 때 무조건 입력되는 것이 아닌, 지정한 조건을 만족했을 때 입력되도록 제약한다. 종류: Primary key, Foreign key, Unique, Not Null, Check 제약조건 선언 시기 1) 데이블 생성 시: create구문으로 테이블 선언 시. 2) 테이블 생성 후: alter 구문으로 수정한다. 제약조건명 사용자(개발자)가 지정. 고유하고 의미있는 이름 부여. 권장 이름: 테이블명의 약자_컬럼명 약자_제약조건 유형의약자 ex) emp_empid_pk emp_email_uk dept_dname_nn dept_sal_f => 한글자씩으로만 줄여써도된다. 잘 알아볼 수 있도록 편리하게! 제약조건명은 생략할수 있다...

Database/Oracle 2022.03.15

Oracle DB) 데이터 정의어(DDL) - CREATE 테이블 생성, 복사

DQL 데이터 질의어 : select DML 데이터 조작어 : insert, update, delete DDL 데이터 정의어 : create, alter, drop, truncate **DDL은 자동으로 commit이 되서 좀 더 신중하게 작성하는것이 좋다. DB안에 존재하는 객체 종류 Table, View, Sequence, Index, Synonym 테이블명과 컬럼명 이름 규칙 - 문자로 시작한다. - 문자, 숫자, 특수문자(_, #, $) 혼합 가능 1. 테이블 생성 CREATE 생성 방법1) 직접 생성 CREATE TABLE 테이블명 ( 컬럼명 테이터타입(컬럼사이즈), 컬럼명 데이터타입(컬럼사이즈), ...... ); 생성 방법2) 서브쿼리로 생성 CREATE TABLE 테이블명 AS SELECT..

Database/Oracle 2022.03.15

Oracle DB) 단일행 함수 - 문자함수(자르기, 연결하기 등등)

단일행 문자 함수: 문자 입력을 받아 문자나 숫자값을 반환한다. 1. 대소문자 변환함수 대보문자 변환은 보통 문자열을 비교해서 찾을 때 많이 사용한다. a로 시작하는 사람을 찾고싶은데 oracle db는 대소문자를 구분하기때문에 LIKE = 'a%' 로 찾으면 대문자로 시작하는 사람은 안나온다. 따라서 DB에 들어있는 값을 변환해서 찾으면 모든 경우를 다 찾을 수 있다. lower() 소문자로 변환 upper() 대문자로 변환 INITCAP() 맨 앞글자만 대문자고 나머지는 소문자 select emp_name from emps where LOWER(emp_name) = 'apple'; 2. 문자조작 함수 1) concat(a, b) : 두 인수를 연결해서 하나의 문자열로 반환. select concat(..

Database/Oracle 2022.03.02
반응형