[MySQL] 2편 테이블 생성, CREATE TABLE, INSERT 사용하기, SELECT 기초

Hailey·2021년 1월 17일
2

MySQL

목록 보기
2/9

테이블

이제 스키마를 생성했다면, 표를 생성할 준비가 끝났습니다.

만약 이러한 'topic'이라는 이름의 테이블을 생성하고 싶다면 CREATE TABLE과 INSERT 두개의 명령어와 친해져야 합니다.


테이블 생성하기 : CREATE TABLE

일단 테이블 내의 데이터들을 넣기 위해서, CREATE TABLE을 이용하여 테이블의 틀을 만들어야합니다.

column에 어떤 데이터를 넣을지 ( ex. id, title, description ...) column의 이름을 정해주는 것이고, 추가적으로 그 데이터의 datatype은 무엇인지, 다른 필요한 조건은 없는지 표를 생성할 때 정해주는 것입니다.

CREATE TABLE topic(
	id INT(11) NOT NULL AUTO_INCREMENT;
        title VARCHAR(100) NOT NULL;
        description TEXT NULL;
        created DATETIME NOT NULL;
        author VARCHAR(15) NULL;
        profile VARCHAR(200) NULL;
        PRIMARY KEY(id)
 );

위의 테이블을 생성한 예시입니다. 기본적인 틀은 아래와 같습니다.

CREATE TABLE 테이블명(
	컬럼명 데이터타입(보이는 자리수) 조건;
        컬럼명 데이터타입 조건;
        컬럼명 데이터타입 조건;
        PRIMARY KEY(primary key로 정한 컬럼명)
 );

데이터타입 부분에 자주 쓰이는 몇 가지 예시를 알아보겠습니다.

숫자형

날짜형

문자형

모두 외울 필요는 절대 없고, 필요한 상황에서 구글링하여 사용하시면 됩니다.

NOT NULL

not null은 말 그대로 해당 컬럼에는 null값이 들어올 수 없다고 제약조건을 명시하는것 입니다. 위의 테이블에서 id와 title, created는 not null로 정하였기 때문에 이들은 테이블에 데이터를 입력할 때 값을 꼭 넣어주어야 하는 컬럼들입니다.

  • 테이블 생성 이후에 추가하는 방법
  1. not null 추가
alter table 테이블명 modify 컬럼명 int not null; 
  1. not null 해제
alter table 테이블명 modify 컬럼명 int null;

Primary key (=기본키)

Primary key는 한 개 혹은 여러 개의 칼럼으로 테이블 내의 각 행들을 구별하기 위한 목적을 갖고 있습니다.

  • Primary key는 다른 항목과 절대로 중복되어 나타날 수 없는 단일 값(unique)을 가집니다.

  • Primary key는 절대 null(아무런 값이 없는 상태) 값을 가질 수 없습니다.

  • Primary key는 하나 이상의 컬럼이 그룹화 되어 쓰일 수 있습니다. 그룹화 되어서도 Primary key는 하나로 취급되며 하나여야합니다.

  • 테이블 생성 이후에 추가하는 방법

alter table 테이블명 add primary key(컬럼명)

데이터 집어넣기 : INSERT

이제 테이블 생성은 끝이났으므로, 데이터를 집어 넣기 위해서 INSERT를 사용합니다. 다음은 위의 테이블에 데이터를 넣는 예시입니다.

INSERT INTO topic (title, description, created, author, profile) 
VALUES('MySQL', 'MySQL is..', NOW(), 'egoing', 'developer')

INSERT의 기본 틀은 다음과 같습니다.

INSERT INTO 테이블명 (넣고 싶은 컬럼1, 컬럼2, 컬럼3) VALUES ('데이터의 값1', '데이터의 값2', 데이터의값 3)

모든 컬럼의 데이터를 입력할 필요는 없으며, NOT NULL에 해당되는 컬럼들만 명시하여 데이터를 넣어줄 수도 있습니다.

DESC 테이블명

DESC(=Describe) 테이블명을 입력하면 테이블 생성 때 만들어진 테이블의 형태를 볼 수 있습니다.


데이터 보기 : SELECT

이제 만들어진 테이블에서 데이터를 보기 위해서는 SELECT와 친해져야합니다.

간단한 사용법만 이번화에서 다루고 자세한 내용은 다음화에서 다루겠습니다.

SELECT * FROM 테이블명;

*은 모든을 의미하며, 다음 명령을 통해 테이블의 전체 데이터를 볼 수 있습니다.

하지만 지금 같은 경우는 데이터가 5개이기 때문에 빠르게 볼 수 있지만, 데이터가 대부분의 경우 천개, 만개, 10만개가 넘어가기 때문에 테이블 전체를 보는 경우는 없으며, SELECT으로 원하는 컬럼만, WHERE 조건을 걸어서 보는 경우가 많습니다.

원하는 데이터만 SELECT 하기

원하는 컬럼만 볼 수 있는 방법입니다.

SELECT id, title, created, author FROM topic;
SELECT 출력할 컬럼명 FROM 테이블명;

원하는 조건 WHERE 이용하기

SELECT id, title, created, author 
FROM topic WHERE author='egoing';
SELECT 출력할 컬럼명
FROM 테이블명 WHERE 출력할 데이터 조건;

원하는 특정 로우만 볼 수 있는 방식입니다.


profile
Business & Software 💗🌎

0개의 댓글