MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

So überprüfen Sie den Datentyp einer Spalte in SQL

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.