-- 주석 처리
F5 실행
Table 생성
(varchar2가 최신 버전이어서 주로 사용하는 추세임)
create table 이름(주로 소문자 사용)(
ID number,
NAME varchar2(20)
);
테이블 확인 및 선택
select * from 테이블이름;
선택적으로 field명만 지시해 해당 column만 확인하고 싶을 시
select field이름 from 테이블이름;
테이블의 column 갯수를 확인하고 싶을 시,
select count (*) from tab01;
중복된 것 제외할 시
select count (distinct name) from tab01;
각 field에 별칭을 추가(aliasing)하기 위해 쓰는 방법
select id as 아이디, name as “이 름”, salary as 급여 from tab01;
이런 식으로도 가능하나, query 코드 가독성으로는 좋지 않기 때문에 아래 방식은 잘 안쓴다.
select id 아이디, name 이름, salary 급여 from tab01;
테이블을 합칠 시 예시
select name||salary as 합친거 from tab01;
select name||salary as 합친거 from tab01;
중복된 column 제거한 데이터 찾기
select distinct name from tab01;
삭제
drop table 테이블이름;
purge recyclebin; --완전 삭제
중복 생성 방지를 위한 query문, drop 먼저 하고 create 하는 방식
drop table tab01;
예시)
create table tab01(
ID number,
NAME varchar2(20)
);
A에서 B로 이름 바꿈
rename A to B
테이블 속성
desc 테이블이름;
속성을 뜻하는 용어
attributes(또는 field, 열, column) - 세로 열
행(record, tuple) - 가로 행
테이블 갱신(위험한 용어!! 조심해서 사용해야 함.)
기존 테이블 안에 새로운 field 추가
alter table tab01 add(address varchar2(20));
2개 이상 넣을 시에는 다음과 같이 추가 가능
alter table tab01 add(phone number not null, gender varchar2(20) not null);
테이블 안의 속성 변경
alter table tab01 modify(name not null);
테이블 삭제
alter table tab01 drop(gender);
데이터 추가 시 (묵시적 방법, 필드를 이미 적어놓았다고 가정하는 것)
insert into tab01 values(1,’a’,’asdf’);
또는 (명시적 방법, field 개수를 다 넣지 않아도 가능)
insert into tab01(id,name,address) values(2,'b','asdf');
아래와 같은 방식으로 연산식을 query문에 넣을 수 있음.
프로그램으로 만들 때, 변수로 지정할 수 있다!
insert into tab01 (salary)values (10+10);
insert into tab01 (salary)values (3600*3600);
외부로 입력받아 처리 시 다음과 같이 입력. 문자열 입력 시에는 query문처럼 똑같이 ‘’을 달아야 함.
insert into tab01 values(&a,&b,&c);
‘’넣기 귀찮으면 다음과 같이 미리 넣어버리는 방법도 있음.
insert into tab01 values(&a,'&b',&c);
데이터의 산술 연산 가능함.
select salary as 급여, salary*1.2 as 수령액, salary*1.2-salary as 보너스 from tab01;
출력 예.
select name as 이름, salary as "월급(만 원)", salary *12 as "연봉(만 원)" from tab01;
데이터의 정렬
--(오름차순)
select * from tab01
order by salary asc;
--(내림차순)
select * from tab01
order by salary desc;
첫번째 field 기준으로 정렬 시 다음과 같이 사용
select * from tab01
order by 1;
첫 번째는 salary 내림차순, id 오름차순
select * from tab01
order by salary desc, id asc;
출력 시 중간에 목록 안 나오고, 페이지 사이즈 늘려서 데이터가 쭈욱 나오게 할 수 있다.
또한, QUERY가 수행된 시간을 출력하려면 SET TIMING을 ON 하면 된다.
-- 원하는 줄만큼 출력
SET PAGESIZE 64;
-- 원하는 숫자 넣으면 됨
-- 실행에 걸린 시간 출력
SET TIMING ON;
'Oracle' 카테고리의 다른 글
Oracle - join (0) | 2020.06.02 |
---|---|
Oracle EMP Table 예시 (0) | 2020.06.01 |
Oracle 기본 Query문 4 (0) | 2020.06.01 |
Oracle 기본 Query문 3 (0) | 2020.05.27 |
Oracle 기본 설정, query문 기본 (0) | 2020.05.27 |