Как получить тип данных столбцов таблицы MySQL?
Думал, что я мог бы использовать структуру MYSQLFIELD , но это были перечисленные типы полей.
Затем я попытался с mysql_real_query()
Ошибка, которую я получаю, это query was empty
Как получить тип данных столбца?
10 ответов
Вы можете использовать таблицу information_schema:
В приведенном ниже запросе приводится список сведений о каждом поле, включая тип поля MySQL. Вот пример:
Большинство ответов — это дубликаты, может быть полезно сгруппировать их. В принципе предлагается два простых варианта.
Первый вариант
Первый вариант имеет 4 разных псевдонима, некоторые из которых довольно короткие:
(NB: в качестве альтернативы db_name.table_name можно использовать второй FROM : db_name FROM table_name ).
Это дает что-то вроде:
Второй вариант
Второй вариант немного длиннее:
Он также менее разговорчив:
У этого есть преимущество разрешить выбор для столбца, хотя, используя AND COLUMN_NAME = ‘column_name’ (или like ).
3 Ways to Get a Column’s Data Type in SQL Server (T-SQL)
GUIs like SSMS or Azure Data Studio make it easy to see a column’s data type. Usually it’s a simple matter of navigating to the column in the object explorer and you can see the data type right next to the column.
But if you’re using T-SQL, you’ll need to run a query.
The information_schema.columns View
The information_schema.columns view is a good option if you simply want the data type and no more:
Replace Products and ProductName with the name of your table and column respectively.
OK, I returned a bit more than just the data type here. But you can omit the other columns if required. Or you can add more. For example, there are columns that contain the column’s precision in case you’re looking at a numeric or datetime column.
You can return all columns like this:
The sys.columns View
The sys.columns view is another option. We can join this with the sys.tables view to get a specific column from a specific table:
Again, include more or less columns as required.
In this example, I used the TYPE_NAME() function to return the name of the data type, based on its ID. This saved me from having to do a join on the sys.types table.
The sp_help Stored Procedure
The sp_help stored procedure can be useful if you want to return more information about the table.
This stored procedure returns information about a database object (any object listed in the sys.sysobjects compatibility view), a user-defined data type, or a data type:
This returns a lot of output, so I won’t list it all here.
Just replace Products with the name of the table or other object you want to get information about.
Как получить тип данных столбцов таблицы mysql?
Думал, что могу использовать MYSQLFIELD структура но это были пронумерованные типы полей.
Затем я попытался mysql_real_query()
Ошибка, которую я получаю, query was empty
Как мне получить тип данных столбца?
задан 31 июля ’09, 20:07
11 ответы
Вы можете использовать столбцы information_schema таблица:
ответ дан 01 авг.

Не забывайте: И INDEX_SCHEMA = ‘имя_базы_данных’ — Inshallah
Я лично пробовал это и согласен, что этот ответ действительно делает то, что намеревался OP. С другой стороны, немного странно, что «table_name» — это маленькие заглавные буквы даже в руководстве, не должно ли оно быть UPPER? (Не то чтобы это имеет значение) — чутсу
Также обратите внимание, имеет ли тип данных заданную длину, например. VARCHAR (50) можно использовать SELECT COLUMN_TYPE чтобы получить дополнительную информацию. — чутсу
если INDEX_SCHEMA не работает, попробуйте TABLE_SCHEMA = ‘database_name’ — сенК
Этот запрос бесполезен, если вы хотите узнать тип для всех столбцов (удаление AND COLUMN_NAME = ‘col_name’ ), если вы не отобразите имя столбца: SELECT COLUMN_NAME, DATA_TYPE FROM etc. . — Скиппи-ле-Гран-Гуру
Приведенный ниже запрос возвращает список информации о каждом поле, включая тип поля MySQL. Вот пример:
Инструкция SQL для получения типа столбца
есть ли инструкция SQL, которая может возвращать тип столбца в таблице?
16 ответов
использование SQL Server:
самый простой способ в TSQL:
для SQL Server эта системная хранимая процедура возвращает все сведения таблицы, включая типы данных столбцов:
в TSQL / MSSQL это выглядит так:
в oracle SQL вы бы сделали следующее:
Если вы используете MySQL, вы можете попробовать
в противном случае вы должны быть в состоянии сделать
это вернет имя столбца значений, показывая вам имена столбцов и типы данных этих столбцов (ints, varchars и т. д.).
на IBM DB2 :
другой вариант с использованием MS SQL:
использование TSQL / MSSQL
этот запрос получит вас: имя таблицы, имя столбца, тип данных, длина типа данных и допустимые нули
единственное, что нужно изменить, это your_table_name.
в моем случае мне нужно было получить тип данных для динамического SQL (Shudder!) во всяком случае, вот функция, которую я создал, которая возвращает полный тип данных. Например, вместо возврата «decimal» он вернет DECIMAL (18,4):dbo.GetLiteralDataType
используйте этот запрос, чтобы получить схему, таблицу, столбец, тип, max_length, is_nullable