MySQL의 구조
- 정보를 표의 형태로 저장
mySQL 서버 접속
db 서버의 역할
- 자체 보안기능
- 권한(여러 권한을 가진 사용자들이 존재) - shcema/table에 대해 CRUD 각각에 대한 사용자의 권한을 부여/관리할 수 있음
1) Schema 생성
CREATE DATABSE <database name>;
2) Schema 삭제
DROP DATABSE <database name>;
3) 존재하는 Schema Database server 안에서 조회
SHOW DATABSES;
4) 특정 Schema(database) 안으로 이동
USE <databse name>;
테이블 구조 & 테이블 생성
table의 형태 : Column & Row
테이블 생성 예제
CREATE TABLE topic(
id INT(11) NOT NULL AUTO_INCREMENT,
title VARCHAR(100) NOT NULL,
description TEXT NULL,
created DATETIME NOT NULL,
author VARCHAR(15) NULL,
profile VARCHAR(200) NULL,
PRIMARY KEY(id)
);
mysql> source <path to .sql file>
MySQL의 CURD
Insert - 레코드를 삽입하는 명령어
INSERT INTO 테이블명 (컬럼명1, 컬럼명3, ...) VALUES (값1, 값3, ...);
INSERT INTO <table name>(parm1, parm2, ...) VALUES(var1, var2, ...);
select - db 테이블을 보는 명령어
SELECT 컬럼명1, 컬럼명2, .. FROM 테이블명;
SELECT [<column name>] FROM <table name> [WHERE <condition>] [ORDER BY <column name> [HOW]] [LIMIT <number>]
update - 데이터를 업데이트하는 명령어
SET [필드명1] = [수정할값1], [필드명2] = [수정할값2] WHERE [필드명2] = [필드값2] AND [필드명3] = [필드값3]]
UPDATE [LOW_PRIORITY] [IGNORE] table_name
SET assignment list
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]
delete - 레코드를 삭제하는 명령어
DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM table_name
[PARTITION (partition_name [, partition_name] ... )]
[WHERE where_condition]
[ORDER BY ... ]
[LIMIT row_count]
관계형 데이터베이스
기존의 single database로 다룰 수 없는 복잡성을 다룰 때 사용
author 컬럼을 따로 빼서 작성하는 것이 중복 피함
drop - 데이터베이스/테이블 삭제
DROP DATABASE <db_name>
DROP TABLE <tbl_name>
join - 일치하는 id값들을 가진 column을 이용하여 서로 다른 table을 이어줌
SELECT < * | <col_name> > FROM <tbl_name_normal> LEFT JOIN <tbl_name_mapped> ON <col_name_for_JOIN>
'GDSC > 웹기초' 카테고리의 다른 글
[생활코딩] React(1) (0) | 2021.12.21 |
---|---|
[생활코딩] MySQL+Node.js (0) | 2021.11.30 |
[생활코딩] JAVASCRIPT (0) | 2021.11.08 |
[생활코딩]git (0) | 2021.11.02 |
[생활코딩] CSS (0) | 2021.10.12 |