https://www.notion.so/SQL-fa7b5cad211c47aba3179faf3db9e547?pvs=4
오랜만에 sql 에 대해 다시 정리한다.
정보처리기사 시험 때 열심히 공부했었는데 다시 하려고 하니까... DDL DCL 도 헷갈린다...
그리고 벨로그 정리를 열심히 하다 보니 새로운 사용법을 익혔다
< br > 을 하면 띄어쓰기 되고
코드 블럭 뒤에 코드명을 붙이면 채색 처리가 마음대로 되는 것
노션에 비해 사용하기 어렵다고 느꼈는데 가독성이 좋아져서 마음에 든다.
alter session set "_oracle_script"=true;
create user fin01 identified by fin01;
grant create session to fin01;
grant resource, connect to fin01;
alter user fin01 default tablespace users quota unlimited on users;
SQL의 개요
DDL(Data Definition Language)
DML(Data Manipulation Language) - CRUD
DCL(Data Control Language)
트랜잭션 제어
PL/SQL
- 오라클 설치
- oracle plus 로 들어가서 system / oracle 로 로그인
- 명령어 입력 : 사용자 계정 생성
alter session set "_oracle_script"=true;
create user fin01 identified by fin01; // user, passwd
grant create session to fin01; // 접근
grant resource, connect to fin01; // 권한 주기
alter user fin01 default tablespace users quota unlimited on users;
// 데이터 베이스 공간 주기 -> 공간을 확보에 테이블을 사용할 수 있게 해 주세요- 로그인 : conn fin01/fin01
- show user; // 현재 로그인한 사람 보기
alter session set "_oracle_script"=true;
create user fin01 identified by fin01;
grant create session to fin01;
grant resource, connect to fin01;
alter user fin01 default tablespace users quota unlimited on users;
name char(3) : 3글자만 저장하고 나머지는 버려 버린다~
data
→ a : “a ”
→ 1234 : “123”
name varchar(3)
→ a : “a”
→ 1234 : “123” ⇒ 에러 발생!!
: 데이터 정의어
create table test1(
no number,
name varchar2(15),
tel varchar2(10)
);
// 세미 콜론이 들어올 때까지 알아서 줄 수를 늘려준다.
drop table test1;
selecet * from tab;

desc test1

alter table test1 add address varchar2(50);

ADDRESS 칼럼이 추가된 모습을 볼 수 있다
alter table test1 modify tel varchar2(12);

alter table test1 rename column address to addr;

alter table test1 drop (addr);
// 컬럼명에 괄호를 꼭 쳐 줘야 함

: 규칙에 따라 순서를 생성하는 시퀀스 → 번호 매길 필요 X
create sequence test1_seq
start with 1
increment by 1;
// 값 넣어 보기
insert into test1 values(test1_seq.nextval, '유재석', '123-1234');

: 데이터 조작어 CRUD
insert into test1(no, name, tel)
values(1, '유재석', '123-1234');
// 다른 방법 : 칼럼명 적지 않고 바로 가능
insert into test1
values(2, '하하', '123-5678');
// 예외 방법
// 일부 값만 넣는 방법 : 필요한 값만 넣어서 만들기
// 순서가 뒤바뀔 경우 : 칼럼명을 적어서 뒤바뀐 순서 알려 주기
insert into test1(no, name)
values(3, '지석진');
// 테이블 확인
select * from test1;

// 검색 1: 조건
select * from test1 where name='유재석';

// 검색 2 : like 조건
select * from test1 where tel like '%234';

// 검색 3 : like 조건
select * from test1 where tel like '%23%';

update test1 set tel='555-5555';
update test1 set name='하동훈', tel='444-2323', where no = 2;
delete from test1 where name='지석진';
commit;
// 현재까지 작업한 내용을 저장
rollback;
// 마지막 commit, savepoint 위치로 이동
savepoint;
// 분기점이 생길 때 만들어 주면 rollback을 이 지점으로 돌릴 수 있다.