백엔드/Database

TIL 정리_34(MySql)

ran4 2022. 3. 21. 22:22

https://www.youtube.com/playlist?list=PLuHgQVnccGMCgrP_9HL3dAcvdt8qOZxjW 

 

DATABASE2 - MySQL

 

www.youtube.com

위의 생활코딩 강의를 듣고 정리한 내용입니다

 

 

파일과 데이터베이스 

파일은 배우기 쉬우며, 운영 체제마다 파일 기능을 제공하기 대문에 어디에서나 사용할 수 있다

이메일이나 메신저를 이용하여 간편하게 전송이 가능하다

단점은 성능, 보안, 편의성에 한계를 가지고 있다

 

파일이 가진 한계를 극복하기 위해서 고안된 전문화된 소프트웨어가 바로 데이터베이스이다

 

데이터베이스 : 정보 기술의 심장이자

데이터를 안전하고 빠르게 저장하고 효율적으로 조회가 가능하며 데이터 활용이 가능하도록 하는 서버이다

 

다양한 데이터베이스 제품 : MySQL, Oracle, SQL Server, PostgreSQL, MongoDB 등이 있다

 

관계형 데이터베이스 : 여러개의 테이블이 특정 관계로 이루어져 있는 구조를 가진 데이터베이스이다 

 

MySQL, Oracle, SQL Server, PostgreSQL등이 이에 해당된다 

 

noSQL : 데이터와 테이블간의 관계를 정의하지 않는 데이터베이스이다 

관계형 데이터베이스보다 덜 제한적인 일관성 모델을 이용한다

MongoDB가 이에 해당한다

 

 

스키마 생성하기

-스키마는 데이터베이스를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의한다.

 

CREATE DATABASE menagetie; //데이터 베이스 이름 (검색결과)

menagetie; -> 원하는 이름으로 변경 가능

데이터 베이스 삭제

DROP DATABASE 이름;

 

데이터베이스 조회 

SHOW DATABASES

 

테이블 생성

>Use 데이터베이스이름 이름;

Use menagetie topic;

 

SQL : 관계형 데이터 베이스들이 공통적으로 데이터베이스를 제어할 때 사용하는 것으로 데이터베이스의 베이스이다

 

Row : 행(가로)

Colum : 열(세로) 

author : 권한

syntax 문법

 

CREATE TABLE topic// 

세미콜론 ';' 대신에 //를 붙이면 줄바꿈이 된다

 

id int(11) 11자리까지 노출 NOT NULL 값이 없는 것을 허용하지 않는다

중복되지 않는 식별자 AUTO_INCREMENT

title VARCHAR() //variable + character(문자열) 글자수(문자수)

->괄호 안 숫자는 글자 수 제한, 입력 안할경우를 고려하여 NULL 사용

긴 데이터 처리 description(설명)=DESC TEXT NULL

DATETIME // 날짜와 시간을 모두 표현

PRIMARY KEY(id)); : 아이디 값은 각각의 행을 식별하는 식별자이기 때문에

컬럼의 값이 각각 중복없이 고유해야 함을 선언

 

CRUD : Create/Read/Update/Delete

 

데이터를 추가하는법

SHOW TABLES;

DESC topic; //topic이라는 테이블의 구조검색

ASC 오름차순 DESC 내림차순

INSERT INTO topic (title,description,created,author,profile) VALUES (‘MYSQL“,”MYSQL is ...’,NOW(),‘young’,‘developer’);

//id는 auto increment이기 때문에 작성하지 않는다

 

 

모든 데이터를 화면에 출력 : SELECT * FROM topic;

일부만 출력 : SELECT id, title, created, author FROM topic;

위치 : WHERE where_condition 

SELECT FROM topic WHERE author=‘young’; //author가 young인 테이블 호출

**WHERE은 FROM 다음에 호출해야 문법적 오류가 일어나지 않는다

ORDER BY id DESC; 정렬순서 변경

 

 

mysql은 데이터의 수가 무궁무진하기 때문에 SELECT * FROM topic;을 그냥 호출하면 컴퓨터가 멈출 수 있다

따라서 제약을 두어야 한다

LIMIT 숫자; -> 테이블의 호출 량 조절

 

 

'백엔드 > Database' 카테고리의 다른 글

TIL 정리_113(데이터베이스&SQL 문법)  (0) 2022.06.29
TIL 정리_55(인덱스)  (0) 2022.04.12
TIL 정리_44  (0) 2022.03.31
TIL 정리_43(Oracle)  (0) 2022.03.30
TIL 정리_35  (0) 2022.03.22