mysql 테이블 열 데이터 유형을 얻는 방법은 무엇입니까?
mysql 테이블의 열 데이터 유형을 얻고 싶습니다.
MYSQLFIELD
구조를 사용할 수 있다고 생각 했지만 열거 필드 유형이었습니다.
그런 다음 시도했습니다 mysql_real_query()
내가 받고있는 오류는 query was empty
열 데이터 유형은 어떻게 얻습니까?
information_schema 열 테이블을 사용할 수 있습니다 .
SELECT DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'tbl_name' AND COLUMN_NAME = 'col_name';
아래 쿼리는 MySQL 필드 유형을 포함하여 각 필드에 대한 정보 목록을 반환합니다. 다음은 예입니다.
SHOW FIELDS FROM tablename
/* returns "Field", "Type", "Null", "Key", "Default", "Extras" */
참조 본 매뉴얼 페이지를 .
대부분의 답변은 중복되므로 그룹화하는 것이 유용 할 수 있습니다. 기본적으로 두 가지 간단한 옵션이 제안되었습니다.
첫 번째 옵션
첫 번째 옵션에는 4 개의 별칭이 있으며 그중 일부는 매우 짧습니다.
EXPLAIN db_name.table_name;
DESCRIBE db_name.table_name;
SHOW FIELDS FROM db_name.table_name;
SHOW COLUMNS FROM db_name.table_name;
(주의 : 다른로서 db_name.table_name
, 하나는 제를 사용할 수있다 FROM
: db_name FROM table_name
).
이것은 다음과 같은 것을 제공합니다.
+------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------+--------------+------+-----+---------+-------+
| product_id | int(11) | NO | PRI | NULL | |
| name | varchar(255) | NO | MUL | NULL | |
| description | text | NO | | NULL | |
| meta_title | varchar(255) | NO | | NULL | |
+------------------+--------------+------+-----+---------+-------+
두 번째 옵션
두 번째 옵션은 조금 더 깁니다.
SELECT
COLUMN_NAME, DATA_TYPE
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_SCHEMA = 'db_name'
AND
TABLE_NAME = 'table_name';
또한 덜 수다 스럽습니다.
+------------------+-----------+
| column_name | DATA_TYPE |
+------------------+-----------+
| product_id | int |
| name | varchar |
| description | text |
| meta_title | varchar |
+------------------+-----------+
그러나 AND COLUMN_NAME = 'column_name'
(또는 like
)을 사용하여 열별로 선택할 수 있다는 장점이 있습니다.
모든 열의 데이터 유형을 가져 오려면 다음을 수행하십시오.
describe table_name
또는 단일 열 :
describe table_name column_name
아래 mysql 쿼리를 사용하십시오.
SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH
FROM information_schema.columns
WHERE table_schema = '<DATABASE NAME>'
AND table_name = '<TABLE NAME>'
AND COLUMN_NAME = '<COLOMN NAME>'
이 링크 참조
mysql> SHOW COLUMNS FROM mytable FROM mydb;
mysql> SHOW COLUMNS FROM mydb.mytable;
이것이 당신을 도울 수 있기를 바랍니다
먼저 사용하여 데이터베이스를 use testDB;
선택한 다음 실행하십시오.
desc `testDB`.`images`;
-- or
SHOW FIELDS FROM images;
산출:
모든 데이터베이스에서 사용되는 열의 모든 데이터 유형을 찾기위한 쿼리
SELECT distinct DATA_TYPE FROM INFORMATION_SCHEMA.columns
WHERE table_schema = '<db_name>' AND column_name like '%';
mytable의 열보기
자체 포함 된 완전한 예제는 종종 유용합니다.
<?php
// The server where your database is hosted localhost
// The name of your database mydatabase
// The user name of the database user databaseuser
// The password of the database user thesecretpassword
// Most web pages are in utf-8 so should be the database array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")
try
{
$pdo = new PDO("mysql:host=localhost;dbname=mydatabase", "databaseuser", "thesecretpassword", array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
}
catch(PDOException $e)
{
die('Could not connect: ' . $e->getMessage());
}
$sql = "SHOW COLUMNS FROM mytable";
$query = $pdo->prepare($sql);
$query->execute();
$err = $query->errorInfo();
$bug = $err[2];
if ($bug != "") { echo "<p>$bug</p>"; }
while ($row = $query->fetch(PDO::FETCH_ASSOC))
{
echo "<pre>" . print_r($row, true) . "</pre>";
}
/* OUTPUT SAMPLE
Array
(
[Field] => page_id
[Type] => char(40)
[Null] => NO
[Key] =>
[Default] =>
[Extra] =>
)
Array
(
[Field] => last_name
[Type] => char(50)
More ...
*/
?>
ResultSet rs = Sstatement.executeQuery("SELECT * FROM Table Name");
ResultSetMetaData rsMetaData = rs.getMetaData();
int numberOfColumns = rsMetaData.getColumnCount();
System.out.println("resultSet MetaData column Count=" + numberOfColumns);
for (int i = 1; i <= numberOfColumns; i++) {
System.out.println("column number " + i);
System.out.println(rsMetaData.getColumnTypeName(i));
}
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'SCHEMA_NAME'AND COLUMN_KEY = 'PRI'; WHERE COLUMN_KEY = 'PRI';
참고 URL : https://stackoverflow.com/questions/1215368/how-to-get-the-mysql-table-columns-data-type
'Nice programing' 카테고리의 다른 글
Android에서 View와 ViewGroup의 차이점 (0) | 2020.10.06 |
---|---|
파이썬 hash () 함수 내장 (0) | 2020.10.06 |
JavaScript로 사용자 에이전트 가져 오기 (0) | 2020.10.06 |
Gcc 오류 : gcc : 'cc1'exec 시도 오류 : execvp : 해당 파일 또는 디렉토리가 없습니다. (0) | 2020.10.06 |
std :: dynarray 대 std :: vector (0) | 2020.10.05 |