irc*_*ell 483
最好的方法是使用INFORMATION_SCHEMA元数据虚拟数据库.特别是INFORMATION_SCHEMA.COLUMNS表......
SELECT `COLUMN_NAME`
FROM `INFORMATION_SCHEMA`.`COLUMNS`
WHERE `TABLE_SCHEMA`='yourdatabasename'
AND `TABLE_NAME`='yourtablename';
Run Code Online (Sandbox Code Playgroud)
它非常强大,可以为您提供大量信息而无需解析文本(例如列类型,列是否可为空,最大列大小,字符集等)...
哦,它是标准的SQL(而SHOW ...MySQL是一个特定的扩展)...
有关表之间的差异SHOW...和使用INFORMATION_SCHEMA表的更多信息,请查看一般的MySQL 文档INFORMATION_SCHEMA ...
bco*_*sca 191
您可以对MYSQL使用以下查询:
SHOW columns FROM your-table;
Run Code Online (Sandbox Code Playgroud)
下面的示例代码显示了如何在php中实现上述语法以列出列的名称:
$sql = "SHOW COLUMNS FROM your-table";
$result = mysqli_query($conn,$sql);
while($row = mysqli_fetch_array($result)){
echo $row['Field']."<br>";
}
Run Code Online (Sandbox Code Playgroud)
有关SHOW COLUMNS FROM TABLE访问输出的详细信息:MySQL Refrence.
Sur*_*ams 41
似乎有两种方式:
DESCRIBE `tablename`
Run Code Online (Sandbox Code Playgroud)
要么
SHOW COLUMNS FROM `tablename`
Run Code Online (Sandbox Code Playgroud)
更多信息请DESCRIBE访问:http://dev.mysql.com/doc/refman/5.0/en/describe.html
小智 20
我过去做过这个.
SELECT column_name
FROM information_schema.columns
WHERE table_name='insert table name here';
Run Code Online (Sandbox Code Playgroud)
The*_*per 14
编辑:今天我学到了更好的方法.请参阅ircmaxell的回答.
解析输出 SHOW COLUMNS FROM table;
这里有更多关于它的信息:http://dev.mysql.com/doc/refman/5.0/en/show-columns.html
使用mysql_fetch_field()可查看所有列数据.见手册.
$query = 'select * from myfield';
$result = mysql_query($query);
$i = 0;
while ($i < mysql_num_fields($result))
{
$fld = mysql_fetch_field($result, $i);
$myarray[]=$fld->name;
$i = $i + 1;
}
Run Code Online (Sandbox Code Playgroud)
"警告此扩展程序自PHP 5.5.0起已弃用,将来将被删除."
这会生成一个带有逗号分隔符的列名字符串:
SELECT CONCAT('(',GROUP_CONCAT(`COLUMN_NAME`),')')
FROM `INFORMATION_SCHEMA`.`COLUMNS`
WHERE `TABLE_SCHEMA`='database_name'
AND `TABLE_NAME`='table_name';
Run Code Online (Sandbox Code Playgroud)
小智 6
不推荐使用旧的PHP函数"mysql_list_fields()".因此,今天获取字段名称的最佳方法是查询"SHOW COLUMNS FROM table_name [LIKE'name']".所以,这是一个小例子:
$fields = array();
$res=mysql_query("SHOW COLUMNS FROM mytable");
while ($x = mysql_fetch_assoc($res)){
$fields[] = $x['Field'];
}
foreach ($fields as $f) { echo "<br>Field name: ".$f; }
Run Code Online (Sandbox Code Playgroud)
当你想用一些文件检查你的所有表结构时,请使用此代码。在此查询中,我选择 column_name、column_type 和 table_name 以获取更多详细信息。我按 column_type 使用 order,所以我可以很容易地看到它。
SELECT `COLUMN_NAME`,COLUMN_TYPE,TABLE_NAME
FROM `INFORMATION_SCHEMA`.`COLUMNS`
WHERE `TABLE_SCHEMA`='yourdatabasename' order by DATA_TYPE;
Run Code Online (Sandbox Code Playgroud)
如果您只想检查双类型归档,那么您可以轻松完成
SELECT `COLUMN_NAME`,COLUMN_TYPE,TABLE_NAME,DATA_TYPE
FROM `INFORMATION_SCHEMA`.`COLUMNS`
WHERE `TABLE_SCHEMA`='yourdatabasename' AND DATA_TYPE like '%bigint%' order by DATA_TYPE;
Run Code Online (Sandbox Code Playgroud)
如果您想检查哪个字段允许空类型等,那么您可以使用它
SELECT `COLUMN_NAME`,COLUMN_TYPE,TABLE_NAME,IS_NULLABLE,DATA_TYPE
FROM `INFORMATION_SCHEMA`.`COLUMNS`
WHERE `TABLE_SCHEMA`='yourdatabasename' and DATA_TYPE like '%bigint%' and IS_NULLABLE ='NO' order by COLUMN_TYPE;
Run Code Online (Sandbox Code Playgroud)
你想检查更多然后thik链接也可以帮助你。
https://dev.mysql.com/doc/refman/5.7/en/columns-table.html
所有答案中最简单的解决方案:
DESC `table name`
Run Code Online (Sandbox Code Playgroud)
或者
DESCRIBE `table name`
Run Code Online (Sandbox Code Playgroud)
或者
SHOW COLUMNS FROM `table name`
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
461998 次 |
| 最近记录: |