In SQL die columns
Die Informationsschemaansicht, die Informationen zu Spalten zurückgibt, ist eine ISO-Standardansicht, die von den meisten großen RDBMSs unterstützt wird. Sie können diese Ansicht verwenden, um Informationen über den Datentyp einer Spalte zu erhalten.
Die meisten großen RDBMs bieten auch andere Methoden zum Abrufen von Spalteninformationen.
Hier sind Beispiele für das Abrufen des Datentyps einer Spalte in verschiedenen SQL-Datenbanken.
Die information_schema.columns
Anzeigen
Wie bereits erwähnt, unterstützen die meisten großen RDBMSs die information_schema.columns
ansehen.
Hier ist ein Beispiel für die Verwendung dieser Ansicht, um Informationen zum Spaltendatentyp zurückzugeben:
SELECT
COLUMN_NAME,
DATA_TYPE,
CHARACTER_MAXIMUM_LENGTH AS MAX_LENGTH,
CHARACTER_OCTET_LENGTH AS OCTET_LENGTH
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Products'
AND COLUMN_NAME = 'ProductName';
Ersetzen Sie Products
und ProductName
mit dem Namen Ihrer Tabelle bzw. Spalte. Fügen Sie die Anzahl der zurückgegebenen Spalten nach Bedarf hinzu/verringern Sie sie.
Die meisten großen RDBMS bieten eine präzisere Möglichkeit, Tabellen- und Spalteninformationen abzurufen. Einige davon sind unten aufgeführt.
SQLite
Das obige funktioniert nicht in SQLite.
Der schnellste/einfachste Weg, dies in SQLite zu tun, ist die Verwendung von PRAGMA table_info()
Aussage:
PRAGMA table_info(Regions);
Alternativ können Sie das sqlite_schema
abfragen Tisch. In SQLite enthält jede Datenbank ein sqlite_schema
Tabelle, die das Schema für diese Datenbank speichert. Hier ist ein Beispiel für das Abrufen von Informationen über die Regions
Tabelle im Northwind
Datenbank:
SELECT sql
FROM Northwind.sqlite_schema
WHERE tbl_name = 'Regions';
Eine andere Möglichkeit ist die Verwendung von .schema
Befehl:
.schema Regions
Weitere Optionen finden Sie unter 5 Möglichkeiten, den Datentyp einer Spalte in SQLite zu überprüfen.
MySQL
MySQL unterstützt die information_schema.columns
anzeigen, aber Sie finden es möglicherweise einfacher, eine andere Methode zu verwenden, z. B. DESCRIBE
Aussage:
DESCRIBE Pets;
Das gibt Informationen über eine Tabelle namens Pets
zurück .
Sie können den Spaltennamen anhängen, um ihn auf eine Spalte einzugrenzen:
DESCRIBE Pets PetName;
Das gibt Informationen über den PetName
zurück Spalten in Pets
Tabelle.
Die DESCRIBE
-Anweisung ist eigentlich eine Verknüpfung für SHOW COLUMNS FROM
. Daher könnten Sie DESCRIBE
ersetzen mit SHOW COLUMNS FROM
wenn Sie es vorziehen.
Weitere Optionen und Beispiele finden Sie unter 4 Möglichkeiten, den Datentyp einer Spalte in MySQL zu überprüfen.
MariaDB
MariaDB ist MySQL sehr ähnlich, daher können wir auch den DESCRIBE
verwenden Anweisung mit MariaDB.
Und wie bei MySQL, DESCRIBE
ist eine Abkürzung für SHOW COLUMNS FROM
.
Hier ist also ein Beispiel für die Verwendung dieser Syntax
SHOW COLUMNS FROM Pets
WHERE Field = 'PetName';
Wie Sie sehen können, ist der DESCRIBE
Syntax ist viel prägnanter, aber zumindest kennen wir unsere Möglichkeiten.
Ich sollte auch erwähnen, dass MariaDB auch die information_schema.columns
unterstützt ansehen.
Weitere Optionen finden Sie unter 4 Möglichkeiten, den Datentyp einer Spalte in MariaDB zu überprüfen.
SQL-Server
SQL Server unterstützt auch die information_schema.columns
anzeigen, bietet aber auch einige andere Optionen.
Eine schnelle Option ist die Verwendung von sp_help
gespeicherte Prozedur:
EXEC sp_help Products;
Dies gibt viele Informationen über die angegebene Tabelle zurück (in diesem Fall die Products
Tabelle).
Weitere Optionen und Beispiele finden Sie unter 3 Möglichkeiten zum Abrufen des Datentyps einer Spalte in SQL Server (T-SQL).
PostgreSQL
Postgres unterstützt auch die information_schema.columns
anzeigen, aber es gibt noch ein paar andere Optionen.
Wenn Sie psql verwenden, können Sie \d
verwenden Befehl zum schnellen Abrufen von Informationen über Tabellen, Ansichten, materialisierte Ansichten, Indizes, Sequenzen und Fremdtabellen:
\d public.actor
Dies gibt viel mehr als nur den Datentyp einer bestimmten Spalte zurück, ist aber zumindest eine Option.
Weitere Informationen finden Sie unter 3 Möglichkeiten zum Überprüfen des Datentyps einer Spalte in PostgreSQL.
Orakel
In Oracle können wir den DESC
verwenden Befehl:
DESC HR.COUNTRIES;
Dadurch werden Informationen über die COUNTRIES
abgerufen Tabelle, im Besitz von HR
.
Oder wir könnten ALL_TAB_COLUMNS
abfragen Ansicht:
SELECT
COLUMN_NAME,
DATA_TYPE,
DATA_LENGTH,
DATA_PRECISION,
DATA_SCALE
FROM ALL_TAB_COLUMNS
WHERE OWNER = 'HR'
AND TABLE_NAME = 'COUNTRIES';
Weitere Informationen finden Sie unter 3 Möglichkeiten zum Überprüfen des Spaltendatentyps in Oracle.