본문 바로가기

DBMS

DBMS 2일 차

환경 설정

최하단 부분에 추가.

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8

https://github.com/naver/d2codingfont/releases

 

Releases · naver/d2codingfont

D2 Coding 글꼴. Contribute to naver/d2codingfont development by creating an account on GitHub.

github.com

다운받기
이것만 다운


데이터베이스 생성, 삭제, 사용

  • CREATE DATABASE DB이름;
  • DROP DATABASE DB이름;
    • DROP DATABASE IF EXISTS DB이름;
      (입력한 DB이름의 DATABASE가 있을 경우 삭제)
  • USE DB이름;


테이블 생성, 구조확인, 삭제

  • CREATE TABLE 테이블이름 (
    컬럼명 데이터타입 조건,
    컬럼명 데이터타입 조건,
    ...
    컬럼명 데이터타입 조건
    );
  • DESC 테이블이름;
  • DROP TABLE 테이블이름;
    • DROP TABLE IF EXISTS 테이블이름;
      (입력한 테이블이름의 테이블이 있을 경우 삭제)


데이터 타입 종류

  • 문자형
    • CHAR() : 특정 문자열 개수를 지정할 때(ex. CHAR(10) = 10자리 문자열)
    • VARCHAR() : 가변길이의 문자열을 저장할 때, 최대 길이를 지정
    • TEXT : 가변길이를 크게 정하고 싶을때 VARCHAR로 해도 되지만 보통 TEXT를 사용함
  • 숫자형
    • BOOL : 0은 false, 0이 아닌 값은 true로 간주하는 논리형 데이터, TINYINT(1)로 대체하여 사용하는 것을 권장함
    • INT : 숫자에 사용되는 데이터 타입, 정수형
    • TINYINT : INT보다 작은 숫자에 사용되는 데이터 타입, 정수형
    • DECIMAL : 숫자에 사용되는 데이터 타입, 소수점 저장 가능
  • 날짜형
    • DATE : 날짜를 표현하는 테이터 타입, 1000-01-01 ~ 9999-12-31
    • DATETIME : 날짜와 시간을 같이 나타내는 데이터 타입, 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59
    • TIMESTAMP : 날짜와 시간을 같이 나타내는 데이터 타입, 1970-01-01 00:00:00 ~ 2037-01-19 03:14:07, INSERT와 UPDATE 연산에 유리함
    • TIME : 시간을 표현하는 데이터 타입
    • YEAR : 연도를 나타내는 데이터 타입, 1901~2155

제약조건

  • NOT NULL : 값이 꼭 입력되어야 할 때 사용함. NULL을 허용하지 않음
  • PRIMARY KEY : 기본키를 지정할 때 사용, 테이블 당 한개의 기본키만 생성 가능
  • UNIQUE : 해당 컬럼에 중복 값을 허용하고 싶지 않을 때 사용
  • FOREGIN KEY : 외래키를 지정할 때 사용
  • UNSIGNED : 부호를 사용하지 못하게 하는 조건(음수 금지)
  • AUTO_INCREMENT : 자동 넘버링
  • DEFAULT : 값이 없는 상태로 입력되면 디폴트에 지정된 값으로 입력됨

테이블 수정

  • ALTER TABLE 테이블이름 ADD COLUMN 컬럼명 데이터타입 제약조건;
  • ALTER TABLE 테이블이름 ADD COLUMN 컬럼명 데이터타입 제약조건 AFTER 컬럼명;
  • ALTER TABLE 테이블이름 DROP COLUMN 컬럼명;
  • ALTER TABLE 테이블이름 MODIFY COLUMN 컬럼명 데이터타입 제약조건;


데이터 삽입

  • INSERT INTO 테이블이름 (열1, 열2, ...) VALUES (값1, 값2, ...);
  • INSERT INTO 테이블이름 VALUES (값1, 값2, ...);
  • INSERT INTO 테이블이름 SET 열1 = 값1, 열2 = 값2 ...;

1번 방식
2번 방식
3번 방식

 


데이터 조회, 정렬

*은 전체를 의미함

  • SELECT 컬럼명, 컬럼명... FROM 테이블이름;
  • SELECT * FROM 테이블이름;
  • SELECT * FROM 테이블이름 ORDER BY 컬럼명 ASC(DESC); //ASC는 디폴트 값이기 때문에 생략가능.


실제로 사용이 자주 되는 것들

SELECT DISTINCT(컬럼명) FROM 테이블명 : 중복된 값을 제거해서 보여줌

SELECT COUNT(컬럼명) FROM 테이블 명 : 값이 몇개 정도 들어가 있는가.

(단 null은 카운트 해주지 않는다!)

'DBMS' 카테고리의 다른 글

DBMS 3일 차  (0) 2022.06.16
DBMS 1일 차  (0) 2022.06.09