본문 바로가기

MySQL

DataBase, Table 정보 쿼리

[출처] - http://blog.beany.co.kr/archives/433

SHOW

SHOW VARIABLES;
: 서버의 variables(설정사항) 출력
 
SHOW VARIABLES LIKE 'have_inno%';
: 조건에 맞는 variables만 출력
 
SHOW DATABASES;
: database 목록
 
SHOW TABLES;
: 현재DB의 테이블목록(temporary table은 출력하지 않음)
 
SHOW TABLES FROM db명;
: 지정된 db명이 소유한 테이블목록
 
SHOW TABLES LIKE 'mem%';
: 조건에 맞는 테이블목록만 출력
 
SHOW INDEX FROM 테이블명;
: 인덱스 보기
 
SHOW COLUMNS FROM 테이블명;
: 테이블구조(describe 테이블명, explain 테이블명)
 
SHOW TABLE STATUS;
: 현재 DB의 테이블들의 상태(row수, table type, row길이..)
 
SHOW TABLE STATUS from db명;
: 지정된 DB의 테이블들의 상태(row수, table type, row길이..)
 
SHOW CREATE TABLE 테이블명;
: 해당 테이블 생성 sql문 출력


INFORMATION_SCHEMA

SELECT *
FROM   INFORMATION_SCHEMA.TABLES
WHERE  TABLE_SCHEMA = 'db명'
: 현재DB의 테이블목록
 
SELECT *
FROM   INFORMATION_SCHEMA.TABLES
WHERE  TABLE_NAME = '테이블'
: 테이블 정보
 
SELECT *
FROM   INFORMATION_SCHEMA.COLUMNS
WHERE  TABLE_NAME = '테이블'
: 테이블 컬럼 정보
 
SELECT *
FROM   INFORMATION_SCHEMA.VIEWS
: VIEW 정보
 
SELECT TABLE_SCHEMA, COUNT(*)
FROM   INFORMATION_SCHEMA.TABLES
GROUP  BY TABLE_SCHEMA
: 스키마별 테이블 수


RENAME

RENAME TABLE 테이블1 TO 테이블2;
: 테이블명 변경(alter table 테이블1 rename to 테이블2)
 
RENAME TABLE 테이블1 TO 테이블2, 테이블3 to 테이블4;
: rename multiple tables
 
RENAME TABLE db1명.테이블명 TO db2명.테이블명;
: 테이블을 다른 DB로 이동


ALTER

ALTER TABLE 테이블명 COMMENT = '테이블 설명';
: 테이블 코멘트
 
ALTER TABLE 테이블명 ADD 컬럼명 데이터타입;
: 컬럼추가
 
ALTER TABLE 테이블명 DEL 컬럼명;
: 컬럼제거
 
ALTER TABLE 테이블명 MODIFY 컬럼명 컬럼타입;
: 컬럼명에 지정된 컬럼타입의 변경
 
ALTER TABLE 테이블명 CHANGE old컬럼명 new컬럼명 컬럼타입 NOT NULL COMMENT '코멘트';
: 컬럼명 변경 (코멘트)
 
ALTER TABLE 테이블명 ENGINE=InnoDB;
: 테이블 type변경


CREATE

CREATE TABLE 테이블명(..) TYPE=heap MIN_ROWS=10000;
: 10000row를 수용할 수 있을 만큼 메모리할당(heap type이므로)
 
SELECT VERSION();
: MySQL서버버전 출력
 
CREATE TABLE 테이블2 AS SELECT * FROM 테이블1;
: 테이블1과 동일한 테이블 생성(with 데이터, as는 생략 가능)
 
CREATE TABLE 테이블2 AS SELECT * FROM 테이블1 WHERE 1 = 2;
: 테이블1과 동일한 구조의 테이블 생성(without 데이터, 1=2는 0으로 할수도 있다.)