JAVA/JAVA 기본

Oracle DB

엔테아 2017. 10. 11. 18:47

https://www.oracle.com/index.html

오라클 로그인

http://www.oracle.com/technetwork/database/enterprise-edition/overview/index-091043.html

오라클 데이터베이스 11g 릴리즈2

다운로드

Oracle Database 11g Express Edition

 

오라클 DB삭제

내컴퓨터 - 우클릭 - 관리 - 서비스 및 응용프로그램 - 서비스 - OracleServiceXe, OracleXETNSListener 중지

 

regedit - HKEY로컬머신 -

소프트웨어 - ODBC삭제 - ORACLE삭제

시스템 - 컨트롤셋001 - 서비스 - 오라클 관련 레지스트리 삭제

컨트롤셋002, 커런트컨트롤셋 역시 마찬가지

 

내컴퓨터 - 속성 - 고급시스템설정 - 환경변수 - path

C:\oraclexe\app\oracle\product\11.2.0\server\bin;;

부분만 지움

 

pc재부팅

 

바탕화면 아이콘, 시작프로그램의 프로그램 뭉치 역시 삭제

c드라이브의 오라클xe 삭제

오라클xe setup파일을 실행하여 remove

 

 

cmd에서 오라클 접속

cmd - sqlplus

enter user-name : system(처음엔 시스템)

enter password : 비밀번호 입력

sqlplus 아이디/비밀번호 ->로도 가능함.

계정 생성

create user 유저명 identified by 비밀번호;

다른 계정에 접속

conn 아이디/비밀번호;

현재 계정 확인

show user;

계정에 권한부여

grant connect, resource, dba to 계정명;

sql을 전부 사용한 후에는 quit 를 치고 엔터를 쳐 정상종료시킬 것

 

레코드 하나하나가 하나의 객체를 의미함

아래는 테이블을 만드는 것

no

이름

수학

영어

비고

1

 

 

 

 

2

 

 

 

 

3

 

 

 

 

 

테이블 생성

create

create table 테이블명(

ssn varchar2(6) primary key,

name varchar2(15),

age number(3)

);

테이블명을 가진 테이블 생성

ssn이라는 범주(컬럼)명 생성. char형태, 6바이트

name이라는 범주명 생성. char형태, 15바이트

age라는 범주명 생성. int형태,  3자리까지 입력

원하는 곳에 primary key를 넣어 ㅔㅏwl

테이블 생성시 pk부여

 

create table 테이블명(

ssn varchar2(6),

name varchar2(15),

age number(3),

constraint pk_number primary key(ssn)

);

 

테이블 생성후 pk부여

 

alter table member add constraint pk_member primary key(ssn)

 

테이블 삭제

drop

drop table 테이블명;

테이블 삭제

기본키 설정

alter

primary key

alter table 테이블명 modify ssn varchar2(6) primary key;

기본키는 자료의 주민등록번호와도 같은 기능을 함.

(식별 및 중복방지, 데이터를 반드시 투입하여야 함)

데이터 입력

insert

insert into 테이블명 (ssn, age, name) values ('ssn', 나이, '이름');

테이블에 ssn, age, name 순서대로 ssn과 나이, 이름을 입력

데이터 입력(약식)

insert into 테이블명 values('ssn', '이름', 나이);

테이블 생성시에 ssn, name, age순으로 적혀있기에,

입력시에도 그 순서를 맞춘다면 입력이 됨.

데이터 검색

select

select * from 테이블명

select ssn, name, age from 테이블명

* : 모든 컬럼정보 열람

ssn, name, age를 가져와 열람

데이터 입력 확정

commit

commit;

입력한 데이터의 확정

데이터 롤백

rollback

rollback

최종 commit상태로 되돌림

sql종료

quit

quit

자동으로 commit이 됨

컬럼 바꾸어 출력

as

select ssn as 주민번호, name as 이름, age as 나이 from member;

as를 통해서  컬럼을 바꾸어 출력할 수 있음.

as는 생략할 수 있음

중복자료 제외하고 출력

distinct

select distinct name from 테이블명;

부서명 등의 확인을 위해 사용하면 좋음

distinct : 중복을 허용하지 않음

정렬

order

select * from 테이블명 order by ssn asc;

select * from 테이블명 order by age desc;

select * from 테이블명 order by age desc, name desc;

order : 정렬 명령어

asc : 오름차순

desc : 내림차순

갯수 카운트

count

select count(ssn) from 테이블명;

몇개인지 세주는 기능

특정 값 추출

where

select * from 테이블명 where age=1;

select * from 테이블명 where name='홍길동';

select * from 테이블명 where name='이순신' and age>10;

where : 특정 값을 가진 자료만 추출하는 기술.

age가 1인 자료만 추출

name이 홍길동인 사람만 추출

name이 이순신이고 age가 10이상인 사람만 추출

특정 값 추출 다중사용

select * from (select * from member where name='이순신') where

age > 10;

특정 값 추출의 다중 사용

name이 홍길동인 사람 중 age가 10 초과인 사람

null값 검색

null

select * from 테이블명 where age is null;

select * from 테이블명 where age is not null;

age가 null값인(비어있는) 사람을 추출

age가 null값이 아닌 사람을 추출

부분자료로 검색

like

select * from 테이블명 where name like '_순신';

select * from 테이블명 where name like '_순_';

select * from 테이블명 where name like '%신';

이름이 '?순신' 인 사람을 검색

이름이 '?순?' 인 사람을 검색

이름이 '~~신' 인 사람을 검색

이미 적용된 자료의 변경

update

set

update member set name='고길동', age=44

where name='세종' and age is null;

update member set name='세종' where ssn='세종';

update member set ssn='m004' where name='세종';

이름이 '세종'이고 나이가 null값인 데이터를

이름은 '고길동'으로, 나이를 44로 변경함

ssn이 '세종'인 값의 name을 '세종'으로 변경함

name이 '세종'인 값의 ssn을 'm004'로 변경함

자료의 삭제

delete

delete from 테이블명 where name like '이%';

delete from 테이블명 where name is null;

name이 '이'로 시작하는 이름을 가진 자료의 삭제

name이 null값인 데이터의 삭제

테이블 묘사

desc

desc 테이블명;

 

컬럼명 변경

rename

alter table member rename column ssm to ssn;

컬럼 ssm을 ssn으로 변경