'필드명 조회'에 해당되는 글 1건

  1. 2015.02.11 DB migration(DB 데이터 이전)시 테이블,필드 조회 방법
2015. 2. 11. 11:08

개발을 하다보면 DB를 변경해야 할 경우가 생길 수 도 있으며

DB 서버를 이전해야 하는 경우도 생깁니다.

이때 데이터를 이전해야 합니다.

이럴때 사용할 수 있는 쿼리를 알려드리겠습니다.

 

mysql의 경우 phpMyAdmin을 사용하여 sql파일로 받을 수도 있습니다만

이번에 포스팅하는 내용은 프로그램으로 이전하는 기능을 작성할때

사용하는 쿼리입니다.

직접 작업하고 테스트한 mysql과 sqlite에 대해서만 다루겠습니다.

다른 DB에 관해서는 mkyojung님의 작성하신 "오라클, MySQL, MS-SQL 테이블 / 컬럼 정보 조회"를 참고하세요.

 

1. 테이블 정보 가져오기

  1.1 mysql  - 2가지 쿼리 중 하나를 사용하시면 됩니다.

    1.1.1 "SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'DB 이름'";

           * 대신 'TABLE_NAME' 등 필드명 사용도 가능합니다.

    1.1.2 "SHOW TABLES FROM DB 이름";

 

  1.2 sqlite

"SELECT * FROM sqlite_master WHERE type='table'";

"SELECT name FROM sqlite_master WHERE type='table'"; //필드명을 지정

*sqlite의 경우 사용자가 만든 테이블 외에도 시스템상의 테이블까지 반환하므로 where절에 "name like '%aa%'"등과 같이

조건을 사용하시면 수월하실 것입니다.

 

2. 테이블의 필드정보 가져오기

  2.1 mysql - 2가지 쿼리 중 하나를 사용하시면 됩니다.

    2.1.1 "SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '테이블 이름'";

    2.1.2 "SHOW FIELDS FROM 테이블 이름";

 

  2.2 sqlite

     "PRAGMA TABLE_INFO (테이블 이름);

 

위와 같이 사용하시면 됩니다.

 

참고로 sqlite에 insert를 하다보면 데이터가 많을때 시간이 너무 오래걸립니다.

이럴때는 아래 두 코드를 이용하시면 속도가 많이 빨라진 것을 느끼실 수 있습니다.

단, 데이터에 문제가 생길 수 도 있습니다.

"PRAGMA cache_size=6000";
"PRAGMA synchronous=OFF";

 

 

 

   

 

'Mysql' 카테고리의 다른 글

mysql 테이블이 깨졌을때  (0) 2015.02.16
mysql과 sqlite를 사용할때 주의할 점  (0) 2015.02.10
insert 시 VALUE 와 VALUES ??  (0) 2014.10.13
Posted by 작은0악마