Oracle 기본적인 쿼리문 작성해보기 with SQL
이번주부터 DB를 다루는걸 시작했습니다.
자바에서 어느정도 프로그래밍 언어가 동작하는 순서와 원리를 알고나서 새로운 영역에 도달하니
그래도 처음에 프로그래밍을 접했을때보다는 훨씬 맘이 편하고 이해가 안가는 부분은 1도 없어서 감사했습니다 ㅠ…
일단 DB가 뭔지 사전적 정의만 하고 시작하겠습니다!
DB(DataBase) 란??
데이터베이스는 구조화된 정보 또는 데이터의 조직화된 모음입니다. 일반적으로 컴퓨터 시스템에 전자적으로 저장됩니다.
데이터베이스는 데이터베이스 관리 시스템(DBMS)에 의해 제어되고, 연결된 애플리케이션과 함께 데이터와 DBMS를 하나로 묶어
데이터베이스 시스템이라고 부르는데 단축하여 데이터베이스 ! 라고 합니다. 이게 바로 DB입니다 ㅋ.
그렇다면 데이터베이스가 뭔지는 알겠는데 SQL은 또 뭐에요?….
SQL?
Structured Query Language 라고 부르는 SQL은 데이터를 쿼리,조작 및 정의하고 액세스 제어를 제공하기 위해 거의 모든
관계형 데이터베이스에서 사용되는 프로그래밍 “언어” 입니다 ! (결론 : SQL은 DB를 다루기 위한 프로그래밍 언어라는거죠!!)
그렇다면 관계형 데이터베이스는 뭐죠?…. → 관계형 데이터베이스의 항목은 열과 행이 있는 테이블! 집합으로 구성됩니다. (정형화된 정보에 접근하는데 있어서 제일 효율적이라고 합니다.)
일단 테이블 생성부터!!
이제 제일 기초적인 쿼리문! (SQL) 에 대해서 알아보겠습니다!
오라클 데이터베이스는 일단 관계형 데이터베이스라고 했죠???
그렇다면 열과 행이 필요한데 이것을 하나로 묶어논 표가 바로 “테이블”이라고 하는것입니다.
그렇다면 먼저 테이블을 생성하는법을 알아봐야겠죠??
**);**
예시 :
**CREATE TABLE [사용할 테이블명] (**
**user_idx number primary key,**
**id varchar2(20) not null, — 아이디**
**name varchar2(20) not null, — 이름**
**password varchar2(20) not null, —비밀번호 (옆에 괄호()안에 들어가있는 숫자는 입력될 수 있는 최대 문자,숫자 길이를 뜻합니다)**
**email varchar2(50), — 이메일**
**address varchar2(200), — 주소**
**);**
INSERT 쿼리문.
자 이렇게 테이블을 생성을 했으니 직접 데이터를 입력해서
넣어봐야겠죠?
이때 사용하는것이 바로 INSERT 문 입니다. ⇒ INSERT INTO .
INSERT INTO [테이블명](column1, column2, ...) VALUES(data1, data2, ...)
데이터를 넣고자 하는 테이블명을 써주고 괄호로 그안에 있는 컬럼중 어떤것에 데이터를 삽입할지 명시를 해주고,
앞에 입력한 컬럼 순서에 따라서 VALUES(넣고자 하는 데이터값) 에 다시 괄호! 안에 데이터를 입력하면 되는겁니다!!
이 쯤 되면 눈치 채셨겠지만 쿼리문 작성은 애초에 코드부터가 되게 직관성이 좋아서 처음 프로그래밍 언어를 접했더라도
아 이렇게 만드는거구나! 라고 알정도로 간단합니다.
SELECT 쿼리문
아마 쿼리문 작성하시면서 제일 많이 작성하게 될 쿼리문입니다 🙂
말 그대로 selet(조회)를 하는 기능을 가지고 있습니다.
SELECT *(전체) FROM TABLE명
이렇게 입력하면 테이블명에 있는 데이터가 모두 출력하게 됩니다.
영단어를 직역하면 진짜 그냥 말 그대로 “선택하라! 전체를! 어디서? ~~테이블에서”
이해를 못하는게 힘들 정도죠?…..
이렇게 모든 데이터를 뽑아오는 쿼리문은 아주 간단하지만
우리는 좀 더 세부적으로, 원하는 데이터만 골라서 가져오는 능력이 있어야 합니다.
기본적으로
SELECT [컬럼명]
FROM [테이블명]
WHERE [조건]
ORDER BY [컬럼];
이런 순서를 가진 포멧이 있다고 보시면 좋겠습니다!
UPDATE 쿼리문
이건 뭘까요? 업데이트 한다??? 업데이트가 되면 기존에 있던것들이
더 좋아진다는 의미로 보통 받아들이죠!! 성능을 개선했으니 업데이트가 있을겁니다! 처럼요
말 그대로 기존에 있던것을 변경, 수정 한다는 의미를 가지고 있습니다.
UPDATE [테이블명]
SET
컬럼1='값1',
컬럼2='값2'
WHERE 조건
이렇게 업데이트를 하고자 하는 테이블 명을 적어주고
컬럼1 데이터를 값1로 바꾸고, 컬럼2 데이터를 값2의 데이터로 바꿔주는 역할을 하는게 업데이트문입니다!
마지막에 보면 WHERE 조건. 이라고 써있는데, 이것은…
저희가 만약에 모든 데이터를 수정할거다! 그게 무슨값을 가지고 있든 말든! 다!!
where 문이 없어도 상관없지만 예를들어서, 월급이 300이상인 사람들은 290으로 낮춰주세요!
라고 하면은 기존에 300보다 낮은 사람들의 데이터값은 그대로 있어야 하니 WHERE 조건문을 사용하여 (JAVA의 if문과 같은 역할이죠?)
300이상인 사람들만 선택되게 만드는겁니다!!! 이것은 함수에 해당이 되기 때문에 기초적이긴 하지만서도
다루고자 하면 이 외에도 수많은 함수를 나열해야 되기 때문에 이번에는 큰 그림만 보는 쿼리문만 다루도록 하겠습니다!
DELETE 쿼리문
사실 실무에서는 웬만하면 delete를 하지 않고, 데이터를 보존하기 위해
데이터베이스에는 존재하지만
사용자 눈에 보이지 않게 update를 해서 삭제를 한 척(?)하는 방법을 이용합니다.
DELETE FROM [테이블명] WHERE 조건
기본 쿼리문입니다.
DELETE FROM TBL_USER WHERE NAME='홍길동';
이렇게 작성하면 조건문에 따라서 NAME이라는 컬럼에 ‘홍길동’ 이라고 데이터가 명시되있는것은 다 삭제됩니다 !
오늘은 간단하게나마 Oracle DB에서의 쿼리문 작성 하는 법을 한번 정리를 해봤습니다.
작성되는 수많은 함수들중에서 없어서는 안될!!!!! 그런애들만 정리를 한것이고 나머지 함수들은
각자 개개인이 어떻게 쓰냐에 따라 똑같은 결과 더라도, 다른 함수, 다른 방식이 나오기 때문에
제일 기본적인것들만 글로 써보게됬습니다!
다음에는 Oracle DB을 자바와 연동시켜서 자바에서 쿼리문을 작성할수 있는 구현방법을 가지고 정리해보겠습니다!
🙂