MySQL에서 테이블 열 이름을 가져 옵니까?
mysql에서 테이블의 열 이름을 가져 오는 방법이 있습니까? PHP를 사용하여
DESCRIBE 를 사용할 수 있습니다 .
DESCRIBE my_table;
또는 최신 버전에서는 INFORMATION_SCHEMA 를 사용할 수 있습니다 .
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table';
또는 SHOW COLUMNS를 사용할 수 있습니다 .
SHOW COLUMNS FROM my_table;
다음 SQL 문은 거의 동일합니다.
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'tbl_name'
[AND table_schema = 'db_name']
[AND column_name LIKE 'wild']
SHOW COLUMNS
FROM tbl_name
[FROM db_name]
[LIKE 'wild']
참조 : INFORMATION_SCHEMA COLUMNS
모든 열 이름을 간단한 배열로 반환하는 PDO 함수를 만들었습니다.
public function getColumnNames($table){
$sql = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = :table";
try {
$core = Core::getInstance();
$stmt = $core->dbh->prepare($sql);
$stmt->bindValue(':table', $table, PDO::PARAM_STR);
$stmt->execute();
$output = array();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
$output[] = $row['COLUMN_NAME'];
}
return $output;
}
catch(PDOException $pe) {
trigger_error('Could not connect to MySQL database. ' . $pe->getMessage() , E_USER_ERROR);
}
}
출력은 배열이됩니다 :
Array (
[0] => id
[1] => name
[2] => email
[3] => shoe_size
[4] => likes
... )
necro는 미안하지만 내 기능이 마음에 든다.)
추신 : 나는 수업 코어를 포함하지 않았지만 자신의 수업을 사용할 수 있습니다 .. DS
이 솔루션은 명령 줄 mysql에서 가져온 것입니다.
mysql>USE information_schema;
아래 쿼리에서 <-DATABASE_NAME->을 데이터베이스로 변경하고 <-TABLENAME->을 DESCRIBE 문의 필드 값을 원하는 테이블 이름으로 변경하십시오.
mysql> SELECT COLUMN_NAME FROM COLUMNS WHERE TABLE_SCHEMA = '<--DATABASE_NAME-->' AND TABLE_NAME='<--TABLENAME-->';
이건 어때:
SELECT @cCommand := GROUP_CONCAT( COLUMN_NAME ORDER BY column_name SEPARATOR ',\n')
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table';
SET @cCommand = CONCAT( 'SELECT ', @cCommand, ' from my_database.my_table;');
PREPARE xCommand from @cCommand;
EXECUTE xCommand;
그것은 당신이 사용할 수있는 점에 유의하는 것이 흥미
EXPLAIN table_name
와 동의어이다 DESCRIBE table_name
하고 SHOW COLUMNS FROM table_name
있지만, EXPLAIN 더 일반적으로 쿼리 실행 계획에 대한 정보를 얻는 데 사용됩니다.
들여다보다:
mysql_query('DESCRIBE '.$table);
MySQL 함수 설명 테이블은 원하는 곳으로 이동해야합니다 ( "테이블"에 테이블 이름을 입력하십시오). 출력을 일부 파싱해야하지만 꽤 쉽습니다. 내가 기억 하듯이, 해당 쿼리를 실행하면 일반적으로 키-값 쌍을 제공하는 함수에 액세스하는 PHP 쿼리 결과는 키로 열 이름을 갖습니다. 그러나 PHP를 사용한 지 오래되었습니다. 그래서 저를 붙잡아 두지 마십시오. :)
원하는 경우 다음이 있습니다.
mysql_query('SHOW COLUMNS FROM tableName');
다음 mysql_fetch_array()
과 같이 를 체크 아웃 할 수도 있습니다 .
$rs = mysql_query($sql);
while ($row = mysql_fetch_array($rs)) {
//$row[0] = 'First Field';
//$row['first_field'] = 'First Field';
}
플랫 이름으로 열 이름이 필요했지만 다른 답변은 연관 배열을 반환 했으므로 다음을 사용했습니다.
$con = mysqli_connect('localhost',$db_user,$db_pw,$db_name);
$table = 'people';
/**
* Get the column names for a mysql table
**/
function get_column_names($con, $table) {
$sql = 'DESCRIBE '.$table;
$result = mysqli_query($con, $sql);
$rows = array();
while($row = mysqli_fetch_assoc($result)) {
$rows[] = $row['Field'];
}
return $rows;
}
$col_names = function get_column_names($con, $table);
$ col_names는 이제 다음과 같습니다.
(
[0] => name
[1] => parent
[2] => number
[3] => chart_id
[4] => type
[5] => id
)
mysql_list_fields
기능은 관심 있습니다; 그러나 수동 상태는 다음과 같습니다.
이 기능은 더 이상 사용되지 않습니다. 대신
mysql_query()
SQLSHOW COLUMNS FROM table [LIKE 'name']
문 을 발행하는 데 사용 하는 것이 좋습니다.
mysql에서 키워드 또는 쿼리를 따라 열 세부 정보 및 테이블 구조를 가져옵니다.
1.DESC table_name
2.DESCRIBE table_name
삼.SHOW COLUMNS FROM table_name
4.SHOW create table table_name;
5.EXPLAIN table_name
$col = $db->query("SHOW COLUMNS FROM category");
while ($fildss = $col->fetch_array())
{
$filds[] = '"{'.$fildss['Field'].'}"';
$values[] = '$rows->'.$fildss['Field'].'';
}
if($type == 'value')
{
return $values = implode(',', $values);
}
else {
return $filds = implode(',', $filds);
}
이것은 나를 위해 일했다 ..
$sql = "desc MyTableName";
$result = @mysql_query($sql);
while($row = @mysql_fetch_array($result)){
echo $row[0]."<br>";
}
다음과 같은 간단한 명령을 사용하여 전체 테이블 구조를 얻을 수 있습니다.
DESC TableName
또는 다음 쿼리를 사용할 수 있습니다.
SHOW COLUMNS FROM TableName
PHP를 통해 테이블 열을 가져 오는 간단한 PHP 스크립트를 작성했습니다 : Show_table_columns.php
즐겨!
참고 URL : https://stackoverflow.com/questions/1526688/get-table-column-names-in-mysql
'IT' 카테고리의 다른 글
힘내 분기 명령은 'less'처럼 동작합니다 (0) | 2020.03.27 |
---|---|
배열에 새로운 요소를 추가하는 방법? (0) | 2020.03.27 |
배치 파일에 어떤 주석 스타일을 사용해야합니까? (0) | 2020.03.27 |
하나의 gradle 파일에 여러 개의 maven 저장소 (0) | 2020.03.27 |
clang 오류 : 알 수없는 인수 : '-mno-fused-madd'(파이썬 패키지 설치 실패) (0) | 2020.03.27 |