728x90
반응형
SMALL

(1) 별칭(alias)
컬럼명을 바꾸거나 테이블을 두 개 이상 참조할 때
각 테이블에 별명을 지어줄 때 사용
- 컬럼명 별칭 : 컬럼명 as 별칭
- 테이블 별칭 : 테이블명 as 별칭(오라클은 as 없어도 됨)

(2) 연결(concatenation)
문자열이나 컬럼의 결과값을 연결할 때 사용
in oracle)
컬럼1 || 컬럼2        >>  컬럼1컬럼2
컬럼1||'|'||컬럼2      >>  컬럼1|컬럼2
문자열1 || 문자열2  >>  문자열1문자열2
'ABC' || 'DDD'         >>    ABCDDD

in mysql)
concat(컬럼1, 컬럼2) >> 컬럼1컬럼2

(3) BETWEEN ~ AND
BETWEEN AAA AND BBB : AAA 이상 BBB 이하
AAA, BBB는 문자열도 가능 DATE BETWEEN '20220820' AND '20220821235959'
DATE BETWEEN '20220820000000'
AND '20220821235959'

(4) LIKE
뒤에 오는 와일드카드 문자열과 비교하여
같다면 참, 다르다면 거짓
문자열의 포함여부를 알아낼 때 사용
컬럼명 LIKE '와일드카드 문자열'

* 와일드카드(Wildcard) 문자열
  _ : 아무거나 한 글자
      예) '_유진' : 성은 모르겠고 이름이 유진
  % : 모든 것(0글자 포함)
      예) '%유진' : 유진포함 ******유진들이 다 True
  '_정%' : 두 번째 글자가 정인 모든 것
  '%정%' : 정이 포함된 모든 것
  '%정_' : 뒤에서 두 번째 글자가 정인 것
  '_정_' : 세 글자인데 가운데 글자가 정인 것
  '__정' : 세 글자인데 마지막 글자가 정인 것
  '%정__', '_정__' 등 다양한 식으로 응용 가능

(5) case when
case when ~~~ then '식료품'
when ~~~ then '자동차'
else '기타' end

실습문제) 서울에 있는 병원 수, 부산에 있는 병원 수와 전국 대비 비율을 구하시오.

728x90
반응형
LIST

'개발 > 정리 내용' 카테고리의 다른 글

정규화(Normalization)  (0) 2023.01.13
MariaDB Built-in Function  (0) 2023.01.13
데이터 모델링 1  (0) 2023.01.13
Dual 테이블(Oracle, MySQL 계열)  (0) 2023.01.13
Unique Key  (0) 2023.01.13
728x90
반응형
SMALL

(1) 개념 모델링(개념적 설계)

영화                             상영관
-------------------------------------------
영화제목                    상영관명
영화감독                      좌석수
   장르

(2) 논리 모델링

영화                        시간표                  상영관
--------------------------------------------------------------------
영화제목(PK)    상영관명(FK)      상영관명(PK)
영화감독            영화제목(FK)          좌석수
     장르                상영시간

 

(3) 물리 모델링
논리 모델링에 따라서 테이블을 실제로 만드는 것
논리 모델링과 1:1이 일반적
논리 모델링과 용어가 다름(예-논리(Entity) : 물리(Table))

728x90
반응형
LIST

'개발 > 정리 내용' 카테고리의 다른 글

MariaDB Built-in Function  (0) 2023.01.13
SQL II  (0) 2023.01.13
Dual 테이블(Oracle, MySQL 계열)  (0) 2023.01.13
Unique Key  (0) 2023.01.13
SQL 문법  (0) 2023.01.13
728x90
반응형
SMALL
  • 오라클이나 MySQL이 기본적으로 제공하는 테이블
  • 컬럼은 하나만 존재, 시퀀스, 날짜함수, 산술연산에 사용
  • 웹서버에서 DB서버가 살아있는지 체크할 때 많이 사용 (select 1 from dual)
728x90
반응형
LIST

'개발 > 정리 내용' 카테고리의 다른 글

SQL II  (0) 2023.01.13
데이터 모델링 1  (0) 2023.01.13
Unique Key  (0) 2023.01.13
SQL 문법  (0) 2023.01.13
DB관련 Term (2)  (0) 2023.01.13
728x90
반응형
SMALL

(1) 해당 값이 동일한 row가 없게 하는 조건
(2) Primary Key와의 차이점
PK는 테이블에 하나만 존재하지만 UK는 여러 개 존재 가능
NULL을 미확정(NULL끼리 서로 다른 값으로 인정)으로 본다.

728x90
반응형
LIST

'개발 > 정리 내용' 카테고리의 다른 글

데이터 모델링 1  (0) 2023.01.13
Dual 테이블(Oracle, MySQL 계열)  (0) 2023.01.13
SQL 문법  (0) 2023.01.13
DB관련 Term (2)  (0) 2023.01.13
데이터의 자료형  (0) 2023.01.13
728x90
반응형
SMALL

SQL 조건절(where) 문법

조건절 : 조건을 제시하는 문장
참 아니면 거짓, 결과는 둘 중 하나
AGE < 10

 

>, < : 초과, 미만
>= , <= : 이상, 이하
=    : 같다
!=, <> : 같지 않다.
like '%검색어%' : 검색어가 포함된 컬럼


insert

INSERT INTO 테이블명 VALUES(값1, 값2, .....)
INSERT INTO 테이블명(컬럼명1, 컬럼명2, ...) VALUES(값1, 값2, ...)

컬럼부분을 작성하지 않은 경우 모든 값들을 컬럼 순서에 맞춰서 넣어야 한다.
컬럼은 작성한 경우 컬럼에 해당하는 값들만 순서에 맞춰서 넣는다.


UPDATE

UPDATE 테이블명
SET 컬럼명1 = 값1, 컬럼명2 = 값2, .....
WHERE 조건절


DELETE

DELETE FROM 테이블명
WHERE 조건절


ALTER

(1) 테이블 이름 변경
ALTER TABLE OLDNAME RENAME TO NEWNAME;

(2) 테이블 컬럼 추가
ALTER TABLE 테이블명 ADD(컬럼명, 타입);

(3) 테이블 컬럼 변경
ALTER TABLE 테이블명 MODIRY(변경컬럼, 변경타입);
ALTER TABLE 테이블명 RENAME COLUMN OLDNAME TO NEWNAME;

(4) 테이블 컬럼 삭제
ALTER TABLE 테이블명 DROP(컬럼명);

(5) 테이블 삭제
DROP TABLE 테이블명;


NOT NULL, default

컬럼에 부여할 수 있는 속성
(1) NOT NULL
아무것도 입력되지 않았을 때를 허용하지 않음

(2) default
아무것도 입력되지 않았을 때 자동으로 입력되는 값


Primary Key

(1) 정의
테이블 내의 각 row마다 달라야 하는 것
한 개 컬럼일 수도, 여러 개의 컬럼 조합일수도
같은 데이터가 여러 건 들어가는 것을 방지하는 목적

ex) 국민 테이블 : 주민번호
    학생 테이블 : 학번
    성적 테이블 : 학번 + 시험일자 + 과목

(2) 테이블 생성 시 만드는 법 3가지
create table 테이블명 (
    컬럼명 타입 Primary key
);

create table 테이블명 (
    컬럼명 타입 constraint 제약명 Primary key
);

create table 테이블명 (
    컬럼명 타입
    ...
    마지막 constraint에 !!
    constraint 제약명 Primary key(컬럼명)
);

(3) 이미 있는 테이블에 추가하는 방법
alter table 테이블명 add constraint 제약명 Primary key(컬럼명);

(4) 제약조건 정지시키기, 다시 시작하기
(정지) alter table 테이블명 disable constraint 제약명;
수억건 인서트 완료!!!
(시작) alter table 테이블명 enable constraint 제약명;

728x90
반응형
LIST

'개발 > 정리 내용' 카테고리의 다른 글

Dual 테이블(Oracle, MySQL 계열)  (0) 2023.01.13
Unique Key  (0) 2023.01.13
DB관련 Term (2)  (0) 2023.01.13
데이터의 자료형  (0) 2023.01.13
SQL(Structured Query Language)  (0) 2023.01.13
728x90
반응형
SMALL

(1) Foreign Key(FK)
외래키 : 다른 테이블과 관계를 위한 컬럼

통신서비스 - 통신서비스변경이력

Foreign key를 여기에 구성하면,
서비스변경이력을 추가할 때 서비스가 없으면 오류
서비스를 삭제할 때 변경이력이 있다면 오류

실무에서 실제로 사용하지 않음
1) 서비스변경이력을 추가시, 서비스삭제시 체크 조건에 의해 느림
2) 서비스와 서비스변경이력의 동시 삭제가 불가

DB시험에서는 빠지지 않음

 

(2) 표준용어
각 한글 단어에 맞는 영어를 표준으로 만들어 놓고
테이블명 또는 컬럼명은 이를 반드시 사용해서 만들어야 한다.

영화 테이블을 보고 필요한 컬럼들을 정의
개봉 : open, 일자 : date, 등급 : rating, 장르 : genre, 국가 : country

개봉일자 : open_date

cf) 고객 : gogek, cust, jiro, napbu  고객 아이디 : gogek_id

728x90
반응형
LIST

'개발 > 정리 내용' 카테고리의 다른 글

Unique Key  (0) 2023.01.13
SQL 문법  (0) 2023.01.13
데이터의 자료형  (0) 2023.01.13
SQL(Structured Query Language)  (0) 2023.01.13
DB관련 Term  (0) 2023.01.13

+ Recent posts