맨날 mysql 명령어 까먹어서 구글링 하는 나를 위한 정리 백업,,,,
mysql 접속
MYSQL -u 유저명 -p 패스워드 -h 호스트
mysql -u root -p 123456 -h localhost
데이터베이스 조회
SHOW DATABASES;
테이블 전체 목록 조회
SHOW TABLES;
테이블 상세정보 조회
DESCRIBE testtable;
EXPLAIN testtable;
두 가지 모두 사용 가능하다.
테이블 내의 데이터 조회
SELECT 컬럼명1, 컬럼명2, .. FROM 테이블명;
SELECT id, name, phone FROM testtable;
SELECT name, phone FROM testtable WHERE phone LIKE '%5678';
SELECT * FROM testtable ORDER BY id DESC;
이 때 ASC: 오름차순, DESC : 내림차순 정렬이다.
데이터 베이스 생성
CREATE DATABASE testdb;
USE testdb;
테이블 생성
CREATE TABLE testtable (
-> id int NOT NULL auto_increment primary key,
-> name VARCHAR(15) NOT NULL,
-> phone VARCHAR(15) NOT NULL
-> );
테이블 내의 데이터 삽입
INSERT INTO 테이블명 [컬럼1, 컬럼2, ...] VALUES (값1, 값2, ...);
INSERT INTO table_name VALUES (1105, '테스트', '대한민국');
INSERT INTO table_name (id, name) VALUES (1105, '테스트');
테이블 컬럼 추가
ALTER TABLE 테이블명 ADD 추가할컬럼명 컬럼타입 DEFAULT 디폴트값
ALTER TABLE 테이블명 ADD COLUMN 추가할컬럼명 컬럼타입 DEFAULT 디폴트값 컬럼위치
ALTER TABLE user ADD level int DEFAULT 1;
ALTER TABLE 'rank' ADD COLUMN 'ranking' INT(10) DEFAULT 0 AFTER 'user_id' // user_id 뒤에 추가
ALTER TABLE 'rank' ADD COLUMN 'ranking' INT(10) DEFAULT 1 FIRST // 테이블 맨 앞에 추가
테이블 내의 데이터 수정
UPDATE 테이블명 SET 컬럼1 = 수정값1 [, 컬럼2 = 수정값2 ...] [WHERE 조건];
UPDATE table_name SET country = '대한민국';
UPDATE table_name SET name = '테스트 변경', country = '대한민국' WHERE id = 1105;
테이블 컬럼명 변경
ALTER TABLE 테이블명 CHANGE 기존컬럼명 변경할컬럼명 컬럼타입
ALTER TABLE user CHANGE socre score int;
테이블 내의 데이터 삭제
DELETE FROM 테이블명 [WHERE 조건];
DELETE FROM table_name;
DELETE FROM table_name WHERE id = 1105;
foreign key 무시하고 강제 삭제
SET foreign_key_checks = 0;
DELETE 관련 명령
SET foreign_key_checks = 1;
전체 삭제
DROP TABLE testtable;
DROP DATABASE testdb;
테이블 컬럼 삭제
ALTER TABLE 테이블명 DROP COLUMN 컬럼명
ALTER TABLE user DROP COLUMN level;