In SQL zijn de columns
informatieschemaweergave, die informatie over kolommen retourneert, is een ISO-standaardweergave die wordt ondersteund door de meeste van de belangrijkste RDBMS'en. U kunt deze weergave gebruiken om informatie te krijgen over het gegevenstype van een kolom.
De meeste grote RDBM's bieden ook andere methoden om kolominformatie te verkrijgen.
Hier zijn voorbeelden van het verkrijgen van het gegevenstype van een kolom in verschillende SQL-databases.
De information_schema.columns
Bekijk
Zoals vermeld, ondersteunen de meeste grote RDBMS'en de information_schema.columns
bekijken.
Hier is een voorbeeld van het gebruik van die weergave om informatie over het kolomgegevenstype te retourneren:
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';
Vervang Products
en ProductName
met respectievelijk de naam van uw tabel en kolom. Voeg indien nodig het aantal geretourneerde kolommen toe/verminder.
De meeste grote RDBMS'en bieden een beknoptere manier om tabel- en kolominformatie te krijgen. Enkele hiervan worden hieronder vermeld.
SQLite
Het bovenstaande werkt niet in SQLite.
De snelste/gemakkelijkste manier om dit te doen in SQLite is om de PRAGMA table_info()
te gebruiken verklaring:
PRAGMA table_info(Regions);
U kunt ook het sqlite_schema
. opvragen tafel. In SQLite bevat elke database een sqlite_schema
tabel waarin het schema voor die database is opgeslagen. Hier is een voorbeeld van het verkrijgen van informatie over de Regions
tabel in de Northwind
databank:
SELECT sql
FROM Northwind.sqlite_schema
WHERE tbl_name = 'Regions';
Een andere manier om dit te doen is door de .schema
. te gebruiken commando:
.schema Regions
Zie 5 manieren om het gegevenstype van een kolom in SQLite te controleren voor meer opties.
MySQL
MySQL ondersteunt de information_schema.columns
bekijken, maar misschien vindt u het gemakkelijker om een andere methode te gebruiken, zoals de DESCRIBE
verklaring:
DESCRIBE Pets;
Dat geeft informatie terug over een tabel met de naam Pets
.
U kunt de kolomnaam toevoegen om deze tot één kolom te beperken:
DESCRIBE Pets PetName;
Dat geeft informatie over de PetName
kolommen in de Pets
tafel.
De DESCRIBE
statement is eigenlijk een snelkoppeling voor SHOW COLUMNS FROM
. Daarom zou je DESCRIBE
. kunnen vervangen met SHOW COLUMNS FROM
als je wilt.
Zie 4 manieren om het gegevenstype van een kolom in MySQL te controleren voor meer opties en voorbeelden.
MariaDB
MariaDB lijkt erg op MySQL, en dus kunnen we ook de DESCRIBE
gebruiken verklaring met MariaDB.
En net als bij MySQL, DESCRIBE
is een snelkoppeling voor SHOW COLUMNS FROM
.
Dus, hier is een voorbeeld van het gebruik van die syntaxis
SHOW COLUMNS FROM Pets
WHERE Field = 'PetName';
Zoals je kunt zien, is de DESCRIBE
syntaxis is veel beknopter, maar we kennen in ieder geval onze opties.
Ik moet ook vermelden dat MariaDB ook de information_schema.columns
ondersteunt bekijken.
Zie 4 manieren om het gegevenstype van een kolom in MariaDB te controleren voor meer opties.
SQL-server
SQL Server ondersteunt ook de information_schema.columns
bekijken, maar het biedt ook een paar andere opties.
Een snelle optie is om de sp_help
. te gebruiken opgeslagen procedure:
EXEC sp_help Products;
Dit levert veel informatie op over de opgegeven tabel (in dit geval de Products
tafel).
Zie 3 manieren om het gegevenstype van een kolom in SQL Server (T-SQL) te krijgen voor meer opties en voorbeelden.
PostgreSQL
Postgres ondersteunt ook de information_schema.columns
bekijken, maar er zijn ook een aantal andere opties.
Als je psql gebruikt, kun je de \d
commando om snel informatie te krijgen over tabellen, views, gematerialiseerde views, index, sequenties en vreemde tabellen:
\d public.actor
Dit levert veel meer op dan alleen het gegevenstype van een specifieke kolom, maar het is in ieder geval een optie.
Zie 3 manieren om het gegevenstype van een kolom in PostgreSQL te controleren voor meer informatie.
Oracle
In Oracle kunnen we de DESC
. gebruiken commando:
DESC HR.COUNTRIES;
Dat krijgt informatie over de COUNTRIES
tafel, eigendom van HR
.
Of we kunnen de ALL_TAB_COLUMNS
. opvragen bekijken:
SELECT
COLUMN_NAME,
DATA_TYPE,
DATA_LENGTH,
DATA_PRECISION,
DATA_SCALE
FROM ALL_TAB_COLUMNS
WHERE OWNER = 'HR'
AND TABLE_NAME = 'COUNTRIES';
Zie 3 manieren om het kolomgegevenstype in Oracle te controleren voor meer informatie.