인프런 Egoing Lee의 DATABASE1&2 - MySql을 듣고 작성하였습니다.
https://www.inflearn.com/course/database-2-mysql-%EA%B0%95%EC%A2%8C/dashboard
mysql> CREATE DATABASE opentutorials;
CREATE TABLE topic[테이블명] (
id[첫번째 column] INT(11) NOT NULL AUTO_INCREMENT,
// id column에 정수형 타입 ➡️ INT, INTEGER
// 데이터를 정수형으로 11자리만 출력 ➡️ INT(11)
// NOT NULL ➡️ 반드시 값이 있어야 함
// AUTO_INCREMENT ➡️ 중복되지 않아야하는 식별자에 적용, 자동으로 +1씩 증가
title[두번째 column] VARCHAR(100) NOT NULL,
// 100글자까지만 문자 출력
description[세번째 column] TEXT NULL,
created[네번째 column] DATETIME NOT NULL,
author[다섯번째 column] VARCHAR(15) NULL,
profile[여섯번째 column] VARCHAR(200) NULL,
PRIMARY KEY(id)
);
➕ PRIMARY KEY
: 각각의 행을 식별할 때 사용하는 가장 중요한 column으로 중복을 방지하는 역할
➕ 발생할 수 있는 에러
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before execution this statement.
➡️ mysql에서 기본 비밀번호를 발급받았을 때, 위험한 명령어를 입력하면 나올 수 있는 에러, SET PASSWORD = PASSWORD('your_new_password');
로 비밀번호 재설정하면 해결!
: Create와 Read의 중요성이 더 높음, 수정과 삭제는 어떤 분야에 있어서는 아주 위험한 행위가 될 수 있음
➕ topic 테이블의 구조도 보기
mysql> DESC topic;
➕ INSERT를 통해 데이터를 테이블에 추가하는 구문
INSERT INTO topic (title,description,created,author,profile) VALUES('MySQL','MySQL is ...',NOW(),'egoing','developer');
title, description, created 순서대로 VALUES값을 입력해주어야 함
➕ topic 테이블에서 데이터를 가져오는 구문
SELECT * FROM topic;
➕ 원하는 Column만 SELECT하여 출력
mysql> SELECT id,title,created,author FROM topic;
➕ WHERE문(from 다음에 위치): 필요한 column만 가져올 수 있음
mysql> SELECT id,title,created,author FROM topic WHERE author='egoing';
➕ ORDER BY문(where 다음에 위치): 정렬할 수 있음
mysql> SELECT id,title,created,author FROM topic WHERE author='egoing' ORDER BY id DESC;
➕ LIMIT문(order by 다음에 위치): mysql은 데이터가 1억개까지도 저장가능, 모두 출력하면 에러가 날 수 있기에 개수 제한을 걸어서 출력
mysql> SELECT id,title,created,author FROM topic WHERE author='egoing' ORDER BY id DESC LIMIT 2;
: SELECT문을 잘 사용하면 데이터베이스를 잘 활용할 수 있다!
➕ 데이터 수정
mysql> UPDATE topic SET description='Oracle is ...', title='Oracle' WHERE id=2;
🔺 여기서 WHERE문 빠트리면 모든 데이터 값이 Oracle로 변경되는 재앙이 펼쳐질 수 있으니, Update 기능을 사용할 때는 반드시 유의할 것!
➕ 데이터 삭제
mysql> DELETE FROM topic WHERE id = 5;
🔺 여기서 WHERE문 빠트리면 모든 데이터 삭제되는 재앙이 펼쳐질 수 있으니, Delete 기능을 사용할 때는 반드시 유의할 것!
섹션 3&4 수강완료 🥰