EFUB_STUDY_DATABASE 2주차

Song Chae Won·2023년 3월 18일
0

DATABASE_STUDY

목록 보기
2/19
post-thumbnail
인프런 Egoing Lee의 DATABASE1&2 - MySql을 듣고 작성하였습니다.

https://www.inflearn.com/course/database-2-mysql-%EA%B0%95%EC%A2%8C/dashboard


▶️ MySql 테이블의 생성

  • MySql에서 테이블을 생성하는 방법
mysql> CREATE DATABASE opentutorials;

  • 구글링: mysql sql cheatsheet에 나오는 양식과 예제 활용하여 코드 작성

📝 create table 예제

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');로 비밀번호 재설정하면 해결!

▶️ MySql CRUD

  • Create(생성)
  • Read(읽기)
  • Update(수정)
  • Delete(삭제)

: Create와 Read의 중요성이 더 높음, 수정과 삭제는 어떤 분야에 있어서는 아주 위험한 행위가 될 수 있음

▶️ SQL의 INSERT 구문

  • Create(생성): 데이터 추가

➕ 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;

▶️ SQL의 SELECT 구문

  • Read(읽기): 데이터 읽기

➕ 원하는 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문을 잘 사용하면 데이터베이스를 잘 활용할 수 있다!

▶️ SQL의 UPDATE 구문

  • Update(수정): 데이터 수정

➕ 데이터 수정

mysql> UPDATE topic SET description='Oracle is ...', title='Oracle' WHERE id=2;

🔺 여기서 WHERE문 빠트리면 모든 데이터 값이 Oracle로 변경되는 재앙이 펼쳐질 수 있으니, Update 기능을 사용할 때는 반드시 유의할 것!

▶️ SQL의 DELETE 구문

  • DELETE(삭제): 데이터 삭제

➕ 데이터 삭제

mysql> DELETE FROM topic WHERE id = 5;

🔺 여기서 WHERE문 빠트리면 모든 데이터 삭제되는 재앙이 펼쳐질 수 있으니, Delete 기능을 사용할 때는 반드시 유의할 것!

▶️ EFUB_DATABASE_STUDY_Week2


섹션 3&4 수강완료 🥰

profile
@chhaewxn

0개의 댓글