MySQL - 터미널 관련 명령어/DB CRUD 명령어/컬럼 옵션

2021. 12. 19. 21:52· IT/Database
목차
  1. 데이터베이스란?
  2.  
  3. MySQL 관계형 데이터베이스 사용
  4.  
  5. 관련 명령어
  6.  
  7. DB CRUD 명령어
  8. CREATE
  9. READ
  10. UPDATE
  11. DELETE
  12.  
  13. 컬럼에 대한 옵션들
728x90

데이터베이스란?

지금까지는 데이터를 서버 메모리에 저장함 → 서버를 재시작하면 데이터도 사라져버림 → 영구적으로 저장할 공간 필요

 

MySQL 관계형 데이터베이스 사용

  • 데이터베이스: 관련성을 가지며 중복이 없는 데이터들의 집합
  • DBMS: 데이터베이스를 관리하는 시스템
  • RDBMS: 관계형 데이터베이스를 관리하는 시스템
  • 서버의 하드 디스크나 SSD 등의 저장 매체에 데이터를 저장
  • 서버 종료 여부와 상관 없이 데이터를 계속 사용할 수 있음
  • 여러 사람이 동시에 접근할 수 있고, 권한을 따로 줄 수 있음

 

관련 명령어

맥 터미널 기준

brew 통한 MySQL 설치

$ brew install mysql

MySQL 서버 시작

$ brew services start mysql

MySQL 설정

$ mysql_secure_installation

MySQL 접속

$ mysql -u root -p

MySQL 종료

exit

MySQL 서버 종료

$ brew services stop mysql

brew 통한 workbench 설치

$ brew install —cask mysqlWorkbench

데이터 베이스 생성

mysql> CREATE SCHEMA 이름 DEFAULT CHARACTER SET utf8;

데이터 베이스 사용

mysql> use 이름;

DB table 보기

mysql> show databases;

DB table 생성 확인

mysql> DESC users;

table 삭제

mysql> DROP TABLE users;

table 목록

mysql> SHOW TABLES;

 

DB CRUD 명령어

CREATE

INSERT INTO (컬럼) VALUES (값)

mysql> INSERT INRO nodejs.users (name, age, married, comment) VALUES (’zero’, 24, 0, ‘자기소개1’);

READ

SELECT (컬럼) FROM (테이블)

mysql> SELECT * FROM nodejs.users;
→ 모든 컬럼 조회
mysql> SELECT (컬럼1, 컬럼2) FROM nodejs.users;
→ 지정 컬럼 조회

WHERE 조건

## AND : 여러가지 조건을 동시에 만족하는 것을 찾음

### SELECT 컬럼1, 컬럼2 FROM 테이블 WHERE 조건1 AND 조건2;

mysql> SELECT name, age FROM nodejs.users WHERE married = 1 AND age > 30;
→ 결혼 했고, 30살 이상인 name, age의 값을 조회

## OR : 여러가지 조건 중 하나 이상을 만족하는 것을 찾음

### SELECT 컬럼1, 컬럼2 FROM 테이블 WHERE 조건1 OR 조건2;

mysql> SELECT id, name FROM nodejs.users WHERE married = 0 OR age > 30;
→ 결혼 안 했거나, 30살이상인 name, age의 값을 조회

ORDER BY : 특정 컬럼 값 순서대로 정렬 가능

## DESC는 내림차순, ASC 오름차순

mysql> SELECT id, name FROM nodejs.users ORDER BY age DESC;
→ 나이 내림차순으로 테이블 id, name의 값 조회

LIMIT : 조회 개수 제한

mysql> SELECT 컬럼1, 컬럼2 FROM 테이블 ORDER BY 대상컬럼 DESC LIMIT 1;

OFFSET : 앞의 row들 skip 가능 (OFFSET 2 → 3번째 조회)

mysql> SELECT 컬럼1, 컬럼2 FROM 테이블 ORDER BY 대상컬럼 DESC LIMIT 1 OFFSET 1;

UPDATE

UPDATE : 데이터 수정

UPDATE 테이블 SET 컬럼 = 변경값 WHERE 조건

DELETE

DELETE : 데이터 삭제

DELETE FROM 테이블 WHERE 조건

 

컬럼에 대한 옵션들

INT 정수 자료형(FLOAT, DOUBLE은 실수)
VARCHAR 문자열, 자료형, 가변 길이(CHAR은 고정 길이)
TEXT 긴 문자열은 TEXT로 별도 저장
DATETIME 날짜 자료형 저장(날짜 + 시간)
DATE 날짜 저장
TINYINT -128에서 127까지 저장하지만 여기서는 1 또는 0만 저장해 boolean 값 표현
NOT NULL 빈 값은 받지 않는다는 뜻(NULL은 빈 값 허용)
AUTO_INCREMENT 숫자 자료형인 경우 다음 로우가 저장될 때 자동으로 1 증가
UNSIGNED 0과 양수만 허용(음수 불가능)
ZEROFILL 숫자의 자리 수가 고정된 경우 빈 자리에 0을 넣음
⇒ INT(5) ZEROFILL = 2할당 → 00002 결과값 반환

⇒ INT(10) ZEROFILL = 1 할당 → 0000000001 결과값 반환
DEFAULT now() 날짜 컬럼의 기본값을 현재 시간으로
PRIMARY KEY(컬럼명) 고유값
INDEX 검색 속도 빨라짐(자주 사용하는 것에 걸어주는게 좋음
- INDEX commenter_idx (commenter ASC) → 작성자 댓글을 오름차순으로 index 한다
- UNIQUE INDEX name_UNIQUE (name ASC)) → 앞에 UNIQUE 가 붙으면 고유값이 된다? → 고유값인지 검색을 자주하기 때문에 UNIQUE 뒤에 INDEX가 붙는다.
CONSTRAINT 해당 컬럼에 제약 걸어둠
⇒ CONSTRAINT commenter
FOREIGN KEY(컬럼명) 외래키
REFERENCES 참조
⇒ REFERENCES nodejs.users (id) → user 테이블의 id 참조
ON DELETE CASCADE 같이 삭제(1번 사용자가 삭제되면 엮인 댓글도 같이 삭제하냐)
ON UPDATE CASCADE 같이 업데이트

 

728x90
저작자표시 (새창열림)

'IT > Database' 카테고리의 다른 글

Database - SQL vs noSQL  (0) 2021.11.29
  1. 데이터베이스란?
  2.  
  3. MySQL 관계형 데이터베이스 사용
  4.  
  5. 관련 명령어
  6.  
  7. DB CRUD 명령어
  8. CREATE
  9. READ
  10. UPDATE
  11. DELETE
  12.  
  13. 컬럼에 대한 옵션들
'IT/Database' 카테고리의 다른 글
  • Database - SQL vs noSQL
Huitopia
Huitopia
Huitopia
summary
Huitopia
  • 분류 전체보기 (170)
    • IT (156)
      • Java (72)
      • JavaScript (11)
      • TypeScript (4)
      • Node.js (7)
      • Front (10)
      • Database (2)
      • Algorithm (28)
      • etc. (22)
    • Bootcamp (14)
      • WIL (14)

블로그 메뉴

  • GitHub
  • TIL

공지사항

인기 글

태그

  • HTML
  • Method
  • python
  • 스파르타코딩클럽
  • 항해99
  • array
  • CLASS
  • TypeScript
  • Interface
  • Spring
  • jQuery
  • Java
  • 자동타입변환
  • css
  • 인터페이스
  • 상속
  • 웹개발종합반
  • 자바
  • 타입변환
  • 클래스
  • 강제타입변환
  • WEB
  • CodingTest
  • programmers
  • 모던자바스크립트
  • node.js
  • javascript
  • wil
  • 회고록
  • 연산자

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
Huitopia
MySQL - 터미널 관련 명령어/DB CRUD 명령어/컬럼 옵션
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.