MySQL 기초

Table

Table

데이터가 실질적으로 저장되는 저장소

스키마(schema)란?

테이블에 적재될 데이터의 구조와 형식을 정의 하는 것

테이블 생성

CREATE TABLE table_name (
    칼럼명1 data_type,
    칼럼명2 data_type
)
CREATE TABLE `student` (
    `id`  tinyint NOT NULL ,
    `name`  char(4) NOT NULL ,
    `sex`  enum('남자','여자') NOT NULL ,
    `address`  varchar(50) NOT NULL ,
    `birthday`  datetime NOT NULL ,
    PRIMARY KEY (`id`)
);

테이블 리스트

SHOW tables;

테이블 스키마 열람

DESC `테이블명`

테이블 제거

DROP TABLE `테이블명`

데이터타입

CHAR( ) 0 to 255 고정문자 길이
VARCHAR( ) 0~65535 가변 문자 길이
TINYTEXT 최대 255 문자길이
TEXT 최대 65535 문자길이
BLOB 최대 65535 문자길이
MEDIUMTEXT 최대 16777215 문자길이
MEDIUMBLOB 최대 16777215 문자길이
LONGTEXT 최대 4294967295 문자길이
LONGBLOB 최대 4294967295 문자길이

 

TINYINT( ) -128 ~ 127 정수형
0 ~ 255 정수형, UNSIGNED
SMALLINT( ) -32768 ~ 32767, 정수형
0 ~ 65535, 정수형, UNSIGNED
MEDIUMINT( ) -8388608 to 8388607, 정수형
0 to 16777215 , 정수형, UNSIGNED
INT( ) -2147483648 ~ 2147483647 정수형
0 ~ 4294967295, 정수형, UNSIGNED
BIGINT( ) -9223372036854775808 ~ 9223372036854775807, 정수형
0 ~ 18446744073709551615, 정수형, UNSIGNED.
FLOAT 작은 부동소수점
DOUBLE( , ) 큰 부동소수점
DECIMAL( , )  

 

DATE YYYY-MM-DD.
DATETIME YYYY-MM-DD HH:MM:SS.
TIMESTAMP YYYYMMDDHHMMSS.
TIME HH:MM:SS.

 

ENUM ( ) 정해진 값을 강제
SET  

 

댓글

댓글 본문
  1. ggyuker
    2022.01.10 수강완료
  2. 홍주호
    20.5.26 완료
  3. CREATE DATABASE student;
    USE student;
    CREATE TABLE `student` (
    `id` tinyint NOT NULL ,
    `name` char(4) NOT NULL ,
    `sex` enum('남자','여자') NOT NULL ,
    `address` varchar(50) NOT NULL ,
    `birthday` datetime NOT NULL ,
    PRIMARY KEY (`id`)
    );

    첫번째 학생이란 데이터 베이스 생성
    두번째 학생이란 데이터 베이스 선택
    세번째 위에 주신 코드 '복사 붙여넣기'로 사용
    이 순서로 따라가면 됩니다.
  4. kaonmir
    열심히 공부하고 있어요~~!!!
  5. LOGOS_박형민
    잘 들었습니다
  6. 3년전꺼인데 개웃기네
    ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
    대화보기
    • 다시시작
      완료
    • Min-kyung Kim
      phpmyadmin. 맥환경입니다. 에러메세지와 함께 진행이 되지 않습니다. ㅠㅠ

      #1064 - 'SQL 구문에 오류가 있습니다.' 에러 같읍니다. ('0) NOT NULL , `address` VARCHAR(50) NOT NULL , `birthday` DATETIME NOT NULL , ' 명령어 라인 1)

      CREATE TABLE `mysql`.`student5` ( `id` INT(4) NOT NULL , `name` CHAR(11) NOT NULL , `sex` ENUM(0) NOT NULL , `address` VARCHAR(50) NOT NULL , `birthday` DATETIME NOT NULL , PRIMARY KEY (`id`)) ENGINE = InnoDB COMMENT = 'student'

      - 아.. enum에서 생긴 문제였네요.(아무거나 int로 바꾸었더니 생성되었습니다. 강의대로 입력했지만 '남자','여자'가 사라지거나 입력 자체가 되지 않아 저장이 안되네요.. 그냥 해결책을 찾지 못하고 다음강의로 넘거갑니다.. ㅠㅠ
    • Min-kyung Kim
      복붙하며 잘 따라가다 궁금해서 직접 입력을 해보았습니다. 종종 입력하다보면 오타도 나고 수정도 필요한데 워드랑 다르게 이전 문장이나 단어로 돌아가는 것이 쉽지 않네요. 왼족 방향키로 앞 단어로도 커서가 이동이 안되고, 위 화살표로 당연하지만 윗 문장도 이동이 안되네요. 키보드 화살표 이외에 돌아가는 방법이 있는 건가요? 아니면 메모장 같은 곳에서 입력한 뒤에 복붙으로 진행하는게 보통인건가요?...
    • NamJin Kim
      정확한 이유를 모르겟습니다 안되네요 ㅠㅠ
    • NamJin Kim
      세번째 강의 phpmyadmin 버전이 올라가서 그런지 실습이 안되네요
    • silverline
      감사합니다..^^
    • 감사합니다~ !
    • JustStudy
      고맙습니다
    • lovetoken
      혹시 기존에 있는 table 의 제목을 변경할 수 있는 방법은 없나요?
    • 고맙습니다. 아주 좋은 심화학습이 되었네요^^
      대화보기
      • Luke Lee
        감사합니다.
        대화보기
        • Changsik Jang
          강좌의 내용중에서 char , varchar 가 나옵니다.

          char vs varchar 는 아주 오래전에 정리되어 varchar 를 선호하고 있습니다.

          이글 또한 오래된것이지만 한번 읽어보시길...

          http://hyeonstorage.tistory.com/290

          http://okky.kr......655
        • WayneKing
          아무리 생각해도 난 너를~
        • elsa
          아무리 생각해도 not null을~♬
        • 조신부리
          감사합니다
        • 육점이
          감사합니다.!!!!
        • Soori
          버전이 올라가서 그런건지 문법이 좀 바뀌었어요. 변수는 ' ' 생략해야 해요. 그러니깐...
          CREATE TABLE student (
          id tinyint NOT NULL ,
          name char(4) NOT NULL ,
          sex enum('남자','여자') NOT NULL ,
          address varchar(50) NOT NULL ,
          birthday datetime NOT NULL ,
          PRIMARY KEY (id)
          );
          value는 그냥 ' ' 붙이는 거구요..
        • 나무마루
          ; 콜론 붙여야하는 것 같습니다. ; 콜론 안 붙이니깐 화살표만 뜨던데요?
          대화보기
          • 샤핀
            감사합니다. ^^
          • 샤핀
            DESC `테이블명` - > DESC `테이블명`;
            DROP TABLE `테이블명` -> DROP TABLE `테이블명`;

            둘다 ; 콜론 붙여야 되는 거 아닌가요?
          • cloud9osh
            다음 강좌 보니 답글에 해결방법이 있었네요....;;
            set names euckr;

            위 명령어를 실행하고 나니 제대로 되었습니다~~^^
          • cloud9osh
            저는 bitnami를 설치해서 사용중인데요.
            mysql monitor에서 한글 입력 문제가 발생합니다.
            cmd창에서 mysql monitor를 사용하면 sex의 enum(' 다음의 한글이 깨져서 그런지
            DESC student로 조회했을때 Type에 enum(' 까지만 들어가 있네요.

            phpMyAdmin을 사용하여 입력하면 phpMyAdmin상에서는 잘 입력됩니다만,
            phpMyAdmin에서 만든 table을 다시 mysql monitor에서 조회를 해보면 이번에는
            enum('?6옄','?b옄') 이렇게 한글이 깨진채로 입력이 된 것처럼 나옵니다.

            mysql monitor에서 제대로 한글이 표현되고 입력되려면 어떻게 하면 좋을까요?~~^^
          • egoing
            어이쿠 제가 실수 했네요. 수정했습니다.
            그리고 아래의 링크가 도움이 될 것 같습니다.
            http://ra2kstar.tistory.com/82
            대화보기
            • DBChobo
              VARCHAR는 최대 255가 아니라고 알고 있습니다.

              VARCHAR(n)

              최대 n 까지(<=65535)

              라고 라고 알고 있습니다. TEXT랑 다른점이 있나요?
            • egoing
              예 맞습니다. 수정했습니다. 알려주셔서 감사합니다. :)
              대화보기
              • 건꼬
                "테이블 리스트"에서
                "SHOW TABLES;"가 아닌가요??
              • Chris
                좋은 강의 오늘도 들어봅니다.
              버전 관리
              egoing
              현재 버전
              선택 버전
              graphittie 자세히 보기