Database

Database

Database - 테이블의 설계 방식

🌱 오늘의 주제 : 테이블의 설계 방식 🌱 테이블의 설계 방식 # 1. 테이블 생성 create table `singer` ( `id` int NOT NULL AUTO_INCREMENT primary key, `name` varchar(64) NOT NULL, `debut` int NOT NULL, `agency` varchar(32) NOT NULL, `createdAt` timestamp DEFAULT CURRENT_TIMESTAMP, `updatedAt` timestamp DEFAULT CURRENT_TIMESTAMP ) ENGINE = InnoDB DEFAULT CHARSET='utf8mb4'; create table `album` ( `id` int NOT NULL AUTO_INCREMENT p..

Database

Database - DDL 대 DML

🌱 오늘의 주제 : Database - DDL 대 DML 🌱 DDL 대 DML SQL에서 DDL ( Data Definition Language)과 DML ( Data Manipulation Language) 의 차이점을 이해하는 것은 데이터베이스를 효과적으로 관리하고 조작하는 데 중요합니다. 이 기사에서는 이 두 가지 필수 SQL 명령의 주요 차이점을 자세히 살펴보고 이를 사용하여 데이터베이스 성능을 최적화하는 방법을 보여줍니다. 따라서 SQL을 처음 접하는 사람이든 노련한 전문가이든 관계없이 이 기사는 데이터베이스 관리 기술을 향상시키려는 사람이라면 반드시 읽어야 할 문서입니다. 시작하자! DDL 이란 무엇입니까? DDL ( Data Definition Language)은 SQL(Structured ..

Database

UNIQUE 삭제 후 다시 설정하기.

🌳 해결 방법 🌾 원인 : 좋아요 기능 만드는 중 필드명이 잘못 된 것을 보고 변경 했으나 unique도 다시 설정해야 하는 것을 발견! 🌾 해결 방법 : 기존 unique 를 삭제 후 다시 설정하기. - 첫번째 줄 : unique 삭제. - 두번째 줄: unique 설정.

Database

Mysql Query - SELECT문

🌱 오늘의 주제 : Mysql Query - SELECT문 🌱 Mysql Query - SELECT문 예시 select * from `entrant`; # group by - 그룹화 // 중복된 이름 제거. -- 동명이인들을 그룹으로 묶는다. (중복 제거된 효과) , 한 그룹에 중복이름이 그룹으로 묶여있는 것임. 즉 주머니가 생긴것, 중복이름 숨겨있다.. select `name` from `entrant` group by `name`; # distinct - 중복제거 -- 동명이인이 있을 경우, 한 사람만 남기고 제거한다. (진짜 중복 제거) select distinct `name` from `entrant`; # 자격증 종류(중복 제거) select `license` from `entrant` grou..

Database

Database - 테이블 JOIN

🌱 오늘의 주제 : 테이블 JOIN 🌱 테이블 JOIN key값이 연결되어 있는 N개의 테이블의 데이터를 합쳐서 한번에 가져오는 문법 JOIN 방식은 LEFT JOIN, RIGHT JOIN, INNER JOIN 3가지가 있다. JOIN 방식을 명시하지 않으면 기본적으로 INNER JOIN이 된다. 조인 문법 예제 SELECT 테이블명1.*, 테이블명2.* FROM 테이블명1 JOIN 테이블명2 ON 테이블명1.id = 테이블명2.Id [where 조건] 🌱 INNER JOIN key값이 같은 데이터가 조인되는 모든 테이블에 존재할 경우에만 두 테이블의 결과를 가져온다. 즉 모든 테이블의 교집합 🌱 LEFT JOIN(OUTER) 맨 좌측 테이블은 전체가 출력되며, 맨 좌측 테이블을 제외한 테이블들은 데이터..

Database

Database - SELECT문과 다양한 문법 (MySQL)

🌱 오늘의 주제 : SELECT문과 다양한 문법 (MySQL) 🌱 가져올 데이터의 개수 제한하기 - LIMIT 처음부터 50개만 가져오기 SELECT * FROM 테이블명 [WHERE 조건] LIMIT 50 100개 이후부터(101번째 부터) 50개 가져오기 SELECT * FROM 테이블명 [WHERE 조건] LIMIT 100, 50 🌱 특정 문자가 들어간 데이터 찾기 - LIKE %로 시작되는 경우 index 조회가 아닌 Full scan이 되므로 사용하지 않는게 좋다. A%로 조회하면 A로 시작하는 데이터로 범위가 좁혀지므로 range scan이 된다. 이름이 A로 시작하는 데이터 찾기 SELECT * FROM 테이블명 WHERE `name` LIKE `A%` 이름에 A가 들어가는 데이터 찾기 - ..

Database

Database - Query (MySQL)

🌱 오늘의 주제 : Query (MySQL) 🌱 INSERT 한 행 추가 INSERT INTO 테이블명(컬럼명1, 컬럼명2, 컬럼명3, ...) VALUE (값1, 값2, 값3, ...) 또는 INSERT INTO 테이블명(컬럼명1, 컬럼명2, 컬럼명3, ...) VALUES (값1, 값2, 값3, ...) 한번에 여러행 추가 INSERT INTO 테이블명(컬럼명1, 컬럼명2, 컬럼명3, ...) VALUES (값1, 값2, 값3, ...), (값1, 값2, 값3, ...), (값1, 값2, 값3, ...) sample INSERT INTO `user` ( /*`id`, auto increment이므로 추가하지 않는다.*/ `name`, `yyyymmdd`, `hobby`, `introduce`, /* ..

Database

Database - MySQL Workbench 프로그램 사용법

🌱 오늘의 주제 : MySQL Workbench 프로그램 사용법 🌱 Database 접속 로컬 서버에 세팅된 127.0.0.1:3306 서버에 접속한다. 🌱 DB 선택 좌측 Navigator에 스키마가 정의 되어 있는데 그 중 sample DB인 sakila를 선택한다.(더블 클릭) 테이블의 목록이 보인다. 🌱 테이블 스키마(설계 정보) 조회 film 테이블의 스키마(Schema)를 조회해보자. 아래 쿼리를 블록 잡고 번개 모양 또는 Ctrl + Enter desc `film`; 🌱 테이블 데이터 조회 film 테이블의 내용을 조회해보자. 아래 쿼리를 블록 잡고 번개 모양 또는 Ctrl + Enter select * from `film`;

Database

Database - 테이블 생성/삭제/수정 (MySQL)

🌱 오늘의 주제 : Database - 테이블 생성/삭제/수정 (MySQL) 🌱 자주 쓰는 MySQL 자료형(Data Type) 종류 🌱 DB 생성하기 쿼리문 CREATE database 데이터베이스명; workbench 🌱 테이블 생성하기 테이블의 스키마를 정의한다. CREATE TABLE `lectureList` ( `id` int NOT NULL AUTO_INCREMENT primary key, `lectureId` int NOT NULL, `order` int NULL DEFAULT 0, `subject` varchar(255) NOT NULL, `userId` int NOT NULL, `author` char(20) NOT NULL, `md` text, /* NULL 가능 */ `onlyMate..

Database

Database - INDEX란?

🌱 오늘의 주제 : Database - INDEX란? 🌱 Database - INDEX란? 데이터를 빠르게 조회하기 위한 Key 개념 WHERE 절에서 자주 조회되는 컬럼을 index로 등록하면 조회가 빨라진다. 특정 컬럼 또는 여러 컬럼을 묶어 INDEX로 등록할 수 있다. 여러 컬럼을 묶은 INDEX: 복합 INDEX 또는 복합키 데이터가 insert 될 때, 인덱스 데이터도 따로 저장 된다.(인덱스가 너무 많으면 입력 속도 느려지고 용량 차지) 🌱 InnoDB의 인덱스 구조 MySQL의 스토리지 엔진인 InnoDB의 경우 B+Tree 자료구조로 구성되어 있다.(B-Tree의 확장 개념) - 균형 트리 - 복잡도: O(LogN) 🌱 INDEX의 종류 🌱 인덱스는 언제 사용하는가? WHERE절에서 조회..

요가하는 개발자
'Database' 카테고리의 글 목록