sql >> Database >  >> NoSQL >> MongoDB

Het gegevenstype van een kolom in SQL controleren?

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.


  1. Herstel redis-gegevens van slave naar master

  2. Redis-cluster/taakverdeling

  3. Mongoose kan geen verbinding maken zonder internet

  4. Wat is Redis pubsub en hoe gebruik ik het?