2009-05-22 86 views

回答

177

我想列什麼你後DESCRIBE

DESCRIBE table; 

您還可以使用SHOW TABLES

SHOW TABLES; 

讓你的數據庫中的表的列表。

+3

針對特定的數據庫使用:`SHOW TABLES FROM database_name` – Tarik 2016-05-27 06:43:12

25

使用此:

SHOW CREATE TABLE `users`; 

會給你DDL該表

DESCRIBE `users` 

會列出該表

+0

-1 DDL是一種語言,而你用SHOW CREATE TABLE是一個語句 – soulmerge 2009-05-22 16:33:28

+0

soulmerge得到,肯定它是該表 – duckyflip 2009-05-22 16:39:52

+0

是一個DDL語句,它在一個DDL聲明,但C函數本身不是C. C是一種語言,C程序中的函數是該語言中的一個構造。 – soulmerge 2009-05-22 16:45:23

32

看看INFORMATION_SCHEMATABLES表。它包含有關所有表的元數據。

例子:

SELECT * FROM `INFORMATION_SCHEMA`.`TABLES` 
WHERE TABLE_NAME LIKE 'table1' 

這樣做的好處比其他的方法是,你可以很容易地使用查詢,像上面的在其他查詢子查詢。

+1

是不是它應該是'information_schema`.`columns`(使用`columns`表而不是`tables`?因爲`tables`不包含任何信息在其類型是表列 – 2014-08-22 08:07:00

82

要獲取整個數據庫結構爲一組CREATE TABLE語句,使用mysqldump

mysqldump database_name --compact --no-data 

對於單表,mysqldump的數據庫名稱後添加的表名。你得到的SQL和SHOW CREATE TABLE相同的結果:

SHOW CREATE TABLE table; 

或者DESCRIBE如果你喜歡列清單:

DESCRIBE table; 
7

,我發現有用

打開你的命令的第一個答案的變化提示並輸入(你不必登錄到你的mysql服務器)

mysqldump -hlocalhost -u<root> -p<password> <dbname> --compact --no-data > </path_to_mydump/>mysql.dmp 
14
SELECT * 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME ='products'; 

其中Table_schema是數據庫名稱

1

SELECT COLUMN_NAME FROM INFORMATION_SCHEMACOLUMNS WHERE TABLE_SCHEMA = 'bodb' AND TABLE_NAME = 'ABC';

作品讓所有的列名

0

如今,人們使用DESC,而不是DESCRIPTION。例如: - DESC users;

相關問題