04_MySQL : 테이블, CURD
BackEnd/DB

04_MySQL : 테이블, CURD

728x90

이제 테이블을 직접 만들어 보자. 생활코딩님의 예시를 들어 설명해보겠다!

 

https://www.youtube.com/watch?v=fPULu-Q-OlQ&list=PLuHgQVnccGMCgrP_9HL3dAcvdt8qOZxjW&index=14

 

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

 

SQL Data Types for MySQL, SQL Server, and MS Access

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com

위 사이트에서 데이터타입들을 찾아볼 수 있다.

 

 

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이라는 표를 만들어냈다.

 

SHOW TABLES;

 

DESC [표이름];

위 명령어로 표 상태를 체크할 수 있다.

 

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

 

 

728x90

'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