One_Blog

MYSQL - 데이터베이스와 테이블 생성구문(기초) 본문

웹해킹

MYSQL - 데이터베이스와 테이블 생성구문(기초)

0xOne 2022. 10. 19. 23:13
728x90

우선 이 글을 눌렀다는 것부터, 데이터베이스, MYSQL이 무엇인지 알고있고,

단순히 문법에 관해 알기 위해 왔다고 생각하고 글을 쓰겠다.

MYSQL 구문 시작합니다.

 

데이터베이스에 정보를 저장하기 위해선, 우선 데이터베이스를 만들어야합니다.

 

CREATE DATABASE DB이름;

나의 경우엔 

CREATE DATABASE TOPIC;

명령어를 통해 TOPIC이라는 이름을 가진 데이터베이스를 생성하였다.

이렇게 데이터베이스를 생성한 후엔, 무엇을 만들어야할까?

 

그렇다, 바로 "테이블"을 만들어야 한다.

테이블은, "" 정도로 생각하면 편하다.

테이블(표)를 만들기 위해, 우선 내가 만든 DB안으로 들어가주도록 하겠다.

USE DB이름; 

명령어를 통해서 내가 만든 DB에 접속한다.

나의 경우엔 USE TOPIC; 을 사용하였다.

 

그럼 이제 테이블을 만들어야 하는데, 테이블은 어떻게 만드는 걸까?

DB를 만드는 건 정~말 쉽지만, 테이블을 만드는 건 생각보다 어렵다.

왜냐하면, 테이블은 만들 때 테이블을 구성하는 구성요소를 추가해줘야 하기 때문이다.

테이블의 대략적인 형태는 이러하다.

칼럼(세로줄(열))과 로우(가로줄(행))이 교차하여 테이블을 구성하는 형태이다.

여기서 우리는, 이렇게 테이블을 이룰 칼럼과 로우를 만들어줘야한다.

 

문법부터 알려주자면,

CREATE TABLE 테이블 이름(

 자료이름 자료형(크기) NULL/NOT NULL 기타요소,

 자료이름 자료형(크기) NULL/NOT NULL 기타요소,

.....

...

.

PRIMARY키 지정

);

이러한 형태로 이루어진다.

자료형은 말 그대로 INT, VARCHAR과 같은 자료형을 말하고, 

(크기)는 이 칸에 최대 몇개의 문자를 입력받을 지를 말한다.

 

NULL/NOT NULL은 데이터를 테이블에 삽입할 때 해당 칸을 빈칸으로 둬도 되는지에 관한 여부,

(NULL = 빈칸 가능 / NOT NULL = 빈칸 불가능)

 

기타 요소는 AUTO_INCREMENT와 같은 요소인데,, 해당 요소는 종류가 너무 많기에

자세히 다루지 않겠다.

아마 DB - Table을 만들고, 수정하다보면 자연스레 알게될 것이다.

 

PRIMARY키는 한 개 혹은 여러 개의 칼럼으로 테이블 내의 각 행들을 구별하기 위한 목적을 가진

구성요소이다.

 

나는 INT(10)의 형태를 가진 id / NOT NULL 와 VARCHAR(30) / NOT NULL의 형태를 가진 pw라는 구성요소를 가지고 있는

테이블을 생성해보겠다.

필자가 쓴 구문을 보기전에, 먼저 스스로 테이블을 만들어보길 바란다.

 

테이블 생성 구문은

CREATE TABLE members(

id INT(10) NOT NULL,

pw VARCHAR(30) NOT NULL,

PRIMARY KEY(id)

);

이다.

참고로 MYSQL에서 명령구문을 쓸 때, 꼭 한문장에 모든 요소를 쓸 필요는 없다.

MYSQL에선 ;를 쓰지 않는 이상, 명령어가 끝나지 않았다고 판단하여

다음줄부터 쓰던 명령어를 이어쓸 수 있게 해주기 때문이다.

테이블이 생성되었다는 Query OK 가 떴다면, 구성요소가 제대로 들어갔는지 한번 확인해보자

 

DESC 테이블명;

명령어를 통해 우리가 만든 테이블을 구경할 수 있다.

이렇게 테이블이 잘 만들어진 걸 확인할 수 있다.

내일은  MYSQL의 테이블에 값을 삽입하고, 수정하는 구문에 대해 업로드 해보겠다.