티스토리 뷰
게시판 기능을 위해서는 DB도 좀 다룰줄 알아야 할 것 같아서 이거까지 공부하기로.
bitnami를 통해 사용. 서버 스타트는 D:\Bitnami\wampstack-8.1.8-0 의 manager-windows.exe
cmd에서 D:\Bitnami\wampstack-8.1.8-0\mariadb\bin의 mysql -uroot -p 명령어로 실행(root user 권한, 패스워드 입력)
* 실제로 root권한 사용은 위험. 필요한 권한을 부여한 사용자로 이용하자
데이터베이스(database, schema) : 표들을 grouping한 집합
DB Server : 이러한 스키마들의 집합
CREATE DATABASE tutorials; //db 생성
DROP DATABASE tutorials; //db 삭제
SHOW //db 보여주기
USE tutorials; //이후 모든 명령은 해당 DB에서 수행
MySQL Server에 요청하는 컴퓨터언어 : SQL
CREATE TABLE tablename( //tablename인 TABLE 생성
id INT(11) NOT NULL AUTO_INCREMENT, //컬럼이름 id, int 11 length로 제한, 공백X, 중복X자동부여
title VARCHAR(100) NOT NULL, //컬럼이름 title, varchar 100 length, 공백x
description TEXT NULL,
created DATETIME NOT NULL,
author VARCHAR(30) NULL,
profile VARCHAR(100) NULL,
PRIMARY KEY(id)); //프라이머리 키는 id
SHOW TABLES;
tutorials이라는 database안에 topic이라는 table 하나가 존재한다는 것을 확인 가능
물론 이전에 USE tutorials;이라는 명령어를 통해 db를 tutorials로 옮긴 상태이다.
DESC tablename;
이렇게 확인 가능하다.
INSERT INTO tablename(title,description,created,author,profile)
VALUES('MySQL', 'MySQL is...', NOW(), 'ash', 'developer');
해당 table의 작성할 column 이름을 먼저 나열하고, VALUES()를 통해 차례로 값을 넣어준다. created의 경우는 NOW() 함수를 통해 현재시각을 반영한다. 참고로 id는 auto_increment를 통해 자동으로 중복되지않게 부여하기떄문에 적지 않는다.
SELECT * FROM tablename;
해당 table 로부터(FROM) 모두(*) 검색한다(SELECT)
잘 입력된 것을 확인할 수 있었다.
SELECT의 다양한 옵션들
https://dev.mysql.com/doc/refman/8.0/en/select.html
MySQL :: MySQL 8.0 Reference Manual :: 13.2.10 SELECT Statement
13.2.10 SELECT Statement SELECT [ALL | DISTINCT | DISTINCTROW ] [HIGH_PRIORITY] [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] select_expr [, select_expr] ... [into_option] [FROM table_referenc
dev.mysql.com
UPDATE tablename SET author='esca',title='Oracle',descrption='Oracle is...' WHERE id=2;
해당 table에서 author를 esca, title은 Oracle, description은 Oracle is...로 업데이트하되, 조건은 id가 2인 row만 해당한다.
DELETE FROM tablename WHERE id = 5;
해당 table에서 id가 5인 조건에 해당하는 row를 삭제하라
'■ FE 로드맵 > ◻ WEB 기초' 카테고리의 다른 글
Web Event를 javscript로 제어하기 (0) | 2022.07.27 |
---|---|
javascript로 html과 상호작용하기 (0) | 2022.07.27 |
javascript 백준 기초 (0) | 2022.07.20 |
Node.js 겅부 (0) | 2022.07.13 |
CSS 겅부 (0) | 2022.07.13 |