[SQL] MySQL의 테이블 열 이름을 얻기?
SQLMySQL의 테이블 열 이름을 얻기?
MySQL의에서 테이블의 열 이름을 잡을 수있는 방법이 있습니까? PHP를 사용하여
해결법
-
==============================
1.당신은 DESCRIBE 사용할 수 있습니다 :
당신은 DESCRIBE 사용할 수 있습니다 :
DESCRIBE my_table;
또는 최신 버전에서 당신은 INFORMATION_SCHEMA를 사용할 수 있습니다 :
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table';
또는 당신은 SHOW 열을 사용할 수 있습니다 :
SHOW COLUMNS FROM my_table;
-
==============================
2.다음 SQL 문은 거의 동일합니다
다음 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
-
==============================
3.나는 간단한 배열의 모든 열 이름을 반환하는 PDO 기능을했다.
나는 간단한 배열의 모든 열 이름을 반환하는 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 ... )
죄송합니다 괴사가에 대한하지만 내 기능을 좋아한다)
추신 I 클래스 코어를 포함하지 않은하지만 당신은 자신의 클래스 .. D.S.을 사용할 수 있습니다
-
==============================
4.이 솔루션은 명령 줄 MySQL의에서입니다
이 솔루션은 명령 줄 MySQL의에서입니다
mysql>USE information_schema;
쿼리 단지 변화 아래에서 <- DATABASE_NAME -> 데이터베이스 및에 <- TABLENAME -> 테이블 이름에 당신은 필드 값은 DESCRIBE 문을 원하는 위치에
mysql> SELECT COLUMN_NAME FROM COLUMNS WHERE TABLE_SCHEMA = '<--DATABASE_NAME-->' AND TABLE_NAME='<--TABLENAME-->';
-
==============================
5.원하는 경우이있다 :
원하는 경우이있다 :
mysql_query('SHOW COLUMNS FROM tableName');
-
==============================
6.이건 어때:
이건 어때:
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;
-
==============================
7.그것은 또한 당신이 사용할 수있는 노트에 흥미 TABLE_NAME FROM TABLE_NAME 및 SHOW 열을 설명과 동의어이다 TABLE_NAME을 EXPLAIN EXPLAIN 있지만 것이 더 일반적으로 쿼리 실행 계획에 대한 정보를 얻는 데 사용됩니다.
그것은 또한 당신이 사용할 수있는 노트에 흥미 TABLE_NAME FROM TABLE_NAME 및 SHOW 열을 설명과 동의어이다 TABLE_NAME을 EXPLAIN EXPLAIN 있지만 것이 더 일반적으로 쿼리 실행 계획에 대한 정보를 얻는 데 사용됩니다.
-
==============================
8.들여다보다:
들여다보다:
mysql_query('DESCRIBE '.$table);
-
==============================
9.MySQL의 기능 테이블을 설명 당신이 가고 싶은 곳을 얻어야한다 ( "테이블"에 대한 당신의 테이블 이름을 넣어). 당신은 몇 가지 출력을 구문 분석해야 할 것이다, 그러나 그것은 매우 간단합니다. 내 기억으로 당신이 쿼리를 실행하는 경우는 PHP는 일반적으로 당신에게 열쇠로 열 이름이있을 것이다 키 - 값 쌍을 줄 것이다 액세스하는 기능을 결과를 쿼리합니다. 난 그렇게 그 날을 보유하지 않는 PHP를 사용하지만 이후 그 동안되었습니다. :)
MySQL의 기능 테이블을 설명 당신이 가고 싶은 곳을 얻어야한다 ( "테이블"에 대한 당신의 테이블 이름을 넣어). 당신은 몇 가지 출력을 구문 분석해야 할 것이다, 그러나 그것은 매우 간단합니다. 내 기억으로 당신이 쿼리를 실행하는 경우는 PHP는 일반적으로 당신에게 열쇠로 열 이름이있을 것이다 키 - 값 쌍을 줄 것이다 액세스하는 기능을 결과를 쿼리합니다. 난 그렇게 그 날을 보유하지 않는 PHP를 사용하지만 이후 그 동안되었습니다. :)
-
==============================
10.당신은 또한 같이)로 MYSQL_ASSOC을 (체크 아웃 할 수 있습니다 :
당신은 또한 같이)로 MYSQL_ASSOC을 (체크 아웃 할 수 있습니다 :
$rs = mysql_query($sql); while ($row = mysql_fetch_array($rs)) { //$row[0] = 'First Field'; //$row['first_field'] = 'First Field'; }
-
==============================
11.내가 사용하므로 다른 답변은 연관 배열을 반환하는 동안은 평면 배열로 열 이름을 필요 :
내가 사용하므로 다른 답변은 연관 배열을 반환하는 동안은 평면 배열로 열 이름을 필요 :
$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 )
-
==============================
12.mysql_list_fields 기능은 관심 있습니다; 하지만, 수동 상태로 :
mysql_list_fields 기능은 관심 있습니다; 하지만, 수동 상태로 :
-
==============================
13.MySQL의에서 다음과 같은 키워드 또는 쿼리에서 열 세부 사항 및 테이블 구조를 얻을 수 있습니다
MySQL의에서 다음과 같은 키워드 또는 쿼리에서 열 세부 사항 및 테이블 구조를 얻을 수 있습니다
1.DESC의 TABLE_NAME
2.DESCRIBE의 TABLE_NAME
TABLE_NAME FROM 3.SHOW COLUMNS
테이블 TABLE_NAME을 만들 4.SHOW;
5.EXPLAIN의 TABLE_NAME
-
==============================
14.
$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); }
-
==============================
15.이것은 나를 위해 일한 ..
이것은 나를 위해 일한 ..
$sql = "desc MyTableName"; $result = @mysql_query($sql); while($row = @mysql_fetch_array($result)){ echo $row[0]."<br>"; }
-
==============================
16.당신은 간단하게 다음 명령을 사용하여 전체 테이블 구조를 얻을 수 있습니다.
당신은 간단하게 다음 명령을 사용하여 전체 테이블 구조를 얻을 수 있습니다.
DESC TableName
또는 당신은 쿼리를 사용할 수 있습니다.
SHOW COLUMNS FROM TableName
-
==============================
17.나는 PHP를 통해 테이블 열을 가져 오기 위해 간단한 PHP 스크립트를 작성할 수 있습니다 : Show_table_columns.php
나는 PHP를 통해 테이블 열을 가져 오기 위해 간단한 PHP 스크립트를 작성할 수 있습니다 : Show_table_columns.php
<?php $db = 'Database'; //Database name $host = 'Database_host'; //Hostname or Server ip $user = 'USER'; //Database user $pass = 'Password'; //Database user password $con = mysql_connect($host, $user, $pass); if ($con) { $link = mysql_select_db($db) or die("no database") . mysql_error(); $count = 0; if ($link) { $sql = " SELECT column_name FROM information_schema.columns WHERE table_schema = '$db' AND table_name = 'table_name'"; // Change the table_name your own table name $result = mysql_query($sql, $con); if (mysql_query($sql, $con)) { echo $sql . "<br> <br>"; while ($row = mysql_fetch_row($result)) { echo "COLUMN " . ++$count . ": {$row[0]}<br>"; $table_name = $row[0]; } echo "<br>Total No. of COLUMNS: " . $count; } else { echo "Error in query."; } } else { echo "Database not found."; } } else { echo "Connection Failed."; } ?>
즐겨!
from https://stackoverflow.com/questions/1526688/get-table-column-names-in-mysql by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 오라클에서 대소 문자를 구분 검색 (0) | 2020.03.16 |
---|---|
[SQL] C # .NET을 사용하여 .SQL 스크립트 파일을 실행하는 방법 (0) | 2020.03.16 |
[SQL] 어떻게 무작위 SQL에서 행을 선택하려면? (0) | 2020.03.16 |
[SQL] COUNT (*) 대 수 (1) 대 수 (PK) : 더 나은 무엇입니까? [복제] (0) | 2020.03.16 |
[SQL] SQL 쿼리와 가까운 위도 / 경도 찾기 (0) | 2020.03.16 |