Database/Mysql2012. 1. 17. 17:11

mysql 을 사용하면서 자주 사용되는 mysql 명령어 입니다.
매번 쓰는 명령어만 쓰다보니 mysql 명령어라 해도 자꾸 잊어먹게 되는데요.
그리하여 아주아주 기본(?)적인 mysql 명령어를 정리해볼까합니다.

아래에 있는 mysql 명령어 이외에도 정말 많은 쿼리문이 있습니다.
하지만 자주 사용하는 mysql 명령어 위주로 정리하였습니다.

궁금하신게 있으시면 언제든지 댓글 환영입니다.^^

▷ 데이터베이스 목록 확인
mysql> show databases;


▷ 특정 데이터베이스 선택
mysql> use databases;


▷ 선택된 데이터베이스 정보 보기
mysql> status;


▷ 데이터베이스 생성
mysql> create database [데이터베이스명];


▷ 데이터베이스에 유저 모든 권한주기 (유저 자동 생성)
mysql> grant all privileges on [데이터베이스명].* to [사용자 ID]@[접속호스트] identified by '[패스워드]';
예) grant all privileges on test_db.* to test@localhost identified by 'test1234'l


▷ 데이터베이스에 유저 권한 추가
mysql> insert into db values ('%', '[데이터베이스명]', '[사용자 ID]', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y');
(y 의 갯수는 데이터베이스의 버전에 따라 틀립니다. desc [데이터베이스명] 으로 확인 후 작업해야합니다.)


▷ 새로운 사용자 등록
mysql> insert into user (host, user, password) values ('[접속호스트]', '[사용자 ID]', password('[패스워드]'));


▷ 데이터베이스 삭제
mysql> drop database [데이터베이스명];


▷ 테이블 목록 확인
mysql> show tables;


▷ 테이블 생성
mysql> create table imsi([필드명] [종류]([길이]), [필드명] [종류]([길이]) NOT NULL, [필드명] [종류]([길이]), [필드명] [종류]([길이]), [필드명] [종류]([길이]), [필드명] [종류]([길이]), PRIMARY KEY([필드명]) );

예) create table imsi(name CHAR(8), id VARCHAR(10) NOT NULL, url VARCHAR(40), email VARCHAR(40), milage INT(11), level CHAR(2), PRIMARY KEY(id) );


▷ 테이블 삭제
mysql> drop table [테이블명];


▷ 테이블 내용 데이터 삭제(테이블은 그대로 보존)
mysql> truncate table [테이블명]


▷ 테이블 상태 체크
mysql> check table [테이블명];


▷ 테이블 정보 보기
mysql> show table status;


▷ 테이블 오류 발생시 로그 확인
mysql> analyze table [테이블명];


▷ 테이블 오류 발생시 복구(DB 의 상태가 온라인일 경우 복구)
mysql> repair table [테이블명];


▷ 테이블 구조 보기
mysql> desc [테이블명];


▷ 테이블 전체 내용보기
mysql> select * from [테이블명];


▷ 테이블 특정 필드 보기
mysql> select 필드명1, 필드명2 from [테이블명];
또는
mysql> select 필드명1, 필드명2 from [테이블명] where 필드명1="조건";


▷ 테이블의 내용 파일로 저장하기
mysql> select * from [테이블명] into outfile '파일명.txt' fields terminated by ',';


▷ 테이블 복사
mysql> create table [복사할 테이블] (select * from [원본 테이블]);


▷ 특정 조건값으로 검색하여 모두 삭제(A 의 값이 100 이상)
mysql> delete from [테이블명] where A>100;
또는
mysql> delete from [테이블명] where A>100 and B<50; (or 이나 and 연산의 추가포함이 가능합니다.)


▷ 테이블 내의 필드 개수 보기
mysql> select count(*) from [테이블명];


▷ 테이블 인덱스 정보 보기
mysql> show index from [테이블명];


▷ 테이블 인덱스 삭제
mysql> alter table [테이블명] drop index [인덱스명];

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

Table 대소문자 구분하지 않도록 설정  (0) 2016.06.13
Mysql 튜닝 참고자료  (0) 2015.12.16
mysql binlog 옵션  (0) 2014.12.08
Mysql 함수  (0) 2012.05.08
Posted by 소울하트