V 21일차 - DB와 DBMS, SQLyog 공부

박태은·2024년 7월 5일

V 웹개발자 프로젝트

목록 보기
22/59

DB -> 데이터 베이스

DBMS -> DataBase Management System
(데이터 베이스를 관리하는 시스템 또는 소프트웨어)

DB != DBMS 둘은 다름!

  1. key-value

  2. RDBMS -> sql

  • 특징 찾아서 정리
  1. Graph

<요약>
DB == 데이터베이스

DBMS == DataBase Management System

DBMS는 여러개의 DB를 관리하는 시스템입니다.

MySQL == MariaDB

MySQL은 DBMS 입니다.

MySQL은 DBMS 중에 하나 입니다.

다른 DBMS로는 오라클, MSSQL 등이 있습니다.

MySQL은 전세계에서 가장 많이 사용되는 DBMS 입니다.

DB == 폴더

폴더 => 묶어주는 것

DB는 무엇으로 구성되는가? : 테이블들로 구성되어 있음

테이블 == 표 == 엑셀파일

표 == 칼럼(열, 1줄) + 로우(행, 여러줄)

칼럼 == 번호, 이름, 나이, 연락처

로우 == 1, 홍길동, 24, 010-1234-1234

표에서 칼럼은 한줄만 존재한다.

표에서 로우는 0 ~ N줄 존재할 수 있다.

SQL은 명령어 이다.

SQL은 DB에게 명령을 내릴 때 사용된다.

SQL 명령어 : 전체 데이터베이스 리스팅

SHOW DATABASES;

SQL 명령어 : 특정 데이터베이스 선택, 다른말로 하면 특정 폴더(DB)로 접속 명령어

USE DB이름;

EX : USE mysql;

SQL 명령어 : 현재 접속해 있는 DB안의 모든 테이블들을 리스팅

SHOW TABLES;


xampp -> 개발환경 세팅 쉽게해주는 툴

MySQL

  • 서버
  • 클라이언트

  • 서버(아파치, nginx)
  • 클라이언트(브라우저)

MySQL 은 데이터베이스들을 관리한다

https://boring9.tistory.com/54
Primary Key 정리 사이트


아래는 SQLyog 작성 예시

//# 전체 데이터베이스 리스팅
SHOW DATABASES;

//# mysql 데이터 베이스 선택
USE mysql;

//# 테이블 리스팅
SHOW TABLES;

//# 특정 테이블의 구조
DESC db;

//# test 데이터 베이스 선택
USE test;

//# 테이블 리스팅
SHOW TABLES;

//# 기존에 a1 데이터베이스가 존재 한다면 삭제
DROP DATABASE IF EXISTS a1;

//# 새 데이터베이스(a1) 생성
CREATE DATABASE a1;

//# 데이터베이스(a1) 선택
USE a1;

//# 데이터베이스 추가 되었는지 확인
SHOW DATABASES;

//# 테이블 확인
SHOW TABLES; //#방금 만들었는데 있을리가 없음

//# 게시물 테이블 article(title, body)을 만듭니다.
//# VARCHAR(100) => 문자 100개 저장가능
//# text => 문자 많이 저장가능
CREATE TABLE article(
title CHAR(100),
body TEXT
);

//# 잘 추가되었는지 확인, 리스팅과 구조까지 확인
SHOW TABLES;
DESC article;

//# 데이터 하나 추가(title = 제목, body = 내용)
INSERT INTO article
SET title = "제목",
body = '내용';

//# 데이터 조회(title 만)
0

//# 데이터 조회(title, body)

//# 데이터 조회(body, title)

//# 데이터 조회(*)

//# 데이터 또 하나 추가(title = 제목, body = 내용)
INSERT INTO article
SET title = "제목",
body = '내용';

//# 데이터 조회(, 어떤게 2번 게시물인지 알 수 없음)
SELECT

FROM article;

//# 테이블 구조 수정(id 칼럼 추가, first)
ALTER TABLE article ADD COLUMN id INT(10) FIRST;
DESC article;

//# 데이터 조회(, id 칼럼의 값은 NULL)
SELECT

FROM article;

//# 기존 데이터에 id값 추가(id = 1, id IS NULL)
UPDATE article
SET id = 1
WHERE id IS NULL;

//# 데이터 조회(, 둘다 수정되어 버림..)
SELECT

FROM article;

//# 기존 데이터 중 1개만 id를 2로 변경(LIMIT 1)
UPDATE article
SET id = 2
WHERE id = 1
LIMIT 1;

//# 데이터 조회()
SELECT

FROM article;

//# 데이터 1개 추가(id = 3, title = 제목3, body = 내용3)
INSERT INTO article
SET id = 3,
title = '제목3',
body = '내용3';

//# 데이터 조회()
SELECT

FROM article;

//# 2번 게시물, 데이터 삭제 => DELETE
DELETE
FROM article
WHERE id = 1;

//# 데이터 조회()
SELECT

FROM article;

//# 날짜 칼럼 추가 => regDate DATETIME
ALTER TABLE article ADD COLUMN regDate DATETIME AFTER id;

//# 테이블 구조 확인
DESC article;

//# 데이터 조회(, 날짜 정보가 비어있음)
SELECT

FROM article;

//# 1번 게시물의 비어있는 날짜정보 채움(regDate = 2018-08-10 15:00:00)
UPDATE article
SET regDate = '2018-08-10 15:00:00'
WHERE id = 1;

//# 데이터 조회(, 이제 2번 게시물의 날짜 정보만 넣으면 됩니다.)
SELECT

FROM article;

//# NOW() 함수 실행해보기
SELECT NOW();

//# 3번 게시물의 비어있는 날짜정보 채움(NOW())
UPDATE article
SET regDate = NOW()
WHERE id = 3;

//# 데이터 조회()
SELECT

FROM article;

profile
취업준비생. 웹개발자를 목표로.

0개의 댓글