SQL - 테이블 변경 / 데이터 사전
·
DB/SQL
테이블 (Table) 변경 생성된 테이블에 대한 구조를 변경 컬럼의 추가,삭제 및 컬럼의 타입이나 길이 변경, 제약조건 추가,삭제 1. 컬럼 추가 ALTER TABLE 테이블명 ADD ( 컬럼명 데이터타입 [, 컬럼명 데이터타입]); 2. 컬럼 변경 컬럼에 대해서 데이터 타입이나 크기, DEFAULT 값을 변경 할 수 있다. 숫자 및 문자 컬럼의 전체 길이를 증가 또는 축소 시킬 수도 있으며 데이터 타입 변경도 가능하다. 단 모든 행의 컬럼이 널 (null)이거나 행이 없는 경우에만 컬럼 길이 축소와 데이터 타입 변경이 가능하다. ALTER TABLE 테이블명 MODIFY ( 컬럼명 데이터타입 [, 컬럼명 데이터타입]); 3. 컬럼 삭제 컬럼은 값의 존재여부와 상관없이 무조건 삭제된다. 한꺼번에 여러 개..
SQL - DDL
·
DB/SQL
데이터 딕셔너리 자원을 효율적으로 관리하기 위한 다양한 정보를 저장하는 시스템 테이블 사용자가 테이블을 생성하거나 사용자를 변경하는 등의 작업을 할 때 데이터베이스 서버에 의해 자동으로 갱신되는 테이블 USER_TABLES : 사용자가 작성한 테이블을 확인하는 뷰 SELECT * FROM USER_TABLES;​ DESC : 테이블의 구조 표시 DESC MEMBER;​ DDL ( Data Definition Language) 개념: 오라클의 5가지 객체를 생성, 수정, 삭제, 절삭 가능 5가지 객체 테이블(table) : 기본적인 데이터 저장 단위로 행과 열로 구성된 객체 인덱스(index) : 테이블에 젖아된 데이터의 검색 성능 향상 목적을 위한 객체 뷰(view) : 한 개 이상의 테이블의 논리적인 ..
SQL - DML
·
DB/SQL
모든 DML 작업은 메모리에서만 적용된다. 물리적인 파일에 반영이 안된 상태. 물리적인 파일로 변경하는 작업이 COMMIT (파일에 반영) 메모리에서만 쓰고 없어지는 게 ROLLBACK (취소) 1. INSERT 문 용도: 새로운 레코드(행) 생성 종류 단일 테이블의 단일행 생성 (기본적으로 INSERT문 의미) 1. 컬럼명 지정 (권장 방법) INSERT INTO 테이블명 (컬럼명,컬럼명2) VALUES (값,값2); - 명시된 컬럼명에 일대일 대응되어 값이 저장이 된다. ( 갯수일치, 데이터타입 일치, 크기 일치 ) - 명시되지 않은 컬럼의 값은 NULL이 자동으로 저장된다. - 주요 특징은 저장하고 싶은 컬럼만 지정할 수 있다. (나머지는 NULL로 저장됨) 2. 컬럼명 미지정 INSERT INTO..
SQL - 다중 컬럼 서브쿼리 / 인라인 뷰
·
DB/SQL
-- -- 서브쿼리에서 여러 개의 컬럼값을 검색하여 메인쿼리의 조건절과 비교하는 서브쿼리 -- 컬럼을 쌍으로 묶어서 동시에 비교하는 pairwise 방식 -- 컬럼별로 나누어 비교하고 나중에 AND 연산으로 처리하는 unpairwise 방식 SELECT last_name, department_id, salary FROM employees WHERE (department_id, salary) IN ( SELECT department_id, MAX(salary) FROM employees GROUP BY department_id ) ORDER BY 2; -- -- -- FROM 절에서 사용하는 서브쿼리 -- FROM절에서 참조하는 테이블의 크기가 클 경우에 필요한 행과 컬럼만으로 구성된 집합을 -- 재정의하..
SQL - 단일행/복수행 서브쿼리
·
DB/SQL
-- : 서브쿼리가 실행되어 반드시 한 개의 행을 반환하는 서브쿼리 -- 1. 비교 연산자 -- : 서브쿼리가 실행되어 반환되는 결과가 하나 이상의 행일 때 사용하는 서브쿼리 -- -- 1. IN 연산자: 서브쿼리 반환값이 복수이고 메인 쿼리와 동등 연산자(=) 방식으로 비교할 때 SELECT last_name, salary FROM employees WHERE salary IN ( SELECT salary FROM employees WHERE last_name IN ('Whalen','Fay') ); -- 2. 다중 연산자 > ALL : 최대값보다 큰 값을 조회 ( 최대 월급보다 많은 ) SELECT last_name, department_id, salary FROM employees WHERE sal..
SQL - 서브쿼리(sub query)
·
DB/SQL
서브쿼리 (sub query) query => select문 의미 sub query는 하나의 SQL문에 여러 개의 select문을 사용할 수 있다. 이유? 하나의 select문으로는 원하는 데이터를 못 얻을 때 사용 가능한 SQL **select 문** ( where절, from절, select, having절 ) **DML 문** ( insert, update, delete문 ) **DDL 문** ( create 문 ) **==> 값을 지정할 수 있는 곳이면 sub query 사용 가능하다.** sub query 특징 반드시 () 사용 다른 main sql문보다 먼저 실행하고 실행된 결과를 가지고 main sql문이 사용한다. main query와 sub query 간에 사용되는 연산자는 정해져 있다...
SQL - 그룹함수
·
DB/SQL
그룹함수 그룹핑 방법 기본적으로 테이블은 하나로 묶여 있음 - 그룹함수를 제한없이 사용할 수 있다. 가. 자동으로 묶임 나. 명시적으로 묶임 - 요청 text가 ~별로 요청하면 무조건 묶어야 된다. 예)학년별, 부서별, 성별, ... - group by 표현식 해석 순서 ⑤ SELECT 컬럼명 | 함수식 ① FROM 테이블명 [ + JOIN ] ② WHERE 컬럼명 | 함수식 비교연산자 비교값 ③ GROUP BY 컬럼명 ④ HAVING 그룹함수식 비교연산자 비교값 ⑥ ORDER BY 컬럼명 | 순번 | 별칭 정렬기준 SUM 함수 널(null)값을 제외한 해당 컬럼 값들의 총합을 구하는 함수 인자로 DISTINCT를 사용하면 중복된 값을 제외하고 총합 계산이 처리된다. ALL은 중복된 값을 모두 포함하여 ..
SQL - 날짜함수, 변환함수, 조건함수
·
DB/SQL
날짜 함수 select * from NLS_SESSION_PARAMETERS; create table exam (a date, b date); insert into exam (a, b) values (to_date('15/01/01','RR/MM/DD'), to_date('15/01/01','YY/MM/DD')); select to_char(a, 'RRRR'), to_char(b, 'YYYY') from exam; -- 시스템의 년도를 1995년도 변경 insert into exam (a, b) values (to_date('15/01/01','RR/MM/DD'), to_date('15/01/01','YY/MM/DD')); select to_char(a, 'RRRR'), to_char(b, 'YYYY')..
SQL
·
DB/SQL
SQL (Structured Query Language) 사용자와 관계형 데이터베이스를 연결시켜 주는 표준 검색 언어 오라클에서만 사용 가능한 SQL문과 모든 DBMS에서 사용 가능한 ANSI(American National Standards Institute) SQL문으로 구분된다. SQL 문장의 특징 사용하기가 쉬워 프로그래밍에 경험이 없는 사용자라도 쉽게 배울 수 있다. 비 절차적 언어이다. DBMS를 만든 회사마다 자체적으로 추가된 SQL문법이 존재하기 때문에 SQL 문장이 약간씩 다르다. 하지만 모든 DBMS에서 공통적으로 사용할 수 있는 ANSI SQL문이 제공되기 때문에 큰 문제는 없다. SQL 문장의 종류 1.질의어 ( Data Query Language : DQL) 질의어는 SELECT문..
DB와 Oracle
·
DB/SQL
DB(Data Base)란? 여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합이다. 자료를 구조화하여 저장함으로써 자료 검색과 갱신의 효율을 높일 수 있다. DBMS(DataBase Management System) 데이터베이스 관리 시스템 이라고 하며 방대한 양의 데이터베이스를 효율적으로 저장하고 관리 및 검색할 수 있는 소프트웨어, 여러 응용 프로그램들과 데이터베이스의 중재자로서 응용프로그램들이 데이터베이스를 공유해서 사용할 수 있도록 관리해주는 소프트 웨어 이다. 오라클(Oracle)이란? 미국의 오라클 회사에서 제작한 세계 점유율 1위 관계형 데이터베이스 관리 시스템이며 가장 많이 사용되는 DBMS 이다. 오라클 장점 다수의 사용자가 동시에 접근이 가능하다. 분산처리 지원..
xoo | 수진