sql >> Database teknologi >  >> NoSQL >> MongoDB

Sådan kontrolleres en kolonnes datatype i SQL

I SQL er columns informationsskemavisning, som returnerer oplysninger om kolonner, er en ISO-standardvisning, der understøttes af de fleste af de store RDBMS'er. Du kan bruge denne visning til at få oplysninger om en kolonnes datatype.

De fleste af de store RDBM'er giver også andre metoder til at få kolonneoplysninger.

Her er eksempler på at få datatypen for en kolonne i forskellige SQL-databaser.

information_schema.columns Vis

Som nævnt understøtter de fleste større RDBMS'er information_schema.columns se.

Her er et eksempel på brug af denne visning til at returnere oplysninger om kolonnedata:

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';

Erstat Products og ProductName med navnet på henholdsvis din tabel og kolonne. Tilføj/reducer antallet af returnerede kolonner efter behov.

De fleste større RDBMS'er giver en mere kortfattet måde at få tabel- og kolonneoplysninger på. Nogle af disse er anført nedenfor.

SQLite

Ovenstående virker ikke i SQLite.

Den hurtigste/nemmeste måde at gøre det på i SQLite er at bruge PRAGMA table_info() erklæring:

PRAGMA table_info(Regions);

Alternativt kan du forespørge på sqlite_schema bord. I SQLite indeholder hver database et sqlite_schema tabel, der gemmer skemaet for den pågældende database. Her er et eksempel på at få oplysninger om Regions tabellen i Northwind database:

SELECT sql 
FROM Northwind.sqlite_schema 
WHERE tbl_name = 'Regions';

En anden måde at gøre det på er at bruge .schema kommando:

.schema Regions

Se 5 måder at kontrollere en kolonnes datatype i SQLite for at få flere muligheder.

MySQL

MySQL understøtter information_schema.columns view, men du kan finde det lettere at bruge en anden metode, såsom DESCRIBE erklæring:

DESCRIBE Pets;

Det returnerer oplysninger om en tabel kaldet Pets .

Du kan tilføje kolonnenavnet for at indsnævre det til én kolonne:

DESCRIBE Pets PetName;

Det returnerer oplysninger om PetName kolonner i Pets tabel.

DESCRIBE statement er faktisk en genvej til SHOW COLUMNS FROM . Derfor kan du erstatte DESCRIBE med SHOW COLUMNS FROM hvis du foretrækker det.

Se 4 måder at kontrollere en kolonnes datatype i MySQL for at få flere muligheder og eksempler.

MariaDB

MariaDB minder meget om MySQL, og så vi kan også bruge DESCRIBE erklæring med MariaDB.

Og som med MySQL, DESCRIBE er en genvej til SHOW COLUMNS FROM .

Så her er et eksempel på brug af den syntaks

SHOW COLUMNS FROM Pets
WHERE Field = 'PetName';

Som du kan se, er DESCRIBE syntaks er meget mere kortfattet, men vi kender i det mindste vores muligheder.

Jeg skal også nævne, at MariaDB også understøtter information_schema.columns se.

Se 4 måder at kontrollere en kolonnes datatype i MariaDB for flere muligheder.

SQL-server

SQL Server understøtter også information_schema.columns visning, men det giver også et par andre muligheder.

En hurtig mulighed er at bruge sp_help gemt procedure:

EXEC sp_help Products;

Dette returnerer en masse information om den angivne tabel (i dette tilfælde Products). tabel).

Se 3 måder at få en kolonnes datatype i SQL Server (T-SQL) for at få flere muligheder og eksempler.

PostgreSQL

Postgres understøtter også information_schema.columns visning, men der er også et par andre muligheder.

Hvis du bruger psql, kan du bruge \d kommando for hurtigt at få information om tabeller, visninger, materialiserede visninger, indeks, sekvenser og fremmede tabeller:

\d public.actor

Dette returnerer meget mere end blot datatypen for en specifik kolonne, men det er i det mindste en mulighed.

Se 3 måder at kontrollere en kolonnes datatype i PostgreSQL for mere.

Oracle

I Oracle kan vi bruge DESC kommando:

DESC HR.COUNTRIES;

Det får oplysninger om COUNTRIES tabel, ejet af HR .

Eller vi kunne forespørge på ALL_TAB_COLUMNS se:

SELECT 
    COLUMN_NAME,
    DATA_TYPE,
    DATA_LENGTH,
    DATA_PRECISION,
    DATA_SCALE
FROM ALL_TAB_COLUMNS
WHERE OWNER = 'HR'
AND TABLE_NAME = 'COUNTRIES';

Se 3 måder at kontrollere kolonnedatatype i Oracle for at få flere oplysninger.


  1. Sådan implementeres MongoDB for høj tilgængelighed

  2. Spring Boot med Session/Redis Serialiseringsfejl med dårlige Active Directory Ldap-legitimationsoplysninger

  3. Redis Sentinel

  4. Percona Live 2017 - Severalnines Recap