Node 강의/숙련

1-4 SQL (Structured Query Language)

kagan-draca 2024. 9. 5. 16:47

1. VSCode를 이용하여 SQL 사용하기

 

1) VSCode를 이용하여 SQL 사전 준비

 

VSCode에서 연결된 MySQL을 우클릭하여 New Query 버튼을 누르고 새로운 Query 파일을 생성한다.

 

 

Query 파일에서 원하는 SQL을 사용할 수 있다!

 

 

2) 데이터 베이스 기본 개념

데이터 베에스는 매우 고도화된 엑셀입니다.

 

엑셀 파일 하나가 "데이터베이스"라면,

엑셀 시트 하나는 "테이블"이라고 부르고,

엑셀 행 하나는 "데이터"라고 부릅니다.

 

3) 데이터 베이스 생성

먼저,

에서 New Query를 눌러줍니다.

 

 

그럼 위와 같은 생성되고,

거기에

 

CREATE DATABASE NodeJS; 

 

을 작성합니다. 그리고

 

Control + ALT + E 를 눌러준 후

 

DataBase를 마우스 우클릭해 Refresh해줍니다.

 

 

그럼 새로운 DataBase가 생긴걸 확인할 수 있습니다.

 

4) 테이블 생성

 

이렇게 생성된 NodeJS DataBase에서 우클릭을 누르고 

"New Query"를 눌러 줍니다.

 

새롭게 생성된 페이지에

 

CREATE TABLE IF NOT EXISTS courses(
    id bigint(5) NOT NULL AUTO_INCREMENT,
    title varchar(255) NOT NULL,
    tutor varchar(255) NOT NULL,
    PRIMARY KEY(id)
)

 

같이 작성하고, Control + Alt + E를 눌러줍니다.

그리고, 

 

 

해당 DB를 "Refresh" 해줍니다.

 

정의된 정보들을 보면,

 

CREATE TABLE IF NOT EXISTS courses(

 

(중요)"CRATE TABLE"로 TABLE 생성명시해줍니다.

이때, 생성될 테이블은 IF NOT EXISTS 존재하지 않으면 생성해줄겁니다.

 

테이블의 이름을 "courses"로 지정해줍니다.

 

id bigint(5) NOT NULL AUTO_INCREMENT,

 

(중요)

id는 bigint 자료형 5개 생성으 int 자료형보다 큰 용량의 정수형 자료정의해주고,

        (bigint : 8 바이트, int : 4바이트)

 NOT NULLNULL 값이 불가능하다는 것을 지정AUTO_INCREMENT

데이터가 들어오면 1씩 자동 증가하게 만들어줬습니다.

 

title varchar(255) NOT NULL,
tutor varchar(255) NOT NULL,

문자형 자료형으로 길이255이면서, NULL 불가능하게 만들어줬습니다.

     (문자형 자료형 길이 : 0 ~ 255)

PRIMARY KEY(id)

 

관계형 데이터 베이스는 PRIMARY KEY라는

기본키가 있어야 하는데 기본키를 id로 설정해줍니다.

 

(중요)이때, 기본키NOT NULL이면서 중복된 자료형이 발생하지 않는 값(field, colum)이여야 합니다.

(id는 데이터가 들어올 때 마다 1씩 증가할거라 중복이 발생할 수 없다)

 

5) 데이터 삽입

다시 해당 DB를 오른 쪽 클릭해서,

new Query를 생성해줍니다.

(모르겠으면 위의 new Query 생성 참고하세요)

 

그리고,

 

INSERT INTO courses(title, tutor) VALUES
('Spring 기초반', 'AAA'),
('Spring 숙련반', 'AAA'),
('React 기초반', 'BBB'),
('React 숙련반', 'BBB'),
('Node.js 기초반', 'CCC'),
('Node.js 숙련반', 'CCC'),
('웹개발 종합반', 'DDD'),
('웹개발 종합반 플러스', 'DDD');

 

코드를 작성해주고 Control + Alt + E 눌러 저장해줍니다.

다시, Refresh 해주고 Table을 오른쪽 클릭해 "Select Top 1000"을 눌러주면

 

위와 같이 데이터들이 테이블에 저장된 것을 볼 수 있습니다.

 

그리고!! id는 자동으로 생성돼 1씩 증가하는 걸 볼 수 있습니다.

 

하지만, 개발자가 원하는 데이터만 조회하고 싶은 경우가

많기 때문에 SELECT 문을 작성해보겠습니다.

 

5) 데이터 조회

 

이제 new Query 생성 방법 아시죠?

 

SELECT * FROM courses;

 

 

입력하고 저장 및 확인해줍니다.

 

 

그 결과,

 

위와 동일하게 결과 창이 새로 생성되고 출력됩니다.

 

코드를 분석해보면

 

SELECT * FROM courses

 

FROM courses로 "courses" 테이블 안에 있는

모든 컬럼(*)에 대해 조회(SELECT) 하겠다는 의미입니다.

 

다른 코드를 변경해 tutor의 데이터가 AAA인 데이터의

title과 tutor 정보면 조회해보겠습니다.

위와 같이,

 

 WHERE tutor LIKE "AAA"

( tutor = "AAA"나 tutor REGEXP("AAA") 도 가능하다)

 

로 AAA인 tutor 데이터에 해당하는

title과 tutor 컬럼을 가져옵니다.

 

 

연습문제

 

name, age라는 열을 가진 user 테이블을 만들고,

나이 이름과 나이 데이터를 삽입해보세요.

그 다음 user테이블을 조회해보세요.