카테고리 없음

스테이지어스 6주차 정리(2)

jjon-jonny 2024. 5. 5. 16:28

데이터 베이스

 

정의 

ㄴ 데이터 저장소

ㄴ 코드에서 값을 일시적으로  저장해두기 위해 사용되는 문법 ( 변수 )

ㄴ 변수는 어디에 저장되는가?(RAM)

ㄴ 우리가 반 영구적으로 값을 보관하고 싶을 때도 있다

ㄴ 이때 사용하는게 데이터베이스(보조메모리)

 

데이터베이스의 종류

1. Relational Database(RDB)

ㄴ 전체 데이터베이스 사용에서 80% 이상 차지

2. NoSQL Database(NoSQL)

 

NoSQL 은 RDB 보다 유연적이지만 체계성이 떨어진다!!

 

RDB의 종류

1. Mysql : 가장 보편적으로 사용됨.

2. Oracle : 가장 좋은 성능을 냄, 근데 유료임

3. PostgreSQL : 독특한 기능이 많으며 , MySQL 과 비교했을 때 데이터가 많아질 수록 좋아진다.

4. SQLite : 가장 기능이 적으면서 , 가장 가벼움 / 로컬 데이터베이스 전용(팔라독, 앵그리버드 )

5. MariaDB

6. 등등...

 

 

MariaDB

 

-소개

ㄴ MySQL을 그대로 똑같이 클론한 데이터베이스

ㄴ MySQL은 부분 유료임

 

데이터베이스 하나 만들기

table 은 데이터가 저장되는 단위이다!!

 

표형태 여러개가 겹쳐져 있다

2가지 기억하면 된다

column 과 row

column 은 소제목이다!

id password name

Row 는 각각의 데이터를 의미한다

한줄이 데이터이다

Row 는 한개의 데이터를 의미한다!

 

SQL

ㄴ Relational Database 전용 언어이다!

ㄴ 데이터로 전송을 할때 서버가 데이터에 하는 언어이다!

ㄴ 대부분의 RDB가 SQL 을 그대로 사용함

ㄴ 한번 배워두면 다른 db에도 응용할 수 있음.

 

백엔드 개발자한테 사실상 가장 중요한 언어이다

ㄴ 프로그램의 성능을 담당하는 건 백엔드 개발자이기 때문

ㄴ 프로그램에서 가장 오래 걸리는 작업이 db통신

ㄴ 알아야 하는 개념들이 굉장히 많다

 

서버- 데이터 연결과정이 백엔드 개발자가 하는 일임!

 

모든 데이터베이스는 2개를 설치 해줘야한다

 

1. 라이브 서버 => 서버 안에서 돌아가는 또 다른 작은 서버를 의미함.

집안에 금고 넣어 놓는 느낌

2. 서버가 오직 통신을 통해서만 데이터를 가지고 올 수 있다.

 

처음 들어올 때 아이디가 아무것도 없으니까 

sudo mysql 을 통해서 들어간다!

 

sudo는 관리자이기에 사용할 수 있다!

 

root 는 가장 기본!! 힘이 너무 쎄서 root로는 아무것도 안하고 유저 + 관리자 권한 계정으로만 사용한다!!

 

CRUD 

 

소개

ㄴ 데이터베이스가 해줘야 할 기본적인 4가지의 기능을 의미하는 단어

Create ( 값 생성 )

Read( 값 읽기 )

Update ( 값 수정 )

Delete ( 값 삭제 )

 

 

데이터베이스는 기본적으로 대소문자 구분 x 

SQL 문법자체가 평소문이기에 어떤게 명령어인지 모르기에

명령어는 대문자로 써준다!

 

 

다양한 SQL 문법 배워보자!!!

어차피 SQL 문을 계속 배울테니까

테이블 설계를 열심히 해야한다!

 

로그인 / 게시판 / 등등... 테이블을 어떻게 나눌 것인가? 

등등..

 

아래는 수업중 사용한 내용들이다!

 

MariaDB [web]> sudo apt install mariadb-server

sudo mysql
my
CREATE DATABASE web;
CREATE USER 'stageus'@'%' IDENTIFIED BY '1234';
GRANT ALL PRIVILEGES ON web.* TO 'stageus'@'%';
quit
mysql -u stageus -p
SHOW DATABASES;
USE web;
CREATE TABLE account;
CREATE TABLE account (id TEXT , pw TEXT);
SELECT * FROM account;
SELECT * FROM account WHERE id='test';
INSERT INTO account (id, pw) VALUES ('test2','1234');
 SELECT * FROM account;
SELECT * FROM account WHERE id='test' AND pw='1234';
UPDATE account SET pw='1111' WHERE id='test';
DELETE FROM account WHERE id='test2';