본문 바로가기
Oracle

2. Insert, Select, like

by NamGH 2023. 9. 1.

테이블을 생성

create table test(
     id varchar2(10), -- 칼럼명,타입(글자수)
     kor number,
     gender varchar2(10)
);

오라클에서는 자바와 달리 주석을달때 --를 하면서 단다 오라클 마지막 줄에서는 주석을 달면 실행이 안되기때문에

마지막줄에서는 주석을 달면 안된다

한글의 경우는 한글자당 3의 크기를 가지기때문에 나중에 홍길동이라고 값을 삽입할시에 데이터의 크기는 9가됨으로

데이터값을 잘 설정해주어야 한다

 

create table member(-- 제약조건 primary key, not null
     id number primary key, --primary key: 레코드 구분 기준 id중복x, not null
     name varchar2(30) not null,
     salary number(15,2) default 1000000, -- 15자리와 소수점2자리까지 입력가능 값이 없으면 default값 출력
     birth date default sysdate,
     email varchar2(20)
); 

 

primary키의 경우 레코드 구분 기준이며 널값을 가지지않으며 name의 not null의 경우에도 널값을 가지지않게 설정해 준것이며 salary같은 경우는 15자리와 소수점 2자리까지 가능하다고 설정하였으며 만약에 값이 null값으로 들어오면 default 값이 출력되록 하였습니다

 

insert형식

insert into 테이블명(칼럼1, 칼럼2, ...)values(값1, 값2, ...);

insert into member(id, name, salary, birth, email)values(1, '제시카', 500, '90/12/25', 'abc@naver.com'); 

다음과 같이 데이터를 추가할수 있으며 만약 member값을 다쓴다면 rnedl member뒤에 변수를 쓰지않아도 바로 values를 작성하면 훨씬더 편하게 작성할수 있다

 

select형식

select 칼럼1,칼럼2,... from 테이블명;

 

select * from member;

전체칼럼을 볼수있다

 

select * from member where id >= 조건;

이 경우에는 id에 where을 이용해 조건을 걸어 자신이 보고싶은 값들만 가져올수 있다

 

select * from member where id in(3,5,8); 

in으로 원하는값만 가져올수 있음   

 

select * from member where email is null; 

NULL값을 찾고싶을때에는 is를 사용

 

오름차순 내림차순 형식

select 칼럼 from 테이블명

[where ~]
[oder by 칼럼명1 방식, 칼럼명2 방식];

 

select * from member order by salary asc; -- 오름차순(낮은수->큰수)
select * from member order by salary dsec; -- 내림차순(큰수->작은수)

 

like연산자

_ :1글자 -- _아: 현아, 윤아를 불러옴 하지만 아현x 아_로 해야 아현이 가능 이이유x 아__로 해야 아이유 가능
%:0~무한대 글자 -- 김훈, 김민희, 김아무개 글자수 제한x
_현%: 강현우, 강현욱이, 강현 -- 현 앞에 무조건 한글자가 있어야하며 현뒤에는 글자수 제한이 없다
%현%: 현이 들어가있으면 다 가능

 

select * from member where name like '%니%';

%%사이에 니라는 글자가 있으면 가운데에 니가 들어간것들만 가져오게된다

 

select * from member where birth like '9%' and salary between 200 and 500;

between을 사용해 200과 500을 가져오는게아닌 200~500의 데이터를 가져오게된다

 

alter table member add(gender varchar(10) check (gender in('남자', '여자')));

like를 이용한 제약조건으로 gender값에는 무조건 남자와 여자만 나올수 있음

 

avg

select avg(salary) "급여 평균" from member;

 

max

select max(salary) "최대 급여" from member;

 

min

select min(salary) "최소 급여" from member;

 

count

select count(salary) from member

null값은 카운트로 안침

 

짝수구하기

select * from member where mod(id,2) = 0; 

mod로 id와 2를 나눴을때 나머지가 0인값만 출력(짝수)

 

홀수구하기

update member set gender = '남자' where mod(id,3) = 0;

mod로 id와 3를 나눴을때 나머지가 0인값만 출력(짝수)

 

and 두개다 참
or 하나가 참
not 부정
between 사이의 값
in 특정값을 뽑을때
is null값일때 = 대신씀
like 패턴일지 조회 (_, %)

 

 

'Oracle' 카테고리의 다른 글

4. join  (0) 2023.09.01
3. Update, Delete, alter  (0) 2023.09.01
1. DDL, DML, DCL  (0) 2023.08.29