SQL_developer 1일[hong]

홍석진·2021년 3월 24일
0

sql

목록 보기
1/3

1일차

기본적인 지식

일단 sql이란 ( 구조화된 질의 언어 )Structured Query Language의 약자로 DBMS 상에서 데이터를 읽고 쓰고 삭제하는 등 데이터를 관리하기 위한 일종의 프로그램 언어임.
C와 자바는 절차적 언어라 함 --> 절차적 언어는 프로그래밍 순서대로 logic이 처리되는 것
SQL은 집합적언어라 함 --> 데이터를 특정 집합 단위로 분류해 이 단위별로 한번에 처리하는 언어
결국 SQL은 데이터를 위한 데이터 전용 언어임

sql은 DDL DMl, DCL 로 나뉨
DDL -- > (개발자입장)별로 안사용하긴함 이런 관리들은 DBA(DB관리자)나 별도 관리인원이 담당
객체 생성 삭제 변경 : 대략 4가지

  1. CREATE : 테이블(TABLE), 인덱스(INDEX), 뷰(view) 등 데이터베이스 객체를 설정

  2. DROP : 생성된 데이터 베이스 객체를 영구히 삭제

  3. ALTER : 이미 생성된 데이터 객체를 수정

  4. TRUNCATE : 테이블이나 클러스터의 데이터를 통째로 삭제

DML -- > (개발자입장)중요함**
실제 데이터를 조작하는 언어 : 대략 6가지

1.SELECT: 테이블이나 뷰에 있는 데이터를 조회

2.INSERT: 데이터를 신규로 생성

3.UPDATE: 이미 생성된 데이터를 수정

4.DELETE: 데이터를 삭제

5.COMMIT: 트랜잭션(transaction) 처리. 변경된 데이터를 최종 적용
~~transaction : 계좌 이체를 예시로 하면 개념 이해하기 쉬움
완벽하게 처리되어야 성공적으로 transaction이 성공한 것 이고
어느하나라도 오류가 발생하면 명령문 취소하고 작업전 상태로 roll back ~~
6.ROLLBACK: 트랜잭션(transaction) 처리. 변경된 데이터를 적용하지 않고 이전으로 되돌림

DDL --> 데이터 권한 주고 회수
1. GRANT
2. REVOKE

데이터베이스 객체의 종류(자주사용)

테이블(TABLE) : 데이터를 담고 있는 객체
뷰(VIEW) : 하나 이상의 테이블을 연결해 마치 테이블인 것처럼 사용하는 객체
인덱스(INDEX) : 테이블에 있는 데이터를 빠르게 찾기 위한 객체
시노님(SYNONYM) : 데이터베이스 객체에 대한 별칭을 부여한 객체
시퀀스(SEQUENCE) : 일련번호 채번을 할 때 사용되는 객체
함수(FUNTION) : 특정 연산을 하고 값을 반환하는 객체
프로시저(PROCEDURE) : 함수와 비슷하지만 값을 반환하지는 않는 객체
패키지(PACKAGE) : 용도에 맞게 함수나 프로시저를 하나로 묶어 놓은 객체

테이블 -- > 데이터를 넣고 수정하고 삭제하는, 데이터를 담고있는 객체 그 자체
DBMS상에서 가장 기본적인 객체로 로우(ROW)와 컬럼(COLUMN) 으로 구성된
2차원 형태(표), 엑셀구조 사각형으로 생각하면 밑면은 컬럼, 높이가 로우

본격적으로 오늘은.. 테이블 생성!!

그 전에 유의사항..
1. 테이블명, 컬럼명의 최대 크기는 30바이트다.
2. 테이블명, 컬럼명으로 예약어는 사용할 수 없다.
(예약어(키워드)란 오라클에서 미리 선점한 단어로 SELECT, UPDATE과 같은 구문, COUNT, ASC 와 같은 SQL 함수 등이 있으며, 예약어 목록은 V$RESERVEDWORDS 시스템 뷰에서 조회할 수 있다)
3. 테이블명, 컬럼명으로 문자, 숫자, ‘
’, ‘$’, ‘#’을 사용할 수 있지만, 첫 글자는 문자만 올 수 있다.
4. 한 테이블에 사용 가능한 컬럼은 최대 255개까지다.

CREATE TABLE [스키마.] 테이블명(
COLUMN1 COLUMN1_data%TYPE[NULL, NOT NULL],
COLUMN2 COLUMN1_data%TYPE[NULL, NOT NULL],
...
)[TABLESPACE 테이블스페이스명];
스키마.. 테이블 상위에 위치한 것(내 ORACLE은 myts, 안쓰면 자동 default myts)
테이블 스페이스도 안쓰면 자동 default user
가장 기초적인 부분이지만 담을 데이터에 따라 데이터 타입 지정도 신경써줘야 한다
맛집 TABLE 생성


CREATE TABLE 맛집(
	맛집종류 VARCHAR2(20),
    맛집번호 NUMBER(20),
    맛집순위 NUMBER(20),
    맛집매출 NUMBER(20)
	);
    
profile
질문이나 의견이 있으시면 남겨주세요. 서로의 발전이라고 생각합니다.

0개의 댓글