oracle xe
SQLDeveloper 설치
Oracle XE 설치 후 환경변수 설정 필수
C:\app.....\product\18.0.0\dbhomeXE\bin
환경변수 설정 후 cmd
$ sqlplus system/비밀번호
입력하면 SQL$ 로 변경됨
데이터 정의 언어
데이터 조작 언어
Insert 등록 : insert into 테이블명 values()
Select 추출 : select 컬럼명 from 테이블명
Delete 삭제 : delete from 테이블명
Update 수정 : update 테이블명 set 필드 = 변경값
데이터 제어 언어
SQL> exit : SQL 나가기
SQL> clear screen : 화면 다 지우기
SQL> show user : 현재 유저정보
SQL> desc insa : 테이블 구조확인
SQL> commit; : 현재 상태 저장. 수정하다가 rollback하면 마지막 commit으로 회귀
column = 열
drop table 테이블명;
drop table insa; // 에러발생. 없는 테이블을 삭제하려해서
create table 테이블명 (열이름 형식(자리수) not null(공백XX) primary key(중복XX));
create table insa (
sabun 열이름 number(4) not null primary key,
name 열이름 varchar(10) not null,
buse 열이름 varchar(20) not null
) ;
insert into 테이블(필드명, ...) value(데이터값, ...);
SQL> insert into insa(sabun, name, buse)
2 values(7800, 'hong', '전산개발') ;
3 values(1300, 'lee', '해외영업') ;
4 values(2400, 'kim', '전산개발') ;
SQL> select 열이름, ... from 테이블명
테이블의 모든 열 불러올때는 열이름 대신 * 사용
SQL> select * from insa;
SQL> select sabun, name, buse from insa ;
조건에 따라 불러올 수도 있음
SQL> select max(sabun) from insa;
ORDER BY 이용해 값에 따라 정렬 가능 (숫자 문자 다 가능)
SQL> select * from insa order by sabun asc; 오름차 desc 내림차
-- insa테이블 pay열이름 추가 number(3) not null--
alter table insa add pay number(3) not null
제약조건 사번 중복XX 급여조건 3000~7500 (이름은 중복가능해야함)
sabun name buse gender salary wdate
7800 홍길동 전산개발 남자 4500 20020103
1300 이순신 해외영업 여자 4900 20010916
2400 김철수 전산개발 남자 3400 20190130
edit 명령어 이용
SQL> edit 위치\파일명.sql
메모장 창 뜨면 sql 문서 작성
drop table insa ; --같은 이름의 테이블 존재못하게
create table insa (
sabun number(4) not null primary key , --기본키 설정
name varchar(10) not null ,
buse varchar(20) not null
) ;
commit ;
desc insa
insert into insa(sabun, name, buse) values(9900, 'kim', '회계') ; --행 추가
commit ; --현 상태 저장
select sabun, name, buse from insa ; --insa 테이블에서 불러오기
저장 -> 창닫기
불러올때는
SQL> start 위치\파일명.sql
start 대신 @ 써도됨
insert into 테이블(필드명) values(값1, 값2, …);
select 필드1, 필드2, … from 테이블명;
select * from 테이블명;
delete from 테이블명; -> 모든 데이터 삭제
delete from 테이블명 where 조건; -> 조건에 맞는 데이터만 삭제
ex. delete from tables where sabun > 5000;
update 테이블명 set 필드 = 변경값; -> 모든 데이터 변경
update 테이블명 set 필드 = 변경값 where 조건;
날짜 sysdate
순번 rownum
더미테이블 dual
ex.
SQL> select rownum, insa.* from insa;
ROWNUM SABUN NAME BUSE
---------- ---------- -------------------- --------------------
1 5500 kim code
2 2200 test ex
3 2000 aa bb
SQL> spool 경로\파일명
SQL> spool off
off 전까지 작성한 모든 명령어와 결과가 경로에 txt파일로 기록됨
*col 열이름 for a___;*
*column 열이름 format a___;*
___에 들어가는 숫자가 출력에 할당되는 칸 수
ex. SQL> col name for a10; -> name열은 10칸짜리
NAME
----------
~~~~
*col 열이름 for 999;*
*col 열이름 for 9999;*
숫자 자료형에만 적용 가능!
숫자 자료형에 대해 9의 개수로 출력 숫자 자리수 지정
ex.
999 – 3자리이하인 숫자만 출력가능, 3자리 넘어가면 ####이런 식으로 표현됨
ID
----
####