Database/Oracle 10

Oracle DB) 단일 행 함수 - 숫자함수: 반올림, 버림, 나머지

1. 숫자함수 1) round(숫자, 자릿수): 반올림 round(45.929, 2)# 45.93 round(45.900, -1)# 50 2) trunc(숫자, 자릿수) : 버림 trunc(45.929, 2)# 45.92 trunc(45.999)# 45 trunc(45.999, -1)# 40 3) MOD(숫자, 나눌 수) : 나머지 반환 2. DUAL 테이블 테이블과 상관없이 일회성의 계산 결과 등을 할때 사용한다. 실 소유자는 sys지만, 모든 유저가 사용할 수 있게 제공해놓은 테이블이다. dual테이블 보기 desc dual#컬럼명 보기 select * from dual;# 값 보기 계산해보기 select 12*3000+100 as value from dual; 연습문제 1) employees 테이블..

Database/Oracle 2022.04.12

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

Oracle DB) SELECT 연습

1. 중복제거 연습 EMPLOYEES 테이블로부터 사원들이 담당하고 있는 업무(job_id) 리스트를 중 복없이 출력하는 구문을 작성하시오. select distinct job_id from employees; 2. Alias 연습 employees 테이블로부터 employee_id, last_name, job_id, hire_date를 출력하되 다음과 같은 컬럼명으로 재명명하여 출력하는 구문을 작성하시오. select employee_id "Emp#", last_name "Employee", job_id "Job", hire_date "Hire Date" from employees; 3. 리터럴 문자 넣기 연습 employees 테이블로부터 last_name과 job_id를 이어서 출력하되 중간에 쉼표..

Database/Oracle 2022.03.02

OracleDB) SELECT문과 WHERE, ORDER BY

SELECT 검색할 컬럼 FROM 테이블명 ( + 조건); select문과 같이 사용하는 기타 문법 1) Alias: 출력할때 원하는 이름으로 출력할 수 있도록 한다. Alias에 공백, 대문자를 넣고싶으면 큰따옴표 안에 작성하면 작성한 그대로 된다. 문법: 컬럼명 as 새로운이름 SELECT emp_name as name, salary*12 "Total Salary" from employees; 2) || 연결연산자: 컬럼들의 값을 합쳐서 출력한다. 작은따옴표 ' ' 안에 넣으면 문자열 출력 가능. SELECT 'The job id for ' || UPPER(last_name) || ' is ' || LOWER(job_id) AS "EMPLOYEE DETAILS" FROM employees; 3) DI..

Database/Oracle 2022.03.02

Oracle DB) 데이터 조작어(DML)- insert, update, delete

데이터 조작어( Data Manipulation Languageinsert ) insert 새로운 행 추가 update 기존 행 수정 delete 기존 행 삭제 다음과 같은 테이블이 있다고 하자. depart_name emp_name emp_age phone_number salary A apple 25 010.1111 170 create table emp_table ( depart_namevarchar(10), emp_name varchar(7) not null, emp_agenumber, phone_number varchar(13), salarynumber ); INSERT INTO 테이블명(컬럼명) VALUES (값) 값을 추가하는 데이터 조작어로, 데이터를 추가할때는 컬럼 순서에 맞게 지정해야한다...

Database/Oracle 2022.02.24

Oracle DB) SQL Plus 기본 명령어: 컬럼 사이즈 조절, 히스토리 사용 등

SELECT구문 = SELECT 절 + FROM절 SELECT + 찾을 컬럼명 FROM + 테이블명 터미널 비우기: ! clear 1. 테이블 구조 조회 DESCRIBE 테이블명 (줄여서 DESC) 2. 해당 유저 소유의 테이블 종류 조회 SELECT table_name FROM user_table; 3. 컬럼 사이즈 조절 col 컬럼명 format a숫자 => 세미콜론 없이! * 사이즈 조절할때 숫자, 날짜가 저장된 컬럼 사이즈는 조절하면 안된다. 문자만 가능. 4. 세미콜론 있고 없고의 차이 세미콜론이 있는것은 SQL 구문. 모든DBMS에서 공통으로 적용되는 표준 구문. ex) select * from departments; 세미콜런이 없는 명령어는 SQL Plus 환경에 대한 구문이다. ex) co..

Database/Oracle 2021.12.29
반응형