1. 데이터베이스란?
구조화된 데이터, 데이터의 저장소
- 구조화의 장점
(정렬을 할 수 있다. 정보의 성격을 빠르게 확인할 수 있다.)
데이터베이스의 종류
관계형 데이터베이스
mysql, oracle, mssql (data를 sql문을 이용해서 제어할 수 있다.)
nosql
mongodb
nosql-database
2. data관리 -- (SQL문)
1) database 생성
CREATED DATABASE `db_name` CHARACTER SET utf8 COLLATE utf8_general_ci
db_name 따옴표는 ~밑에 따옴표이다.
db_name 뒤는 관용적
2) database 삭제, 리스트 확인, database 사용
DROP DATABASE `db_name`;
show database;
use db_name;
3) table생성(파일과 유사한 역할)
스키마(schema)란?
테이블에 적제 될 데이터의 구조와 형식을 정의하는 것 (데이터 설계도와 같다.)
CREATE TABLE `db_name` (
`id` tinyint NOT NULL ,
`name` char(4) NOT NULL ,
`sex` enum('남자','여자') NOT NULL ,
`address` varchar(50) NOT NULL ,
`birthday` datetime NOT NULL ,
PRIMARY KEY (`id`)
);
desc db_name; (db_name의 자세한 설정을 볼 수 있다.)
4) table에 data 삽입
INSERT INTO `student` VALUES (value1, value2, value3)
--> colume 순서대로 넣어야한다.
INSERT INTO `student` (`id` , `name`, `sex`) VALUES (`1`, `egoing`, `남자`)
--> 앞에 써준 colume 순서대로 써야한다.
--> 원하는 colume만 넣어줄 수 있다.
5) data 변경
UPDATE `student` SET address='서울' ;
-> 모든 행 서울로 바꿈
UPDATE `student` SET name='이진경' WHERE id=1 ;
-> id 1 번 이름을 이진경으로 바꿈
UPDATE `student` SET name='이고잉', birthday='2001-4-1' WHERE id=3;
-> id 3인 행에 이름을 이고잉 생일을 바꿈
6) data 삭제
DELETE FROM student WHERE id = 2;
행단위로 데이터 삭제
TRUNCATE student;
data 전부 삭제
DROP TABLE student;
테이블을 지운다.
7) data 조회
SELECT 칼럼명1, 칼럼명2
FROM 테이블명
GROUP BY 칼럼명
ORDERED BY 칼럼명 [ASC|DESC]
LIMIT offset, 조회 할 행의 수
8) JOIN
join
테이블간의 관계성에 따라서 복수의 테이블을 결합, 하나의 테이블인 것처럼 결과를 출력
outer join:
매칭되는매칭 되는 행이 없어도 결과를 가져오고 매칭 되는 항이 없는 경우 NULL로 표시한다
left join, right join이 있다.
inner join:
조인하는 두 개의 테이블 모두에 데이터가 존재하는 경우에 대해서만 결과를 가져온다.
LEFT JOIN
-> outer join의 하나 왼쪽에 있는 테이블을 기준으로 오른쪽에 있는 테이블의 데이터를 가져오는 것
SELECT s.name, s.location_id, l.name AS address, l.distance
FROM student AS s LEFT JOIN location AS l ON s.location_id = l.id;
만약 결과 값을 제한하고 싶다면
WHERE l.distance=10
WHERE s.location_id=3;
column 가져오는데 l.name은 address 로 가져오는 것 student는 s라는 별명을 줌
ON 결합의 조건
s.location_id라는 column과 l.id값이 같은 것이다.
outer join과 inner join의 차이
DELETE FROM location WHERE name='제주';
left join하면 제주가 NULL 로 붙음
inner join을 하면 NULL값이 추가 된다면 없애고 가져온다.
'개발자 > v0' 카테고리의 다른 글
운영체제 OS - 프로세스 스케줄링 (Process Scheduling) (0) | 2020.09.07 |
---|---|
운영체제 OS - 스레드(Thread) (0) | 2020.09.07 |
운영체제 OS - 프로세스 (Process), 인터럽트 (Interrupt) (0) | 2020.09.07 |
운영체제 OS - 개요 (0) | 2020.09.07 |
RPA - UI Path (사무 자동화) (0) | 2020.03.15 |