[mysql] 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 쿼리 결과


답변

링크를 참조하십시오

mysql> SHOW COLUMNS FROM mytable FROM mydb;
mysql> SHOW COLUMNS FROM mydb.mytable;

이것이 당신을 도울 수 있기를 바랍니다


답변

먼저 사용하여 데이터베이스를 use testDB;선택한 다음 실행하십시오.

desc `testDB`.`images`;
-- or
SHOW FIELDS FROM images;

산출:

데이터 유형이있는 테이블 열 가져 오기