百聞 不如一打 [백문이 불여일타]

백번 묻는것 보다 한번 쳐보는게 낫다

DBMS/MySQL

MySQL / 기초 용어 및 명령어 정리

qbj700 2020. 11. 11. 12:59
  • MySQL - SQLyog

    • VARCHAR(200) 과 / CHAR(200) 의 차이 = 할당되는 바이트의 차이 - > 검색속도 차이
    • VARCHAR(200)의 경우 200보다 적은 바이트를 작성하면 그만큼 줄여서 사용가능 -> 검색속도 느림
    • CHAR(200)의 경우 200 보다 적은 바이트를 작성했다고 하더라도 200만큼 바이트 사용 -> 검색속도 빠름

     

  • 제약 조건 (constraint)

    • NOT NULL = 해당 필드는 NULL 값을 저장할수 없다. / CREATE / ALTER

    • UNIQUE = 해당 필드는 서로 다른 값을 가져야 한다. / CREATE / ALTER

    • PRIMARY KEY = 해당 필드는 NOT NULL과 UNIQUE 제약 조건의 특징을 모두 가짐.
      이 제약 조건이 설정된 필드는 NULL 값을 가질 수 없으며, 또한 중복된 값을 가져서도 안됨.
      이러한 PRIMARY KEY 제약 조건을 기본 키라고 함.
      UNIQUE는 한 테이블의 여러 필드에 설정할 수 있지만,
      PRIMARY KEY는 테이블당 오직 하나의 필드에만 설정할 수 있습니다.

    • FOREIGN KEY = 한 테이블을 다른 테이블과 연결해주는 역할.
      조건을 설정할 때 참조되는 테이블의 필드는 반드시
      UNIQUE나 PRIMARY KEY 제약 조건이 설정되어 있어야 함.

    • DEFAULT = 해당 필드의 기본값을 설정.
      만약 레코드를 입력할 때 해당 필드 값을 전달하지 않으면, 자동으로 설정된 기본값을 저장.

  • atuo_increment / CREATE / ALTER

    • CREATE TABLE [테이블명]
      SET [필드명] AUTO_INCREMENT;

    • ALTER TABLE [테이블명] MODIFY COLUMN [필드명] AUTO_INCREMENT;

  • 테이블 컬럼 순서 변경 (MODIFY 대신 ADD 할때도 사용가능)

    • 다른 컬럼 다음으로 이동

    • ALTER TABLE [테이블명] MODIFY COLUMN [필드명] AFTER 다른컬럼;

    • 첫번째 위치로 이동

    • ALTER TABLE [테이블명] MODIFY COLUMN [필드명] FIRST;

  • 컬럼 이름 변경

    • ALTER TABLE [테이블명] CHANGE [기존 필드명] [변경 필드명 - 자료형 포함];
  • 특정 패턴 검색

    • SELECT * FROM [테이블명] ORDER BY [필드명] DESC LIMIT 3;
  • 조회수 가장 많은 게시물 3개 만 보여주세요., 힌트 : ORDER BY, LIMIT

    • SELECT * FROM [테이블명] ORDER BY [필드명] DESC LIMIT 3;
  • 작성자명이 '홍길'로 시작하는 게시물만 보여주세요., 힌트 : LIKE '홍길%'

    • SELECT * FROM [테이블명] WHERE [필드명] LIKE '홍길%';
  • 조회수가 10 이상 55 이하 인것만 보여주세요., 힌트 : WHERE 조건1 AND 조건2

    • SELECT * FROM [테이블명] WHERE [필드명] >= 10 AND hit <= 55;
  • 작성자가 '무명'이 아니고 조회수가 50 이하인 것만 보여주세요, 힌트 : !=

    SELECT *
    FROM [테이블명]
    WHERE [필드명] != '무명'
    AND hit <= 50;

  • 작성자가 '무명' 이거나 조회수가 55 이상인 게시물을 보여주세요. 힌트 : OR

    SELECT *
    FROM [테이블명]
    WHERE [필드명] = '무명'
    OR hit > 55;

반응형