반응형
Intro
안녕하세요, 이번에 MySQL을 공부할 일이 생겨서, 정리한 내용 공유할 겸 글을 써보겠습니다.
명령어는 검은색, 변수 이름은 파란색으로 표시했습니다.
DB 및 TABLE 조회
- CREATE DATABASE database-name; - DATABASE 생성
- SHOW DATABASES; - 생성되어 있는 DATABASE 조회
- SELECT DATABASE(); - 현재 사용중인 DATABASE 확인
- USE database-name; - 사용할 DATABASE 선택
- SHOW TABLES; - 현재 DATABASE의 TABLE확인
- DESC table-name; - 특정 TABLE의 scheme 확인
TABLE 관리
TABLE 생성
- CREATE TABLE IF NOT EXISTS table-name (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
str1 VARCHAR(20), ## 20자리 가변 문자열 (메모리 효율 good, 속도 bad)
str2 CHAR(1), ## 1자리 고정 문자열 (메모리 효율 bad, 속도 good)
int1 INT(5), ## 5자리 정수
date1 DATE); ## yyyy-mm-dd
A. 그 외 자료형: BOOL, DECIMAL, FLOAT, REAL, DOUBLE 등
B. 정확한 소수점 저장을 위해서는 DECIMAL사용 (고정소수점) - MySQL constraints 종류
A. NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK, DEFAULT - 다른 테이블 값 복사
CREATE TABLE IF NOT EXISTS new-table-name
AS SELECT * FROM table-name;
TABLE 삭제
- DROP TABLE IF EXIST table-name;
TABLE 수정
- ALTER TABLE IF EXIST table-name [수정 내용];
Instance 추가
- 모든 변수에 대해서 추가
INSERT INTO table-name VALUES (NULL, "apple", "melon",100, '2012-04-14'); - 특정 변수에 대해서만 추가 (나머지는 null됨)
INSERT INTO table-name ('id','str1') VALUES (NULL, "apple"); - 여러 개 추가
INSERT INTO table-name VALUES ("apple", "melon",100, '2012-04-14'), ("car", "cat",100, '2012-04-14'), ("ben", "chi",100, '2012-04-14');
Instance 삭제
- DELETE FROM customers ##data를 삭제한 table 선택
WHERE country = 'France' ##삭제할 data의 조건 명시, 안하면 모두 삭제
ORDER BY creditLimit ##삭제 대상 instance를 creditLimit으로 정렬
LIMIT 5; ##creditLimit이 가장 낮은 5개의 instance 삭제
Instance 수정
A. UPDATE table-name
SET [수정 사항]
WHERE [수정 대상];
마무리
사실 이것만 보고는 감을 익히기 어려울 겁니다. 이를 참고해서 MySQL문제를 풀어보시는게 좋을 거 같습니다.
다음에는 본격적인, TABLE에서 정보를 추출하기 위한 Query에 대해서 정리하겠습니다!
References
반응형
'[기타]' 카테고리의 다른 글
[기타 - 유닛 테스트(Unit test)란? (0) | 2021.07.25 |
---|---|
[기타 - 독시젠(Doxygen) 사용법(1)] (0) | 2021.05.31 |
개발자 취업 준비 추천 사이트 (구글, 원티드 ) (0) | 2021.05.23 |
[기타 - Call by value vs Call by reference] (0) | 2021.05.05 |
[MySQL] 기본 명령어(2) - Table 에서 정보 검색하기 (0) | 2021.05.01 |