비교와 boolean

Boolean

불린은 참과 거짓을 의미하는 데이터 타입으로 bool이라고도 불린다. 불린은 정수나 문자와 같이 하나의 데이터 타입인데, 참을 의미하는 true와 거짓을 의미하는 false 두 가지의 값을 가지고 있다.

비교 연산자

==

좌항과 우항을 비교해서 서로 값이 같다면 true 다르다면 false가 된다. ‘=’가 하나면 대입연산자 이지만 두개이면 비교 연산자가 된다.
비교연산자

!=

‘!’는 부정을 의미한다. !=의 결과는 ==과 정반대의 결과를 보여준다.
비교연산자2

>

좌항이 우항보다 크다면 참, 그렇지 않다면 거짓임을 알려주는 연산자이다. ‘<”는 반대의 의미이다.
비교연산자3

>=

좌항이 우항보다 크거나 같다. 마찬가지로 ‘<=”는 반대의 의미이다.
비교연산자4

.equals

문자열을 비교할 떄 사용하는 메소드이다.
비교연산자5
String은 클래스 이므로 앞자리를 대문자로 써야된다.
.equals는 메소드이므로 뒤에 ()가 들어간다.

Comment and share

자료형

자료형 종류

실수형(Real number)

실수형 자료형은 float와 double이있다.
정수도 실수에 포함되기 때문에 정수데이터도 입력가능하다. 그러나
저장되는 방식이 다르다.
ex) float a = 1; > 1.0

float

float
float는 실수 데이터형이다. 컴퓨터는 실수 데이터를 무조껀 Double로 받기 때문에 float변수를 초기화 할 때 float변수로 받는 다는 것을 표현해주어야 한다.

double

double
double은 컴퓨터가 자동으로 double형 데이터로 인식하기 때문에 float와 달리 변수 초기화시 표현을 해줄 필요가 없다.

정수형

정수형은 int를 주로 사용한다. 그보다 값이 크면 long으로 변수를 선언해 주면된다.

int

int
정수형 이므로 실수 값을 입력할 수 없다.

예제

밑변과 높이를 입력 받아 삼각형의 넓이 구하기
밑변? 10
높이? 10
넓이: xxx
예제1
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
: 이 세가지는 사용자가 입력값을 넣었을 때 입력값이 이상하면 던져버리겠다는 의미의 코드이다. 입력값을 넣을때 이 세가지의 코드는 세트이다.
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
: import로 불러온 코드를 사용하는 것이다. 이것 또한 거의 세트이나 마찬가지이다. 문자열을 입력할 수 있게 된다. 문자열을 제외한 다른 입력값은 던져버린다. 구체적으로는 다음과 같다.
system.in : 키보드로 입력한 1byte문자
InputstreamReader : 1byte 문자를 2byte로 변환
BufferedReader : 메모리에 저장공간을 만들어 입출력 속도를 빠르게 함.
예제2
int hei,wid;
double area;
: hei와 wid는 10으로 정수 값이므로 int를 사용했고, area는 float이나 double값 둘다 사용할 수 있으나 여기서는 double로 선언하였다.
hei = Integer.parseInt(br.readLine());
wid = Integer.parseInt(br.readLine());
받아온 문자열을 정수값으로 변환해 준다.

Comment and share

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)
);

Comment and share

행 수정 & 삭제

행 수정

행 수정
UPDATE topic
: topic 테이블을 수정한다.
SET
description = ‘MSSQL is …’
: description 행을 ‘MSSQL is …’으로 수정한다.
WHERE
: 어디에(수정 또는 삭제를 할 때 WHERE문이 없다면 모든 행열에 해당하므로 특별한 경우를 제외하고는 무조건 있어야 한다.)
id = 1;
id가 1인 행에

행 삭제

DELETE FROM topic WHERE id = 1;
1행을 삭제합니다.

Comment and share

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번째 까지의 행을 불러온다.

Comment and share

SQL(Structuerd Query Language)

SQL은 액셀에 쓰는 것보다 어렵다.
그럼에도 불구하고 DB를 사용하는 이유는 그만한 가치가 있기 때문이다.

  1. 액셀은 행을 추가하는 수가 한계가 있다. 그러나 DB는 저장장치의 한계가 없다면 무한하게 가능하다.
  2. 데이터를 꺼내올 수 있느 속도가 압도적으로 빠르다.
  3. 명령어를 통해서 DB를 제어할 수 있기 떄문에
    자동화를 할 수 있다.

Comment and share

테이블 이름 확인시 문제 발생

테이블을 만들고 테이블확인을 하려하자 이런 오류가 나왔다.

구글 검색 결과 COMMIT을 해보라고 하여 해봤지만 같은 오류가 나왔다.
유저네임이 문제인가 싶어 유저네임을 알 수 있는 명령어를 입력하였다.
SELECT * FROM DBA_USERS
개발일지1

유저네임이 소문자로 CREATE했음에도 불구하고 대문자로 적혀있는 것을 학인 후 다시 입력하였다.
2

오라클 데이터베이스 에서는 대문자가 디폴트이다.

Comment and share

테이블

테이블생성

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);
각각의 값입력

Comment and share

Hyeon Soo Ahn

author.bio


author.job