Search Results for 'DBMS/MySQL'

27 POSTS

  1. 2012.11.08 첨부]MySQL 함수 및 연산자 모음표
  2. 2012.04.12 mysql index추가/삭제하기
  3. 2012.04.05 Data Export & Backup in Console

내장함수를 한눈에 볼수 있도록 정리했다.

 

어떤 함수들이 있는지 출력해서 가까운데 두고 자주 보면서 코딩하자.

 

pdf 파일로 정리했으며 자세한 사용법은 해당링크를 클릭하면 mysql 공식사이트 manual 로 이동한다.

 

http://dev.mysql.com/doc/refman/5.5/en/

 

한글화가 필요한 부분은 추후 번역하겠지만 공식사이트 샘플만 보면 다 이해 할 수 있어서 굳이 필요없을듯 싶다.

 

MySQL 함수모음표.pdf



mysql index추가/삭제하기

Posted 2012. 4. 12. 18:18

Table에 index를 추가하는 방법 (참고)


0. show index from [table_name] 을 이용하여 현재 테이블의 index를 조회한다.

또는 show keys from [table_name]


1. Alter table을 이용한 추가방법

 alter table [table name] add index [index_name]([column_name],...)


ex1) USER 에 user_id라는 컬럼이 있고 이 컬럼을 index에 추가하고자 할때

alter table USER ADD INDEX  idx_user_id(user_id);


ex2) unique 형태의 index를 추가하고자 할때

alter table USER ADD UNIQUE(user_id);


ex3) primary key로 index를 추가하고잘 할때

alter table user ADD PRIMARY KEY(user_id);



2. Create index를 이용한 추가방법


CREATE INDEX  [index_name]  ON [table_name]([column_name])


ex) CREATE INDEX idx_user_id ON USER(user_id);


ex) unique index를 추가할때는 

CREATE UNIQUE INDEX idx_user_id ON USER(user_id);



3. 삭제는 drop을 이용한다.

 ALTER TABLE [table_name] DROP INDEX [index_name] 


ex)) ALTER TABLE USER DROP INDEX idx_user_id;

또는

   DROP INDEX  idx_user_id ON USER;




Data Export & Backup in Console

Posted 2012. 4. 5. 16:23


 MySQL용 GUI Tool을 사용하다보면 어느순간 기본명령어를 잊게 된다.

윈도우 상에서만 작업한다면, 그리고 항상 내가 작업하다 PC에서만 작업한다면 문제가 없겠지만 그렇지 않은 경우, 예를 들어 ssh만으로만 연결되어 작업한다던가, 콘솔앞에서 작업해야 하는 등의 경우에 직면하면 당황하게 마련이다.

1. Data Export.

GUI Tool에서 결과에서 마우스 오픈쪽 클릭한후 Export를 누르던 행위에 해당한다.

mysql > SELECT * FROM USERS
        -> INTO OUTFILE '/tmp/user_data.txt';


간단하다. 하지만 결과로 나온 데이터를 확인하는 차원이 아닌 엑셀에나 기타 다른 곳에서 활용해야 하는 경우 위의 결과는 쓸모가 없어진다. 그럴 경우는 다음의 옵션등을 주어서 결과를 받아야 한다.

 mysql > SELECT * FROM USERS
         -> INTO OUTFILE '/tmp/user_data.txt'
         -> FIELDS TERMINATED BY ',' 
         -> ENCLOSED BY '"'
         -> LINES TERMINATED BY '\r\n';

엑셀에서 가져다 쓸데 많이 사용하는 csv 파일의 경우 위와 같이 export하면 그대로 문제 없이 사용가능하다.

한가지 덧붙이자면 INTO OUTFILE 의 경로를 '/tmp/' 로 정한것은 디렉토리 권한에 제약받지 않고 파일을 생성할수 있기 때문이다.
root로 로그인 했다 할지라도 /root/ 디렉토리 밑으로 파일을 지정하게 되면 파일을 생성할수 없다는(정확히는 파일이 없다는) 오류메시지를 보게되는데, 알다시피 mysql 은 mysql 계정으로 실행되기 때문이다.


2. Dump

dump 는 주로 데이터를 백업하거나 이관할때 사용하게 된다. dump는 mysqldump라는 명령어로 쉘상에서 수행하게 된다.
mysqldump의 옵션은 매우 다양하다. 자세한 설명은 http://dev.mysql.com/doc 또는 http://mysqlkorea.com/  을 참고하면 된다.

# mysqldump -u root -p DB_USER > mydatabase.sql 


서로 다른 호스트로 데이터베이스를 옮기거나 복사하려는 경우, 원격으로 그 데이터베이스에 접속이 가능하다면 다음과 같이 별도의 dump파일을 생성하지 않고 한번에 복사할수 있다.

# mysqldump -u root -p DB_USER [table_name]|  mysql -h  192.168.0.xxx DB_USER

원격에 있는 서버에는 데이터베이스를 미리 만들어 주어야 한다.

CREATE DATABASE DB_USER CHARACTER SET utf8 COLLATE utf8_general_ci

character SET의 경우 환경에 맞게 변경해서 데이터베이스를 생성하면 된다.


아무리 쉬운 명령어라도 자주 사용하지 않으면 까먹기 마련. 

참고사이트 : http://www.tutorialspoint.com/mysql/mysql-database-export.htm


머리가 나쁘면 몸이 고생한다지만 몸이 편하려고 하면 머리도 나빠지는 법...




« PREV : 1 : 2 : 3 : 4 : 5 : 6 : ··· : 9 : NEXT »