이제 테이블을 직접 만들어 보자. 생활코딩님의 예시를 들어 설명해보겠다!
CREATE TABLE topic (
id INT(11) NOT NULL AUTO_INCREMENT,
title VARCHAR(100) NOT NULL,
description TEXT NULL,
created DATETIME NOT NULL,
author VARCHAR(30) NULL,
profile VARCHAR(100) NULL,
PRIMARY KEY(id)
);
id라는 컬럼을 만들었다. SQL같은 경우는 컬럼의 자료형을 정해줄 수 있다.
타입에 대한 정보는
https://www.w3schools.com/sql/sql_datatypes.asp
위 사이트에서 데이터타입들을 찾아볼 수 있다.
id INT(11) NOT NULL AUTO_INCREMENT
해당 줄의 의미는 INT형의 자료형을 11개까지 표시하고, 비워져있으면 안되며, 자동으로 1씩 증가하게 설정했다는 뜻이다.
그럼 두번째 컬럼을 지정해 보자.
title VARCHAR(100) NOT NULL,
VARCHAR는 variable char로 변할 수 있는 문자열이란 의미이다.
위처럼 생성하면 만약 1000글자가 입력되어도 100글자에서 끊기게 된다.
같은 원리로 칼럼들을 쭉쭉 생성해보자.
마지막에
PRIMARY KEY(id)
가 있다.
해당 key의 의미는 성능과 중복에 의의가 있다.
우리는 id컬럼을 각 행의 식별자로 사용되고 싶기에 중복되면 안될 것이다. 이를 막아줄 수 있는 기능이다.
이처럼 topic이라는 표를 만들어냈다.
위 명령어로 표 상태를 체크할 수 있다.
CREATE
INSERT INTO topic (title,description,created,author,profile)
VALUES('MySQL','MySQL is...',NOW(),'mingyu','developer');
하나의 행이 추가된 것을 알 수 있다.
추가를 두번 한 후에
READ
SELECT * FROM topic;
으로 모든 행을 찾아보면 위와같이 표에 입력된 것을 확인할 수 있다.
만약 위처럼 데이터를 조금 추가하였을때
SELECT id,title,created,author FROM topic;
다음처럼 검색하면 해당 열만 추출해내는것이 가능하다.
WHERE을 사용하면 필터기능을 통해 원하는 부분만 추출하는것도 가능하다.
SELECT id,title,created,author FROM topic WHERE author='mingyu'
ORDER을 통해 정렬하는것도 가능하다. DESC 를통해 내림차순으로 바꿀 수 있다.
SELECT id,title,created,author FROM topic WHERE author='mingyu' ORDER BY id DESC;
만약 데이터가 너무나도 많으면 데이터를 가져올때 제약이 걸리거나 cmd가 멈출 수 있다.
이런 경우 LIMIT를 사용하여 나오는 개수를 조절할 수 있다.
SELECT id,title,created,author FROM topic WHERE author='mingyu' ORDER BY id DESC LIMIT 2;
SELECT만 가지고도 정말 많은 기능을 할 수 있지만 해당부분은 필요할때 더 깊게 공부해야할 것 같다.
UPDATE
업데이트 또한 단순하게 할 수 있다. 주의할점은 WHERE을 꼭 생각해야 할것. 그렇지 않으면 모든 시트가 변경될 수 있다...
UPDATE topic SET description='change!!', title='im change' WHERE id=2;
DELETE
삭제도 비슷하다!
DELETE FROM topic WHERE id = 5
'BackEnd > DB' 카테고리의 다른 글
06_MySQL : node.js 와의 연결 (0) | 2022.09.13 |
---|---|
05_MySQL : 관계형 데이터베이스 , JOIN (0) | 2022.09.13 |
03_MySQL : 구조 및 생성 (0) | 2022.09.13 |
02_MySQL 설치 (0) | 2022.09.13 |
01_MySQL : 데이터 베이스란 (0) | 2022.09.13 |