In SQL, le columns
La visualizzazione dello schema di informazioni, che restituisce informazioni sulle colonne, è una visualizzazione standard ISO supportata dalla maggior parte dei principali RDBMS. Puoi utilizzare questa visualizzazione per ottenere informazioni sul tipo di dati di una colonna.
La maggior parte dei principali RDBM fornisce anche altri metodi per ottenere informazioni sulle colonne.
Ecco alcuni esempi di come ottenere il tipo di dati di una colonna in vari database SQL.
Il information_schema.columns
Visualizza
Come accennato, la maggior parte dei principali RDBMS supporta information_schema.columns
visualizza.
Ecco un esempio di utilizzo di tale vista per restituire informazioni sul tipo di dati della colonna:
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';
Sostituisci Products
e ProductName
rispettivamente con il nome della tabella e della colonna. Aggiungi/riduci il numero di colonne restituite come richiesto.
La maggior parte dei principali RDBMS fornisce un modo più conciso per ottenere informazioni su tabelle e colonne. Alcuni di questi sono elencati di seguito.
SQLite
Quanto sopra non funziona in SQLite.
Il modo più veloce/semplice per farlo in SQLite è usare PRAGMA table_info()
dichiarazione:
PRAGMA table_info(Regions);
In alternativa, puoi interrogare sqlite_schema
tavolo. In SQLite, ogni database contiene un sqlite_schema
tabella che memorizza lo schema per quel database. Ecco un esempio di come ottenere informazioni sulle Regions
tabella nella Northwind
banca dati:
SELECT sql
FROM Northwind.sqlite_schema
WHERE tbl_name = 'Regions';
Un altro modo per farlo è usare il .schema
comando:
.schema Regions
Vedi 5 modi per controllare il tipo di dati di una colonna in SQLite per ulteriori opzioni.
MySQL
MySQL supporta il information_schema.columns
view, ma potresti trovare più semplice usare un altro metodo, come DESCRIBE
dichiarazione:
DESCRIBE Pets;
Ciò restituisce informazioni su un tavolo chiamato Pets
.
Puoi aggiungere il nome della colonna per restringerla a una colonna:
DESCRIBE Pets PetName;
Ciò restituisce informazioni sul PetName
colonne in Pets
tabella.
Il DESCRIBE
l'istruzione è in realtà una scorciatoia per SHOW COLUMNS FROM
. Pertanto, potresti sostituire DESCRIBE
con SHOW COLUMNS FROM
se preferisci.
Vedi 4 modi per controllare il tipo di dati di una colonna in MySQL per ulteriori opzioni ed esempi.
MariaDB
MariaDB è molto simile a MySQL, quindi possiamo anche usare DESCRIBE
dichiarazione con MariaDB.
E come con MySQL, DESCRIBE
è una scorciatoia per SHOW COLUMNS FROM
.
Quindi, ecco un esempio di utilizzo di tale sintassi
SHOW COLUMNS FROM Pets
WHERE Field = 'PetName';
Come puoi vedere, il DESCRIBE
la sintassi è molto più concisa, ma almeno conosciamo le nostre opzioni.
Dovrei anche menzionare che MariaDB supporta anche il information_schema.columns
visualizza.
Vedi 4 modi per controllare il tipo di dati di una colonna in MariaDB per ulteriori opzioni.
SQL Server
SQL Server supporta anche information_schema.columns
visualizza, ma fornisce anche alcune altre opzioni.
Un'opzione rapida consiste nell'usare sp_help
procedura memorizzata:
EXEC sp_help Products;
Questo restituisce molte informazioni sulla tabella specificata (in questo caso, i Products
tabella).
Vedere 3 modi per ottenere il tipo di dati di una colonna in SQL Server (T-SQL) per ulteriori opzioni ed esempi.
PostgreSQL
Postgres supporta anche information_schema.columns
vista, ma ci sono anche un paio di altre opzioni.
Se stai usando psql, puoi usare il \d
comando per ottenere rapidamente informazioni su tabelle, viste, viste materializzate, indici, sequenze e tabelle esterne:
\d public.actor
Questo restituisce molto più del semplice tipo di dati di una colonna specifica, ma almeno è un'opzione.
Vedi 3 modi per controllare il tipo di dati di una colonna in PostgreSQL per ulteriori informazioni.
Oracolo
In Oracle, possiamo usare il DESC
comando:
DESC HR.COUNTRIES;
Ottiene informazioni sui COUNTRIES
tavolo, di proprietà di HR
.
Oppure potremmo interrogare ALL_TAB_COLUMNS
visualizza:
SELECT
COLUMN_NAME,
DATA_TYPE,
DATA_LENGTH,
DATA_PRECISION,
DATA_SCALE
FROM ALL_TAB_COLUMNS
WHERE OWNER = 'HR'
AND TABLE_NAME = 'COUNTRIES';
Vedi 3 modi per controllare il tipo di dati della colonna in Oracle per maggiori informazioni.