我有以下 MySql 表:
mysql> describe drft1_menu;
+-------------------+---------------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+---------------------+------+-----+---------------------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| menutype | varchar(24) | NO | MUL | NULL | |
| title | varchar(255) | NO | | NULL | |
| alias | varchar(255) | NO | MUL | NULL | |
| note | varchar(255) | NO | | | |
| path | varchar(1024) | NO | MUL | NULL | |
| link | varchar(1024) | NO | | NULL | |
| type | varchar(16) | NO | | NULL | |
| published | tinyint(4) | NO | | 0 | |
| parent_id | int(10) unsigned | NO | | 1 | |
| level | int(10) unsigned | NO | | 0 | |
| component_id | int(10) unsigned | NO | MUL | 0 | |
| checked_out | int(10) unsigned | NO | | 0 | |
| checked_out_time | timestamp | NO | | 0000-00-00 00:00:00 | |
| browserNav | tinyint(4) | NO | | 0 | |
| access | int(10) unsigned | NO | | 0 | |
| img | varchar(255) | NO | | NULL | |
| template_style_id | int(10) unsigned | NO | | 0 | |
| params | text | NO | | NULL | |
| lft | int(11) | NO | MUL | 0 | |
| rgt | int(11) | NO | | 0 | |
| home | tinyint(3) unsigned | NO | | 0 | |
| language | char(7) | NO | MUL | | |
| client_id | tinyint(4) | NO | MUL | 0 | |
+-------------------+---------------------+------+-----+---------------------+----------------+
24 rows in set (0.00 sec)
正如您所看到的那样,有许多字段,如果我尝试执行:
select * from describe drft1_menu;
获得的输出很糟糕。我只做了一些具体的领域? (例如,仅包含所有包含记录的id,title和alias字段)
TNX
安德烈
答案 0 :(得分:2)
对于只有一列(或类似命名的列),您可以使用:
SHOW FIELDS FROM `drft1_menu` LIKE 'id'
-for id
列。但在常见情况下,这可能无法回答这个问题。为此,有INFORMATION_SCHEMA
个数据库(下面的示例列为id
,title
):
SELECT
*
FROM
INFORMATION_SCHEMA.columns
WHERE
TABLE_SCHEMA='database_name'
AND
TABLE_NAME='drft1_menu'
AND
COLUMN_NAME IN ('id', 'title');
-output看起来不像DESCRIBE
,但会提供相同的信息。但是,关于这一点的好处是,您只能指定所需的那些描述字段(例如,仅COLUMN_NAME
和DATA_TYPE
字段)
答案 1 :(得分:1)
从drft1_menu
中选择id,title,别名答案 2 :(得分:1)
使用此查询:
SELECT id, title, alias FROM drft1_menu;
答案 3 :(得分:0)
至于DESCRIBE
是SHOW COLUMNS
的快捷方式,您可以使用最后一个并使用其过滤器过滤到某种模式。
SHOW COLUMNS FROM drft1_menu LIKE 'pattern';
答案 4 :(得分:0)
要仅从表格中获取特定字段,您只需使用
即可select SELECT id, title, alias,etc.. FROM drft1_menu;
您可以在select查询中使用condition来获取所需的输出。 例如,如果您只需要id列,并且id应小于10,请使用
select SELECT id from drft1_menu where id<10