본문 바로가기

Linux/Tip&Tech

MySQL 유용한 명령어 모음 #1 - SHOW 2

출처 : http://comnic.tistory.com

1. SHOW

 show에 대해 간략히 한번 다루었는데 많이 부족했던 듯 하여 유용한 사용방법 몇가지를 더 소개 하고자 한다.

1) SHOW CREATE TABLE : 테이블 생성시의 create table문장을 보여 줍니다.

 
사용법]

   mysql>show create table table명;

  결과]

mysql> show create table time_zone\G
*************************** 1. row ***************************
       Table: time_zone
Create Table: CREATE TABLE `time_zone` (
  `Time_zone_id` int(10) unsigned NOT NULL auto_increment,
  `Use_leap_seconds` enum('Y','N') NOT NULL default 'N',
  PRIMARY KEY  (`Time_zone_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Time zones'
1 row in set (0.00 sec)

 사용법은 위와 같이 뒤에 테이블명만 넣어주면 된다.
우리가 주로 사용하는 desc가 필드의 속성만을 주로 보여 주기 때문에 테이블의 속성을 보기 위해서는 위의 명령어를 알아 두는 것이 좋다.
비교를 위해 아래 desc의 결과를 보여준다.

mysql> desc time_zone\G
*************************** 1. row ***************************
  Field: Time_zone_id
   Type: int(10) unsigned
   Null: NO
    Key: PRI
Default: NULL
  Extra: auto_increment
*************************** 2. row ***************************
  Field: Use_leap_seconds
   Type: enum('Y','N')
   Null: NO
    Key:
Default: N
  Extra:
2 rows in set (0.00 sec)


2) SHOW TABLE STAUTS : 특정 Database의 테이블 상태를 보여준다.

 
사용법]

   mysql>show table status from database명;

  결과]

mysql> show table status from phpmyadmin;
----------------------------------------------------------------------------------------------------------+
| Name                | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time         | Update_time         | Check_time | Collation | Checksum | Create_options | Comment                                     |
----------------------------------------------------------------------------------------------------------+
| pma_bookmark        | MyISAM |      10 | Dynamic    |    0 |              0 |          0 | 281474976710655 |         1024 |         0 |              1 | 2008-04-19 00:50:53 | 2008-04-19 00:50:06 | NULL       | utf8_bin  |     NULL |
           | Bookmarks                                   |

| pma_column_info     | MyISAM |      10 | Dynamic    |    0 |              0 |          0 | 281474976710655 |         1024 |         0 |              1 | 2008-04-19 00:50:53 | 2008-04-19 00:50:06 | NULL       | utf8_bin  |     NULL |
           | Column information for phpMyAdmin           |

| pma_designer_coords | MyISAM |      10 | Dynamic    |    0 |              0 |          0 | 281474976710655 |         1024 |         0 |           NULL | 2008-04-19 00:50:53 | 2008-04-19 00:50:06 | NULL       | utf8_bin  |     NULL |
           | Table coordinates for Designer              |

| pma_history         | MyISAM |      10 | Dynamic    | 1063 |            108 |     114940 | 281474976710655 |        35840 |         0 |           1064 | 2008-04-19 00:50:53 | 2009-03-15 18:33:36 | NULL       | utf8_bin  |     NULL |
           | SQL history for phpMyAdmin                  |

| pma_pdf_pages       | MyISAM |      10 | Dynamic    |    0 |              0 |          0 | 281474976710655 |         1024 |         0 |              1 | 2008-04-19 00:50:53 | 2008-04-19 00:50:06 | NULL       | utf8_bin  |     NULL |
           | PDF relation pages for phpMyAdmin           |

| pma_relation        | MyISAM |      10 | Dynamic    |    0 |              0 |          0 | 281474976710655 |         1024 |         0 |           NULL | 2008-04-19 00:50:53 | 2008-04-19 00:50:06 | NULL       | utf8_bin  |     NULL |
           | Relation table                              |

| pma_table_coords    | MyISAM |      10 | Dynamic    |    0 |              0 |          0 | 281474976710655 |         1024 |         0 |           NULL | 2008-04-19 00:50:53 | 2008-04-19 00:50:06 | NULL       | utf8_bin  |     NULL |
           | Table coordinates for phpMyAdmin PDF output |

| pma_table_info      | MyISAM |      10 | Dynamic    |    0 |              0 |          0 | 281474976710655 |         1024 |         0 |           NULL | 2008-04-19 00:50:53 | 2008-04-19 00:50:06 | NULL       | utf8_bin  |     NULL |
           | Table information for phpMyAdmin            |
-----------------------------------------------------------------------------------------------------------+
8 rows in set (0.06 sec)

 원래의 결과 모습과 좀 다르다. 하도 필드가 많아서 좀 정리를 했다.

[필드 설명]

* Name : 테이블 이름
* Engine : 테이블의 Storage Engine
   : SHOW ENGINES 명령어를 통해 지원하는 Storage Engine의 목록을 얻을수 있다.
   : 우리가 자주 사용하는 것들은 MyISAM, InnoDB, Memory, NDB 등 일 것이다.
* Version :테이블의 .frm파일 버전이란다.(The version number of the table's .frm file)
* Row_format : The row storage format (Fixed, Dynamic, Compressed, Redundant, Compact).
* Rows : Row의 수.(레코드의 수)
* Avg_row_length : row의 평균 길이.
* Data_length : Data파일의 크기.
* Max_data_length : Data파일의 최대 크기. 테이블에 저장할 수 있는 Data의 최대 Bytes수 이다.
      : pointer의 사이즈를 사용해 다 똑같은 값이 나올 것이다.
* Index_length : 인덱스 파일의 크기.
* Data_free : 할당되었지만 사용되지 않는 Bytes.(주로 Delete로 삭제한 후의 공간이다.)
* Auto_increment : 다음 Auto_increment 값.
* Create_time : 테이블 생성시간.
* Update_time : 최근 업데이트 시간.(Storage Engine과 시스템에 따라 NULL로 표시되기도 한다.)
* Check_time : 최근 체크 시간.
* Collation : 테이블의 캐릭트셋과 collation.
   : SHOW COLLATION 명령어로 목록을 볼 수 있다.
* Checksum : The live checksum value (if any).
* Create_options : 테이블 생성 옵션.
* Comment : 주석.


 3) SHOW GRANTS : 부여된 권한을 본다.

 
사용법]

   mysql>show grants [for user]

  결과]

mysql> SHOW GRANTS;
+-----------------------------------------------------------------------------------------------------------+
| Grants for root@localhost                          |
+-----------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '446a12100c856ce9' WITH GRANT OPTION |
+-----------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> SHOW GRANTS FOR 'root'@'localhost';
+-----------------------------------------------------------------------------------------------------------+
| Grants for root@localhost                                |
+-----------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '446a12100c856ce9' WITH GRANT OPTION |
+-----------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

그냥 명령어만 치면 자신의 권한을 보여주며, [for user]와 함께 사용하면 user의 권한을 보여 준다.

'Linux > Tip&Tech' 카테고리의 다른 글

제로보드4 한글 파일 첨부 문제  (0) 2009.06.26
VirtualBox Kernel Driver Not Installed  (0) 2009.06.23
MySQL 유용한 명령어 모음 #1 - SHOW  (0) 2009.06.17
tcpdump  (0) 2009.06.09
커널 파라메터 관련  (0) 2008.12.02