온 코딩

SQL 명령어 정리 본문

자바

SQL 명령어 정리

SummerON 2021. 4. 9. 15:19

관리자

시스템 접속 CONN SYS AS SYSDBA;

유저 만들기 create user 계정 identified bt 비밀번호;

유저 권한부여 grant connect, resource, create view to user;

유저 지우기 drop user 계정;

 

유저로 접속 conn 계정/비밀번호;

 

테이블 만들기

create table test(

필드 데이터형 

first varchar2(100),

second number(20),

third varchar2(100) unique not null, // 유니크, 낫널 선언

constraint pk_test primary key first  // constraint fk_테이블명 primary key 필드명

constraint fk_test foreign key second references  외부테이블(필드) // 외부키 쓰는 법 

);

키는 필드 두개 적으면 복합키로 사용할 수 있음

constraint 제약조건이름 unique 컬럼, 컬럼;  // 유니크 복합키로 사용 가능 

 

 

테이블 수정

alter table 테이블이름 add (추가필드 데이터형); //필드 추가

alter table 테이블이름 drop 필드; // 필드 삭제

alter table 테이블이름 modify (필드명 데이터형);  //필드 수정 

 

데이터 삽입

insert into (필드 , 필드) values (값, 값);

 

데이터 수정

update 테이블이름 set 수정내역 where 조건;

delete from 테이블이름 where 조건 ; //값 삭제 

 

테이블 조회

테이블 목록 조회 select * from tab;   

테이블 저장값 조회 select * from all_table;

조회 시 표를 넓게 조회하고 싶으면 set linesize 150; //일회성임

 

select 

중복값 제거 select DISTINCT 필드 from 테이블;

오름차순/내림차순 select 필드 from 테이블 ORDER BY ASC/DSC;

필드명 재정의 select name 이름, position 직위 from employee;

테이블명 재정의 select s.name ,d.id from 테이블1 s, 테이블2 d;

헷갈렸던 쿼리~~ : 하나의 테이블을 두번 재정의해서 다중 사용

SELECT s2.name, s1.address FROM student s1, student s2 WHERE s1.address = s2.addresss AND s1.name='김광식';

 

like

where 필드 like '문자열'  //문자열이 포함된 값 찾기 

문자열 : '%검색어'  //검색어로 끝남

           '검색어%'   //검색어로 시작

           '%검색어%'  //검색어를 포함함 

           '___' // 정확히 세글자인 값(언더바 세개임)

           '___%' // 최소 세글자 

 

*자바에서 %를 쓸 때는 %'|| 혹은 ||'% 라고 입력해야함

ex ) "select * from student where name like '%'||?||'%'";

 '%'||김'  --> 이런식으로 문자열과 % 사이에 ||을 붙이고 ||과 % 사이에 '를 붙여야 함

 

 

그 외

list; // 바로전에 사용한 쿼리 부르기

run; //바로 전에 사용한 쿼리 재실행

save 폴더.파일 // 바로 전에 사용한 쿼리 파일로 저장

get 폴더.파일 //파일 부르기 

host; sql에서 운영체제로 변경 & exist; 운영체제에서 나오기

 

집합연산

필드의 갯수와 데이터 타입이 같아야 연산가능

합집합 union : SELECT name FROM student UNION SELECT name FROM PROFESSOR;

중복된 값을 한 번 만 출력 함 , 중복 허용하고 싶으면 UNION ALL을 사용해야 함 

교집합 intersect : 

- SELECT S.STU_ID FROM STUDENT S, DEPARTMENT D, TAKES T 

WHERE S.DEPT_ID=D.DEPT_ID AND T.STU_ID=S.STU_ID AND D.DEPT_NAME='컴퓨터공학과' AND T.GRADE ='A+'

- SELECT STU_ID FROM STUDENT S, DEPARTMENT D WHERE S.DEPT_ID=D.DEPT.ID AND DEPT_NAME='컴퓨터공학과'

INTERSECT 

SELECT STU_ID FROM TAKES 

minus

 

조인연산

자연조인/외부조인 (레프트, 라이트, 풀)

레프트 아우터 조인 

 - SELECT title, credit, year, semester FROM course LEFT OUTER JOIN class USING (course_id);

(왼쪽에 오른쪽 값을 더함 / 레프트조인 하면서 오른쪽 테이블에 없는 값들은 널로 나옴)

오른쪽 테이블에 조인 조건에 부합하는 레코드가 없을 경우에도 검색 결과에 포함 

 = SELECT title, creadit, year, semester FROM course, class where course.course_id=class.course_id (+);

 

 

집계함수

count : count distinct 필드 from 테이블 where year=3;

해당 필드에 널 값이 들어 있을 경우에는 카운트에서 배제됨 / 중복 제거

 

 

view

 

 

시퀀스

create sequence sequence_name [start with 1] [increment by 1] //1번부터 1씩 증가

nextval, currval 공부하기 

 

'자바' 카테고리의 다른 글

SQL 명령어 추가  (0) 2021.06.10
자바 데이터 타입  (0) 2021.03.03
이클립스 단축키 정리  (0) 2021.02.24
Comments