Oracle DB
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으로 변경 |