본문 바로가기
Python/데이터분석 👀

[Big Data] 데이터베이스

by narang111 2022. 2. 4.

데이터베이스에서 왜 베이스라고 쓰게 됐을까?

- 데이터의 기지를 만들겠다!

 

DB의 통합 챔피언은 Oracle

Oracle은 Unix에서 작동하는 얘였는데 무거워서 가벼운 얘 필요했음 ->  MySQL, MSSQL

오라클이 MySQL 을 인수했고 안되겠다 해서 다시 낸게 MariaDB

발전하면서 스마트폰 등에서 가볍게 쓸 수 있게 변형한게 SQLite

 

데이터베이스에서 알아야할 것은 데이터베이스는 하나의 FileSystem이다.

파일처리는 시스템이 생각보다 처리가 느리다. 자기디스크 특성에 의해서..

 

데이터베이스는 쉽게 얘기하면 쿼리를 배우는 것이다!

Query에는 크게 4가지가 있다.

- Search(검색)

- Insert(삽입)

- Update(갱신)

- Delete(삭제)

  

OS의 통합 챔피언은 Unix

PC 버전이 Linux, MS Windows

 

 

데이터를 넣을 때 중요한 것이 하나 있다.

데이터가 들어갈 때 어디 들어갈지 모른다. 뒤에 붙을 수도 있고 삭제된 레코드가 있다면 거기에 들어갈 수 있다.

여기에서 필요한 것이 index(idx)이다. 키 값!

키 값을 쓰는 이유이다.

 

create table mytable(

    idx int(10) auto_increment,
    
    name char(10) default 'user',
    id char(10) unique,
    age int(10) default 10,
    
    primary key(idx)

);

 

실행하기 전 모습이다. Apache와 MySQL 옆의 Start를 각각 눌러준다.

아래처럼 port 3306 in use by....이런 오류가 간혹 나온다.

#오류발생주의

-> 이럴 때는 Ctrl+Alt+Delete 를 눌러 작업관리자로 들어간다. 실행 중인 프로그램 중 mysqld 이런 프로그램이 돌아가고 있을 텐데 얘를 종료시켜주고 다시 Start 를 눌러주면 잘 돌아간다.

 

❗ 틈새지식 정리 ❗

Apache

클라이언트 측의 웹 서비스 제공 요청을 받아들여 HTML파일, 이미지, 동영상 등의 데이터를 HTTP 규약에 따라 클라이언트의 로컬 컴퓨터에 전송한다.

PHP 

PHP해석기는 PHP 언어로 작성된 프로그램을 문법에 맞게 해석하여 HTML로 변환하고 Apache는 이 HTML 파일을 클라이언트로 보낸다. 클라이언트 측의 사용자는 해석된 HTML파일, 즉 웹 페이지를 웹 브라우저를 통해 볼 수 있다.

MySQL

DBMS의 하나인 MySQL 데이터베이스는 웹에서 사용되는 데이터를 저장, 검색, 수정, 삭제하는 역할 등을 수행한다.

MySQL은 무료이지만 성능이 우수하여 전 세계적으로 널리 사용되고 있다.

 

 

 

 

MySQL을 실행시키고 Admin을 누르면 아래처럼 사이트가 자동으로 뜬다.

위 쿼리를 SQL 탭을 누르고 실행하면 아래처럼 mytable이라는 테이블이 생성된다.

 

INSERT 쿼리인데 임의로 데이터를 많이 만들어줬다.

INSERT INTO mytable(name, id, age) VALUES ('홍길동', 'kdhong', '12');
INSERT INTO mytable(name, id, age) VALUES ('이순신', 'sslee', '22');
INSERT INTO mytable(name, id, age) VALUES ('강감찬', 'gckang', '13');
INSERT INTO mytable(name, id, age) VALUES ('광개토', 'king', '53');
INSERT INTO mytable(name, id, age) VALUES ('테스트', 'test', '24');
INSERT INTO mytable(name, id, age) VALUES ('관리자', 'admin', '15');
INSERT INTO mytable(name, id, age) VALUES ('타이레', 'tatata', '64');
INSERT INTO mytable(name, id, age) VALUES ('콜라겐', 'cola', '43');

 

 

SEARCH

다 아는 이거다.

SELECT ...
FROM
WHERE

예시)

SELECT * FROM `mytable` WHERE age > '30';

 

 

UPDATE

- upate 쿼리에서는 where 절이 필수이다. 조건지정이 없으면 DB 모든 데이터가 바뀐다.

UPDATE 테이블명
SET 필드1='새로운 값', 필드2='새로운 값'
WHERE '조건'

 

 

DELETE

DELETE FROM TABLE_NAME WHERE '조건'

 

 

 

 

깨알웹페이지..

입력창 구현

여기서  type을 number로 주면 모바일에서 입력창을 눌렀을 때 숫자패드가 나온다.

<div class="col">나이</div>
            <div class="col"><input type="text" name="id" class="form-control" placeholder="나이"></div>