자료형
1) 숫자
정수 : number()
number(4) - 전체 4자리
실수 : number(4,1)
2)문자
char(크기) - (크기)에 맞게 용량이 고정되어 무조건 크기만큼 용량을 차지한다
varchar2(크기) - (크기)에 맞게 용량이 허용되는데
만약 10을 해놨는데 실제 쓰는건 5면
용량은 5만 저장되고 나머지를 날아간다.
조건
UNIQUE : 중복이 되지 않도록한다
NOT NULL : null값이 들어오면 안됨 (insert할때 반드시 값을 넣어줘야 한다)
PRIMARY KEY : 기본키
FOREIGN KEY, REFERENCES : 외래키
CHECK : 컬럼 값의 범위를 지정하기
DEFAUIT 값[명령어] : 값을 지정하지 않으면 기본값으로 지정됨
예)
create table 연습용( rank number not null primary key, id varchar2(50) not null unique, pw varchar2(50) not null, name varchar2(50) ); |
이렇게 만들면
테이블이 생성된다.
rank는 정수형을 받고, null값이 들어오면 안되고, 기본키다
id는 가변형이고 50byte크기를 가지고, null값이 들어오면 안되고, 중복을 금지한다
pw는 가변형이고 50byte크기를 가지고, null값이 들어오면 안된다.
name은 가변형이고 50byte크기를 가진다.
DESC
DESCRIBE (describe)의 약자이다.
사전적 의미로 묘사하다, 기술하다, 설명하다 이런 뜻이다.
DB에선 '테이블의 구조를 보여달라'라는 뜻으로
행의 이름과 유형등을 알 수 있다.
예시) desc 연산;
참고) order by 절에 나오는 desc는 descending의 약자로 하향정렬 하라는 말이다.
select * from tab;
만들어진 테이블들을 보여달라는뜻
insert into 테이블명(필드명) values(값);
만들어진 테이블에 값을 넣는거
예시 1)
예시 2)
select * from 테이블명 order by 필드명 asc; → 오름차순(asc는 생략가능)
select * from 테이블명 order by 필드명 desc; → 내림차순
order by 필드명 => 필드명 기준으로 정렬
오름차순 = 높은거부터 낮은순
내림차순 = 낮은거부터 높은순
검색 select * from dbtest where name like ' x ';
테이블 안의 정보를 찾는 명령문
' ' 작음따옴표 안에 쓰는 %의 위치에 따라 값을 찾는게 달라진다.
수정 update 테이블명 set 수정할 내용 where 조건
위에 사진을 보면 분홍신의 나이는 5살인데 update를 하고 다시 조회하니 0으로 바뀐걸 볼 수 있다.
사진처럼 나이, 키등 여러개를 한번에 바꿀 수 있다.
복사
기존에 있는 table인 연습용을
table 이름과 내용을 전부 복사하거나
목록만 복사해올 수 있다.
컬럼추가
바로위에 복사에 있는 사진과 비교하면 age가 추가된걸 볼 수 있다.
컬럼삭제
추가에 있는 사진과 비교했을때 삭제된걸 확인할 수 있다.
데이터가 있어도 삭제된다.
컬럼의 속성 변경하기
연습용 table을 처음만들때 아래 사진과 같이 만들었다.
그리고 명령어를 통해 name의 크기를 50에서 100으로 바꿨다.
레코드 삭제
delete 테이블명; <-모든 레코드 삭제
delete 테이블명 where 조건;
테이블 DBTEST안에는 이렇게 있는데
사진과 같이 명령어를 실행하고 다시 테이블을 조회하면 또치가 사라진걸 볼 수 있다.
delete 테이블명 where name =' ~ ';
delete 테이블명 where age = X;
delete 테이블명 where height = X';
이런식으로 내가 원하는 레코드의 정보로 행을 삭제할 수 있다.
여러개 지울때
delete 테이블명 where 컬럼명=숫자('문자') or 컬럼명=숫자('문자') or 컬럼명=숫자('문자');
delete 테이블명 where 컬럼명 in(숫자('문자'), 숫자('문자'), 숫자('문자'))
테이블 삭제
drop table 테이블명;
drop table 테이블명 purge; <-휴지통을 거치지 않고 바로 삭제
flashback table 테이블명 to before drop; <-복원 근데 purge를 붙여 삭제한 것은 복원할 수 없다.
purge recyclebin; <- 휴지통비우기
select * from recylebin; <-휴지통에 테이블 정보 검색
show recyclebin;
시퀀스객체
순차적으로 정수값을 자동으로 생성하는 객체
create sequence 시퀀스명; <-생성
[increment by 증가값] 조건이 없으면 1씩 증가
[start with 시작값] 조건이 없으면 1씩 증가
[maxvalue 최대값 | minvalue 최소값]
[cycle | nocycle]
[cache | nocache]
- increment by 증가값 : 증가/감소 간격(기본값 : 1)
- start with : 시작번호(기본값 : 1)
- maxvalue/minvalue : 시퀀스의 최대/최소값 지정
- cycle/nocycle : 최대/최소값에 도달 시 반복여부 결정
- cache/nocache : 지정한 수량 만큼 메모리 생성여부 결정
(최소값 : 2, 기본값 : 20)
응용)
create sequence 시퀀스명 increment by 2(증가값) start with 1(시작값) maxvalue 9(최대값) cycle nocache;
삭제
drop sequence 시퀀스명;
'Oracle DataBase' 카테고리의 다른 글
11/13 수업내용 (3일차 마지막부분, 4일차) (0) | 2020.11.13 |
---|---|
11/12 수업내용 (3일차) (0) | 2020.11.12 |
11/11 수업내용 (2일차파일 문제4~8번 답) (0) | 2020.11.11 |
10/24 수업 내용(1일차 문제 1~ 6번 답) (0) | 2020.11.02 |
10/27 수업내용 (0) | 2020.10.27 |