'2021/05/05'에 해당되는 글 1건

  1. 2021.05.05 [Database] MySQL 데이터베이스란 무엇인가?

데이터를 저장하는 방식은 몇 가지가 존재합니다.

초기에는 파일(File)에 저장하여 사용했습니다. 하지만, 문제가 많았습니다.

보안적인 문제도 있었고, 검색이나 정렬등을 하기에 한계가 있었습니다. 그래서 등장합니다~~

 

바로바아~~~로~~~~~~ Database !!

 

이 방식은 우리 컴퓨터에 깔려있는 스프레드 시트 또는 엑셀과 비슷한 구조로 되어있다는 것을 알 수 있습니다.

공통점으로는 표의 형태로 눈에 보기 쉽게 되어있으며, 정렬하기 쉽고 숨기거나 검색을 하기도 용이합니다.

하지만, 엑셀도 결국 파일이므로 데이터를 내 컴퓨터에서만 사용할 수 있습니다.

하지만, 데이터베이스는 서버 기반으로 코드를 통해서 데이터를 관리할 수 있으며, 전 세계 사람 누구나 볼 수 있도록 할 수 있습니다.

 

데이터베이스는 RDBMS(관계형 데이터베이스 시스템)인 SQL형과 No-SQL형 두 가지 종류로 나뉩니다.

 

Structured Query Language

 

이 두가지는 나중에 알아보고 어떤것이 가장 인기있는 데이터베이스인지 알아봅시다.

 

https://db-engines.com/en/ranking

이렇답니다. 오라클이라는 초대형 데이터베이스와 견주어도 스코어가 막상막하인것 보이시나요?

 

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 

MySQL 용어

id name age
1 GIL 50
2 JANG 32

이러한 구조로 데이터가 저장되게 되는데, 이 표를 Table이라고 하며, Table들이 하나의 Database로 저장되어 관리됩니다.

Mysql에서는 스키마(schema)라는 의미와 데이터베이스를 같은 뜻으로 취급한다. 따라서, 코딩도 동일합니다.

데이터베이스마다 스키마의 의미가 다르기 때문에 난해한 용어인 것 같습니다. 어쨋든 Mysql에서는 테이블 등의 오브젝트 집합입니다.

 

mysql > CREATE DATABASE `user`;

mysql > CREATE SCHEMA `post`;

 

그럼, mysql를 사용해봅시다.

 

터미널을 열고, 다음과 같이 root로 접속해봅시다.

 

$ mysql -u root -p

 

Mysql을 설치할때 입력했던 비밀번호를 넣어주면, 

이렇게 Welcome!!!

 

mysql> 

 

이렇게 나오면, mysql에 접속이 성공적으로 마쳤습니다! 예~ 이제 Mysql문법을 하나하나 작성해봅시다.

 

1. 데이터베이스 생성 --> create database 데이터베이스이름; ( CREATE DATABASE 데이터베이스이름;)

 

대소문자는 구분없이 명령은 잘 되는데, 대문자로 하는게 관습이라고 합니다.

 

무조건 문장의 끝은 세미콜론(;)을 붙여줘야합니다. 그렇지 않고 Enter를 치면 안 끝났다고 생각하고 아래와 같이 계속 말하라고 합니다.

문장 끝에 ;을 입력해주세요

 

에러 없이 데이터베이스 생성!

 

무조건 Query OK, 가 나와야 성공한 겁니다. 그외 이상한 문장이 나왔으면 오타일 확률 99.999%입니다~~ 오타 주의!!

에러 문장

 

2. 데이터베이스 제거(삭제) --> drop database 데이터베이스이름;

 

3. 데이터베이스 목록 보기

show databases;

 

4. 특정(데이터베이스이름) 데이터베이스 선택하기(사용하겠다)

user 데이터베이스이름;

 

5. 테이블 생성하기 create table 테이블명(....ㅇㅇ...);

 

 

 

6. 테이블 목록 보기

show tables;

 

6. 테이블 삭제하기

show table 테이블명;

 

테이블 이름 바꾸기

rename table 기존_테이블명 to 변경할_테이블명;

 

8. 테이블 구조 확인하기

DESC users;

 

CRUD 명령어 작성

 

1. 생성하기. Create가 아니라, insert 명령어입니다.

 

1. INSERT INTO테이블이름(필드이름1, 필드이름2, 필드이름3, ...)  VALUES (데이터값1, 데이터값2, 데이터값3, ...)

 

2. 조회하기 : Select

 

SELECT * FROM users; -- users 테이블에 있는 모든 row를 보여준다. 

SELECT id, email FROM users; -- users 테이블에 있는 모든 row를 보여주는데, id와 email만 보여준다.

SELECT id, email FROM users WHERE first_name="HONG"; -- users 테이블에 있는 row중에, first_name이 HONG인 사람만 보여주는 조건식이다.


WHERE 문 뒤에 ORDER BY로 정렬까지 붙여서 사용할 수 이싿 

Posted by sungho88
,