Mysql
개요
데이터베이스 중 하나.
어째서인지 CREATE UNIQUE INDEX IF NOT EXISTS time ON coin_{} (time)
과 같은 명령이 안먹는다. 정신건강을 위해 MariaDB를 쓰자. MariaDB를 쓸 때 HeidiSQL 같은 편의기능도 함께 설치되어 편하다.
설치
설치할 때 root의 비밀번호를 설정한다. 잊지 않게끔 잘 기억해두자.
설치
운영체제 | 설명 | 방법 |
---|---|---|
리눅스 | sudo apt-get install mysql-server | |
윈도우 |
열기
운영체제 | 설명 | 방법 |
---|---|---|
우분투 | 루트권한으로 접근해야 사용할 수 있다.
sudo mysql 을 치면 MySQL모니터에 접근한다. |
|
윈도우 | cmd로 설치파일이 있는 경로로 이동한 후 명령 실행. | mysql.exe -u root -p |
시스템 재부팅
기본명령
MySQL 모니터 안에서 사용하는 명령이다.
명령의 마지막엔 ; 이 붙어야 함에 유의하자.
(대문자, 소문자 구분을 안하던데, 왜 대문자로 치는지 모르겠네;;)
의도 | 설명 | 방법 |
---|---|---|
데이터베이스 보기 | 모니터 안에서. | show DATABASES; |
DB생성 | CREATE DATABASE 데이터베이스이름; | |
DB삭제 | DROP DATABASE 데이터베이스명; | |
DB사용 | use 데이터베이스명; | |
테이블 보기 | SHOW TABLES; |
테이블 만들기
의도 | 설명 | 방법 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
테이블 만들기 | IF NOT EXISTS 조건을 걸어 테이블의 종류를 최신화하는 것도 가능하다. | CREATE TABLE IF NOT EXISTS 테이블명(변수 타입, 변수2 타입2 제한조건, ....) | ||||||||||
테이블 이름 제한 | 실수하기 쉬운 순서대로 나열해 보았다.
|
|||||||||||
테이블 데이터형 종류 |
|
데이터 입력, 제거
의도 | 설명 | 방법 |
---|---|---|
테이블 안에 데이터 입력 | 해당값은 따옴표, 쌍따옴표로 둘러 기입해준다. | insert into 테이블명 values('값', '값2', ...) |
테이블 안의 행 제거 | delete from 테이블명 where '필드명' = '거를 필드'; | |
테이블 안의 행 전체삭제 | delete from 테이블명 |
이외 팁
백업과 복원
DB백업
sql 파일로 백업한다.
mysqldump -u 사용자계정 -p 백업할DB명 > 저장할파일명.sql
'액세스가 거부되었습니다.'라는 문구가 나온다면 일반적으로 해당 경로에 저장이 불가하다는 의미. C:\Users\유저명\Downloads\파일명.sql 따위의 경로를 지정하자.
정상적으로 명령이 기입되면 패스워드를 입력하는 란이 나오고 백업이 진행된다.(용량이 큰 경우 멈춘 것처럼 보인다. 프롬프트 커서는 깜빡이고 있다.)
상황 | 방법 | |
---|---|---|
전체 DB를 한번에 저장하고자 할 때 | DB이름을 넣는 대신 -A옵션을 준다. | |
--extended-insert
DB복구
복구할 때 복구할 DB가 미리 만들어져 있어야 한다.
mysql -u 사용자계정 -p 복구할DB명 < 저장한파일명.sql
정상적으로 명령이 기입되면 백업 때와 동일하게 진행된다. 기존 데이터는 삭제된다.
자잘 팁
sql 직관적으로 보기
HeidiSQL 등의 프로그램을 사용하면 엑셀과 같은 화면으로도 볼 수 있다.