카테고리 없음

2024. 7. 24. (수) 슈퍼코딩 부트캠프 Day 45 / 주특기 5주차

태영9922 2024. 7. 24. 21:49

 

1. DB에서 Data까지

  • MySQL Schema = Table의 형식과 관계를 포함하는 관계도. 단순 data 집합 이상의 개념

 

  • 테이블의 구조
출처 :  https://github.com/dh00023/TIL/blob/master/database/MySQL/post/2019-03-16-table.md

 

 

2. SQL overview

  • SQL (Structed Query Language) : RDBMS를 제어하기 위한 언어, DDL, DML, DCL, TCL등이 있음.
  • DDL (Data Definition Language) : DB스키마 수준 작업, DB생성, 테이블 관계 생성/변경, 테이블 생성/삭제/컬럼변경 등
  • DML (Data Manipulation Language) : DB데이터(레코드) 수준 작업, 데이터 조회/삽입/업데이트/삭제 등

1.MySQL 데이터 형식

  • 정수형, 실수형, 문자형(CHAR, VARCHAR(가변형) ), text타입, 이진타입, 날짜 타입 등이 있음

 

2. DDL로 DB 및 테이블 다루기

CREATE DATABASE sample; //sample 데이터 베이스 생성
 
CREATE TABLE member( //member 테이블 생성
	mem_name VARCHAR(10),
    member_number TINYINT,
    addr VARCHAR(30),
    phone CHAR(12),
    height TINYINT UNSIGNED, 
    enroll_date DATETIME
);
 

3. Schema 변경하는 DDL

  • PRIMARY KEY : 기본기 설정
  • AUTO_INCREMENT : 자동 증감
  • NOT NULL : 빈칸 허용 안함

 

  • SQL 키워드 : 대문자 / 테이블이름, 컬럼이름 : snake_case
  • CREATE
CREATE TABLE member(
	member_id INT AUTO_INCREMENT PRIMARY KEY, --제약 조건 설정
    mem_name VARCHAR(10) NOT NULL,
    addr VARCHAR(30),
    phone CHAR(12),
    height TINYINT UNSIGNED,
    enroll_date DATETIME
);
 
  • ALTER
ALTER TABLE netflix_movie -- 속성 추가
ADD COLUMN release_date DATE AFTER movie_title;

ALTER TABLE netflix_movie -- 속성 변경
MODIFY COLUMN movie_director VARCHAR(100) NOT NULL;

ALTER TABLE netflix_movie -- 속성 삭제
DROP COLUMN movie_script;
 
  • DROP, TRUNCATE
DROP TABLE member; -- 테이블 자체를 삭제
TRUNCATE TABLE member; -- 테이블은 놔두고 데이터만 삭제
 

4. Data 변경하는 DML

INSERT INTO member(mem_name, addr, phone, heigth, enroll_date)
VALUES('John', '123 main street', '12345678', 180, '2023-07-24');

UPDATE member
SET addr = '456 maple' 
WHERE mem_name = 'John'; -- WHERE가 없으면 모든 행 업데이트

DELETE FROM member
WHERE mem_name = 'John'; -- WHERE가 없으면 모든 행 삭제
 

1. SELECT문 기초

  • DB에서 필요한 정보만 가져와서 데이터를 분석하고 활용하는게 백엔드 업무.
  • 작성 순서
SELECT -> FROM -> WHERE -> GROUP BY -> HAVING -> ORDER BY
 
SELECT *
FROM member
WHERE height BETWEEN 160 AND 170; -- 사잇값

WHERE addr IN ('경기', '경남'); -- 해당되는 특정 튜플

WHERE name LIKE '세%'; --세로 시작하는 단어 모두 ex) 세븐, 세븐틴
WHERE name LIKE '__핑크'; -- 언더바 갯수가 글자수, ex) 블랙핑크, 에이핑크

 
 

2. SELECT문 심화

 

 

 

 

 

 

#슈퍼코딩, #1:1관리형부트캠프, #백엔드, #backend, #백엔드공부, #개발공부, #백엔드개발자 #취준일기, #취준기록, #취뽀, #빡공, #HTML/CSS, #javascript, #react , #java, #spring