Primary key
예를 들어 학번 같이 중복이 되면 안되는 그런 데이터를 입력할 때
즉, 고유의 번호를 부여할 때 쓰인다.
값이 중복될 경우 입력이 되지 않고, 없다면 입력이 된다.
Primary key를 지정한 것과 하지 않는 것의 속도차이는 어마어마하게 차이가 크다.
그러므로 테이블을 만들 때 특별한 경우가 아니면 무조껀 하는 것이 좋다.
CREATE TABLE topic(
id NUMBER NOT NULL,
title VARCHAR2(50) NOT NULL,
describtion VARCHAR2(4000),
created DATE NOT NULL,
CONSTRAINT PK_TOPIC PRIMARY KEY(id)
);
Select문의 기본 형식
행 읽기
SELECT * FROM topic;: topic테이블의 모든 행열을 가져옵니다.
행과 칼럼 제외하기
SELECT id, title, created FROM topic;
: topic테이블에서 id, title, created행만 보기
SELECT * FROM topic WHERE id = 1;
: topic테이블에서 id가 1인 행만보기
SELECT * FROM topic WHERE id > 1;
: topic테이블에서 id가 1보다 큰 행만보기
SELECT id, title, created FROM topic WHERE id = 1;
: topic테이블에서 id가 1인 id, title, created행만 보기
정렬과 페이징
정렬
SELECT * FROM topic ORDER BY id DESC;
: topic테이블에서 id가 큰 순서대로 정렬
SELECT * FROM topic ORDER BY title ASD;
: topic테이블에서 tile이 abc순으로 정렬
페이징
SELECT * FROM topic
: topic테이블에서 모든 행을 불러온다.
OFFSET 1 ROWS
: 0번째 부터시작하여 1이후의 행을 불러온다.
FETCH NEXT 2 ROWS ONLY;
: OFFSET 1 ROWS 이후 2번째 까지의 행을 불러온다.
테이블
테이블생성
CREATE TABLE topic (
id NUMBER NOT NULL,
title VARCHAR2(50) NOT NULL,
description VARCHAR2(4000) NULL,
created DATE NOT NULL
);
CREATE TABLE topic (: 테이블을 생성한다. 테이블 이름은 topic이다.
id NUMBER NOT NULL,: id행에는 숫자만올 수 있고, 공백으로 둘 수 없다.
title VARCHAR2(50) NOT NULL,: title행에는 50글자까지 쓸 수 있고, 공백으로 둘 수 없다.
description VARCHAR2(4000) NULL,: description행에는 4000글자 까지 쓸 수 있고, 공백으로 둘 수 있다.
created DATE NOT NULL: created행에는 날짜만 쓸 수 있고, 공백으로 둘 수 있다.
);
생성된 테이블 확인
SELECT table_name FROM all_tables WHERE OWNER =’’;: 선택된 유저의 테이블 이름 확인.
행추가
INSERT INTO topic
: topic테이블에 넣는다.
(id,title,description,created)
VALUES
: 값을
(1,’ORACLE’,’ORACLE is …’,SYSDATE);- 각각의 값입력
Oracle Database
- Oracle Database는 관계형 데이터베이스이다.
- 핵심은 표이다.
사용자와 스키마
스키마는 서로연관된 표들을 그룹핑하는 디렉토리같은 것이다.
사용자를 생성하면 그 사용자의 해당되는 디렉토리가 생성된다.
스키마의 본질적인 정의는 그 스키마가 속하는 표들을 정의하는 정보이다.
Create user
유저를 생성하는 방법의 로드맵이다.
동그라미는 내가 자유롭게 결정하는 것이고, 네모는 고정된 선택지이다.
실제 CMD에서 Create user구동.
- SQLPLUS
- sys AS SYSDBA: 관리자권한으로 로그인
- CREATED USER asd IDENTIFIED BY 123;: 사용자 생성
- ALTER SESSION SET “_ORACLESCRIPT=TRUE”: 세션권한부여
사용자 권한부여
이 상태로는 로그인 권한이 없기 때문에 접속이 되지 않는다.
일단 모든 권한을 준다.
- GRANT DBA TO asd;:asd에게 모든 권한을 준다.
- SQLPLUS에 재접속을 한다.
- 접속 확인을 한다.
DATABASE
개념
여러 사람이 공유하고 사용할 목적으로 통합 관리되는 정보의 집합이다. 논리적으로 연관된 하나 이상의 자료의 모음으로 그 내용을 고도로 구조화함으로써 검색과 갱신의 효율화를 꾀한 것이다. 즉, 몇개의 자료 파일을 조직적으로 통합하여 자료 항목의 중복을 없애고 자료를 구조화하여 기억시켜 놓은 자료의 집합체라고 할 수 있다.
CRUD
CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(수정), Delete(삭제)를 묶어서 일겉는 말이다. 사용자 인터페이스가 갖추어야 할 기능을 가리키는 용어로서도 사용된다.
CRUD는 여러 응용 프로그램의 사용자 인터페이스에도 들어맞는다. 예를 들어, 주소록이나 전화번호부 소프트웨어를 생각해볼 수 있다. 여기서 기본적인 기록 단위는 각 개인의 연락처이다. 다음과 같은 기능들은 가장 간단한 것이면서도 필수적이다.
- 새로운 연락처 정보를 추가할 수 있다.
- 기존의 연락처 정보를 검색할 수 있다.
- 기존의 연락처 정보를 편집할 수 있다.
- 기존의 연락처 정보를 삭제할 수 있다.
데이터베이스는 데이터를 어떻게 입력하고 어떻게 출력하는가를 따져보는 것이 중요하다.
문법(Syntex)
제목(Header)
제목은 1~6 크기로 제목을 표현할 수 있다.
<h1> ~ <h6>으로도 변환이 가능하다.
# 제목 1
## 제목 2
### 제목 3
#### 제목 4
##### 제목 5
###### 제목 6
제목 1
제목 2
제목 3
제목 4
제목 5
제목 6
강조(Emphasis)
각각 이텔릭체, 두껍게, 밑줄은 <em>, <strong>, <del> 태그로 변환된다.
이텔릭체는 *(내용)* 또는 _(내용)_
두껍게는 **(내용)** 또는 __(내용)__
취소선은 ~~(내용)~~
밑줄은 <u>(내용)</u>를 사용하여 나타낼 수 있다.
이텔릭체는 (내용) 또는 (내용)
두껍게는 (내용) 또는 (내용)
취소선은 (내용)
밑줄은 (내용)를 사용하여 나타낼 수 있다.
목록
<ol>, <ul> 목록 태그로 변환된다.
1. 순서가 필요한 목록
1. 순서가 필요한 목록
- 순서가 필요하지 않은 목록
- 순서가 필요하지 않은 목록
1. 순서가 필요한 목록
1. 순서가 필요한 목록
1. 순서가 필요한 목록
- 순서가 필요하지 않은 목록에 사용 가능한 기호
- 대쉬
* 별표
+ 더하기
- 순서가 필요한 목록
- 순서가 필요한 목록
- 순서가 필요하지 않은 목록
- 순서가 필요하지 않은 목록
- 순서가 필요한 목록
- 순서가 필요한 목록
- 순서가 필요한 목록
- 순서가 필요하지 않은 목록에 사용 가능한 기호
- 대쉬
- 별표
- 더하기
링크(Link)
<a>로 변환된다.
[GOOGLE](http://www.google.com)
[NAVER](http://www.google.com)
[Dribbble][Dribbble link]
[Github][1]
문서 안에서 [참조링크]를 그대로 사용할 수도 있다.
다음과 같이 문서 내 일반 URL이나 꺾쇠괄호 안의 URL은 자동으로 링크를 사용한다.
구글 홈페이지: http://google.com
네이버 홈페이지: <http://naver.com>
[Dribbblle link]: http://dribbble.com
[1]: http://github.com
GOOGLE
NAVER
Dribbble
Github
문서 안에서 [참조링크]를 그대로 사용할 수도 있다.
다음과 같이 문서 내 일반 URL이나 꺾쇠괄호 안의 URL은 자동으로 링크를 사용한다.
구글 홈페이지: http://google.com
네이버 홈페이지: http://naver.com
이미지(Images)
<img>로 변환된다.
링크와 비슷하지만 앞에 !가 붙는다.
![Bodybuilding](https://user-images.githubusercontent.com/77277946/104524897-6d820580-5642-11eb-8732-aaa94658c596.jpeg)
![dyno][link]
[link]: https://user-images.githubusercontent.com/77277946/104525051-b9cd4580-5642-11eb-99de-d8fd8252457a.jpeg
이미지에 링크
[![vue](https://user-images.githubusercontent.com/77277946/104649206-b5af2f80-56f7-11eb-8cc8-8743d093be86.png)](http://kr.vuejs.org/)
인라인코드(Code) 강조
<pre>, <code>로 변환된다.
숫자 1번 키 왼쪽에 있는 `(Grave)로 감싼다.
안녕하세요. 여기는 `안현수 블로그` 입니다.
안녕하세요. 여기는 안현수 블로그
입니다.
블록(block)코드 강조
`를 3번 이상 입력하고 코드를 적는다.
표(Table)
<table> 태그로 변환된다.
헤더 셀을 구분할 때 3개이상 -기호가 있어야하고,
헤더셀을 구분하면서 : 기호로 셀안에 내용을 정렬할 수 있다.
가장 좌측과 가장 우축에 있는 | 기호는 생략가능하다.
| 값 | 의미 | 기본값 |
|---|:---:|---:|
| `static` | 유형(기준) 없음 / 배치 불가능 | `static` |
| `relative` | 요소 자신을 기준으로 배치 | |
| `absolute` | 위치 상 부모(조상)요소를 기준으로 배치 | |
| `fixed` | 브라우저 창을 기준으로 배치 | |
값 | 의미 | 기본값 |
---|---|---|
static |
유형(기준) 없음 / 배치 불가능 | static |
relative |
요소 자신을 기준으로 배치 | |
absolute |
위치 상 부모(조상)요소를 기준으로 배치 | |
fixed |
브라우저 창을 기준으로 배치 |
인용문(BlockQuote)
<blockquote> 태그로 변환된다.
인용문
> 남의말이나 글에서 직접 또는 간접적으로 따온 문장.
> _(네이버국어사전)_
BREAK!
> 인용문을 작성하세요!
>> 중첩된 인용문을 만들 수 있다.
>>> 중첩 인용문1
>>>> 중첩 인용문2
>>>> 중첩 인용문2'
인용문
남의말이나 글에서 직접 또는 간접적으로 따온 문장.
(네이버국어사전)
BREAK!
인용문을 작성하세요!
중첩된 인용문을 만들 수 있다.
중첩 인용문1
중첩 인용문2
중첩 인용문2’
수평선(Horizontal Rule)
각 기호를 3개 이상 입력한다.
---
안녕하세요
***
안녕하세요
___
안녕하세요
안녕하세요
안녕하세요
안녕하세요
줄바꿈(Line Breaks)
일반줄바꿈이 동작하지 않는 환경의 경우, 두번의 띄어쓰기나 <br>을 사용할 수 있다.