일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 삭제 구현
- oracle 설치방법
- 스프링 게시판
- 쇼핑몰 프로젝트
- 이미지 출력
- 스프링 포트폴리오
- 스프링 메일 전송
- 스프링 HikariCP
- Bcrypt
- 인증번호 전송
- arraylist
- 스프링 게시판 구현
- 스프링 프로젝트 기본 설정
- 스프링 프로젝트
- spring 프로젝트
- BCrypt 적용
- 스프링 업로드
- 쇼핑몰 포트폴리오
- 로그인 기능
- 정규표현식
- 스프링 쇼핑몰
- 스프링 이미지
- 스프링 프로젝트 설정
- 회원가입 기능
- 스프링 파일 삭제
- spring 쇼핑몰
- 파일 업로드
- ResponseEntity
- 스프링 쇼핑몰 프로젝트
- 로그아웃 기능 구현
- Today
- Total
Kim VamPa
[Oracle 기본사용법][02] CREATE(테이블 생성),INSERT(데이터 삽입) 본문
"생활코딩 Oracle"을 개인 공부 후 자료를 남기기 위한 목적이기에 내용 상에 오류가 있을 수 있습니다.
목표
- SQL언어란 무엇인고 장점에대해 공부합니다.
- Oracle SQL Plus 에서 테이블을 생성하고 데이터를 삽입을 실습합니다.
*해당 글의 실습은 Oracle XE버젼을 환경을 바탕으로 진행 행하였습니다.
목차
0. SQL언어
1. 테이블 생성(CREATE TABLE)
2. 데이터 삽입(INSERT INTO)
0. SQL언어
- Structured Query Language 구조화된 정보를 처리하도록 요청하는 컴퓨터 언어
- 데이터베이스 제어할 수 있는 언어입니다.
- 수많은 데이터베이스 절대다수는 '관계형 데이터베이스'를 사용하고 있습니다. 관계형 데이터베이스는 오직 SQL 언어로만 제어가 가능합니다.
- 따라서 SQL을 사용할 줄 아는 것은 절대다수의 시스템에서 동작하는 컴퓨터 언어를 이해한다는 것입니다. => 매우 가성비가 높은 언어
- SQL 언어 장점
- 매운 큰 성능을 가집니다.
=> 액셀과 같은 스프레드 시트는 행을 추가하는데 한계가 있습니다. 하지만 데이터베이스
로 분류되는 시스템에서는 저장장치의 한계가 없다면 엄청나게 많은 데이터를 처리할
수 있습니다.
- 명령어를 통해서 데이터베이스를 제어할 수 있다는 점입니다. 이 말의 함의하는 바는 "자동화"가 가능하다는 점입니다.
* 만들고자 하는 테이블
테이블 이름 : topic
id | title | description | created |
1 | ORACLE | ORACLE is ... | 2020.04.03 |
2 | MySQL | MySQL is .... | 2020.04.03 |
3 | NoSQL | NoSQL is ... |
이번 글은 Sql Plus를 통해 위의 표를 만드는 것을 목표로 합니다.
1.테이블 생성하기
CREATE TABLE 테이블이름 (
컬럼명 데이터타입 제약조건,
컬럼명 데이터타입 제약조건,
컬럼명 데이터타입 제약조건,
);
- 컬럼명 뒤에 데이터타입은 반드시 있어야 한다.
- 제약조건은 있어도 되고 없어도 된다.
- 데이터를 삽입시 각 칼럼에 정의되어진 데이터 타입과 제약조건을 만족하지 않으면 에러를 발생시킵니다.
실습
1. sql plus를 실행 후 사용자 접속을 합니다.
- 방법 1 : 윈도우 [시작]에 들어가서 설치한 Oracle 목록을 보시면 해당프로그램이 있습니다.
- 방법 2 : cmd창에 들어가서 'sqlplus'를 치시면 프로그램이 실행됩니다.(그림 1-1)
2. 테이블을 만드는 SQL명령문을 처넣은 후 Enter를 칩니다.
CREATE TABLE topic(
id NUMBER NOT NULL,
title VARCHAR2(50) NOT NULL,
description VARCHAR(4000),
created DATE NOT NULL
);
- 칼럼명은 id, title, description, created가 만들어지고 각각의 데이터 타입은 NUMBER[숫자], VARCHAR2(50)[최대크기 50 가변문자], VARCHAR2(4000)[최대그기 4000 가변문자] , DATE[날짜형식] 이 지정되었습니다.
- NOT NULL은 해당 칼럼은 NULL을 허용하지 않는다는 뜻입니다.(반드시 데이터가 존재해야 함)
- NULL을 허용 시 데이터 타입 뒤에 "NULL"을 기입해도 되고 생략해도 됩니다.
3. '테이블이 생성되었습니다'라는 문구가 뜨면 정상적으로 테이블이 만들어진 거지만, 아래의 문장을 치고 enter를 처서 데이터베이스 해당 테이블을 검색합니다.
SELECT table_name from user_tables;
- 사용자가 만들 테이블(user_tables) 로부터 테이블 이름(table_name)을 요청합니다 라는 의미입니다.
- 결과는 다음과 같이 나옵니다.
2. 데이터 삽입
INSERT INTO 테이블명(컬럼1, 컬럼2, 컬럼3....)
VALUES (값1, 값2, 값3......);
- 테이블명(칼럼)과 VALUES(값)의 개수는 일치하여야 합니다. 그렇지 않은 경우 에러가 납니다.
- 값은 테이블에 정의된 데이터 타입이 삽입이 되어야 합니다. 그렇지 않은 경우 에러가 납니다.
실습
1. Sql Plus에서 아래의 문장을 처넣은 후 Enter를 치면 삽입이 진행됩니다.
INSERT INTO topic (id, title, description, created) values (1, 'ORACLE', 'ORACLE is...', SYSDATE);
INSERT INTO topic (id, title,description,created) values (2, 'MySQL', 'MySQL is...', SYSDATE);
INSERT INTO topic (id, title,description,created) values (3, 'NoSQL', 'NoSQL is...', SYSDATE);
- topic 테이블에 있는 칼럼 id, title, description, created에 값 1, 'ORACLE', 'ORACLE is...', SYSDATE를 넣는다는 의미입니다.(첫문장)
- SYSDATE는 해당 데이터베이스에서 제공하는 함수입니다. 삽입 명령이 이루어지는 시간이 자동적으로 입력됩니다.
2. 위의 명령어가 정상적으로 진행되었으면 해당 명령의 확정을 위해서 "commit;"를 칩니다.
- 모든 작업을 정상적으로 처리하겠다고 확정하는 명령어 입니다.
- Transaction(insert, update, delete)작업 내용을 실제 DB에 저장됩니다.
- commit 명령을 하지않고 종료시엔 실제 DB엔 기록이 되어있지 않습니다.
3. 테이블을 만들어졋고 데이터가 정상적으로 삽입되었는지 확인해보기 위해 아래의 명령어를 사용하용합니다.
SELECT * FROM topic;
- 는 해당 테이블이 가지고 있는 모든 칼럼을 말합니다.
- topic 테이블에 있는 모든 데이타을 가지고 와라는 뜻입니다.
- [그림2-3]의 결과를 보면 각 행 단위로 데이터 결과가 나온것을 확인할 수 있습니다.
Reference
Date
- 2020.04.04 작성
'공부 > 데이터베이스' 카테고리의 다른 글
[Oracle 기본사용법][04] PRIMARY KEY(기본키) (0) | 2020.04.07 |
---|---|
[Oracle 기본사용법][03] SELECT(WHERE,ORDER BY, OFFSET, FETCH) (0) | 2020.04.05 |
[Oracle 기본사용법][01]사용자(USER)생성, 스키마(SCHEMA) 생성 (0) | 2020.04.03 |
[윈도우 10]Oracle Database XE 설치방법 (0) | 2020.04.03 |
[윈도우10]MySQL 8.0.18 설치 방법 (0) | 2020.04.02 |