ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [PHP] DB 기초, 게시물 테이블 만들기
    Web/PHP 2020. 7. 22. 22:06

    MySQL SQL 종류

    • 데이터베이스

      • 생성 : CREATE DATABASE a1;

      • 삭제 : DROP DATABASE IF EXISTS a1;

      • 조회 : SHOW DATABASES;

    • 테이블

      • 생성 : CREATE TABLE article (id INT(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, regDate DATETIME NOTN ULL, title CHAR(200) NOT NULL, `body` TEXT NOT NULL);

      • 삭제 : DROP TABLE article;

      • 조회 : SHOW TABLES;

      • 수정 : ALTER TABLE article ADD COLUMN id CHAR(20) FIRST;

      • 수정 : ALTER TABLE article DROP COLUMN id;

      • 수정 : ALTER TABLE article MODIFY COLUMN id id CHAR(20) AFTER regDate;

    • 데이터

      • 생성 : INSERT INTO article SET regDate = NOW(), title = '제목 1', `body` = '내용 1';

      • 수정 : UPDATE article SET title = '새 제목 1' WHERE id = 2;

      • 삭제 : DELETE FROM article WHERE id = 1;

      • 조회 : SELECT * FROM article;

     

    쿼리 실행 방

    드래그하거나 shift + home 키를 눌러 선택한 후 f9를 누르면 실행된다.

     

    쿼리 실행 예제

    실행 전 mySQL을 켜야 한다. 당연하지만..

    (#는 주석)

    # 전체 데이터베이스 리스팅

    SHOW DATABASES;

     

     

    # `mysql` 데이터 베이스 선택

    USE mysql;

     

    # 테이블 리스팅

    SHOW TABLES;

     

    # 특정 테이블의 구조

    DESC db;

     

    # `test` 데이터 베이스 선택

    USE test;

     

    # 테이블 리스팅

    SHOW TABLES;

     

    # 기존에 a1 데이터베이스가 존재 한다면 삭제

    DROP DATABASE IF EXISTS a1;

     

    # 새 데이터베이스(`a1`) 생성

    CREATE DATABASE a1;

     

     

    # 데이터베이스(`a1`) 선택

    USE a1;

     

     

    # 데이터베이스 추가 되었는지 확인

    SHOW DATABASES;

     

    # 테이블 확인

    SHOW TABLES;

     

    # 게시물 테이블 article(title, body)을 만듭니다.

    # VARCHAR(100) => 문자를 100자까지 저장가능

    # text => 긴 글, 문자를 많이 저장가능

    CREATE TABLE article(

        title CHAR(200),

        `body` TEXT

        

    );

     

    # 잘 추가되었는지 확인, 리스팅과 구조까지 확인

    USE a1;

    SHOW DATABASES;

    SHOW TABLES;

    DESC article;

     

     

    # 데이터 하나 추가(title = 제목, body = 내용)

     

    INSERT INTO article

    SET title = '제목',

    `body` = '내용';

     

    # 데이터 조회(title 만)

    SELECT title

    FROM article;

     

    # 데이터 조회(title, body)

    SELECT title, `body`

    FROM article;

     

    # 데이터 조회(body, title)

    SELECT `body`, title

    FROM article;

     

    # 데이터 조회(*)

    SELECT *

    FROM article;

     

     

    # 데이터 또 하나 추가(title = 제목, body = 내용)

    INSERT INTO article

    SET title = '제목',

    `body` = '내용';

     

    # 데이터 조회(*, 어떤게 2번 게시물인지 알 수 없음)

    SELECT * FROM article;

     

    # 테이블 구조 수정(id 칼럼 추가, first)

    ALTER TABLE article ADD COLUMN id INT(10) FIRST;

     

    # 데이터 조회(*, id 칼럼의 값은 NULL)

    DESC article;

    SELECT * FROM article;

     

     

    # 기존 데이터에 id값 추가(id = 1, id IS NULL)

    UPDATE article SET id = 1 WHERE id IS NULL;

     

    # 데이터 조회(*, 둘다 수정되어 버림..)

    SELECT * FROM article;

     

    # 기존 데이터 중 1개만 id를 2로 변경(LIMIT 1)

    UPDATE article SET id = 2 WHERE id = 1 LIMIT 1;

     

    # 데이터 조회(*)

    SELECT * FROM article;

     

    # 데이터 1개 추가(id = 3, title = 제목3, body = 내용3)

    INSERT INTO article

    SET id = 3,

    title = '제목3',

    `body` = '내용3';

     

    # 데이터 조회(*)

    SELECT * FROM article;

     

    # 2번 게시물, 데이터 삭제 => DELETE

    SELECT *

    FROM article

    WHERE id = 2;

     

    DELETE FROM article WHERE id = 2;

     

    # 데이터 조회(*)

    SELECT * FROM article;

     

    # 날짜 칼럼 추가 => regDte DATETIME

    ALTER TABLE article ADD COLUMN regDate DATETIME AFTER id;

     

    # 테이블 구조 확인

    DESC article;

     

    # 데이터 조회(*, 날짜 정보가 비어있음)

    SELECT * FROM article;

     

    # 1번 게시물의 비어있는 날짜정보 채움(regDate = 2018-08-10 15:00:00)

    UPDATE article SET regDate = '2018-08-10 15:00:00' WHERE id = 1;

     

    # 데이터 조회(*, 이제 2번 게시물의 날짜 정보만 넣으면 됩니다.)

    SELECT * FROM article;

     

    # NOW() 함수 실행해보기

    SELECT NOW();

     

    # 3번 게시물의 비어있는 날짜정보 채움(NOW())

    UPDATE article SET regDate = NOW() WHERE id = 3;

     

    # 데이터 조회(*)

    SELECT * FROM article;

    게시물 테이블 만들기 예제

    SHOW DATABASES;
    #데이터베이스 목록을 보겠다.


    CREATE DATABASE blog;
    # blog라는 이름을 가진 데이터베이스를 만들겠다.

    USE blog;
    #방금 만든 데이터베이스를 선택하겠다.


    SHOW TABLES;
    # 데이터베이스 안의 테이블들을 확인하겠다.

    CREATE TABLE article(
        id INT(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
        regDate DATETIME NOT NULL,
        title CHAR(100) NOT NULL,
        `body` TEXT NOT NULL
    );

    # 테이블 생성
    # int = 정수, datetime = 날짜, char = 문자, 100자까지 들어갈 수 있음, text = 긴 글
    # primary key = 중복을 허용하지 않음
    # auto_increment = 자동으로 번호 삽입

    DROP TABLE IF EXISTS article;
    # 테이블 삭제 시 실행할 명령어

    테이블 생성 결과 화면

    데이터베이스는 폴더, 

    테이블은 엑셀 파일으로 비유하여 생각하면

    이해하기 쉽다.

Designed by Tistory.