V SQL, columns
zobrazení informačního schématu, které vrací informace o sloupcích, je standardní zobrazení ISO, které je podporováno většinou hlavních RDBMS. Toto zobrazení můžete použít k získání informací o datovém typu sloupce.
Většina hlavních RDBM také poskytuje další metody pro získání informací o sloupcích.
Zde jsou příklady získání datového typu sloupce v různých databázích SQL.
information_schema.columns
Zobrazit
Jak již bylo zmíněno, většina hlavních RDBMS podporuje information_schema.columns
zobrazit.
Zde je příklad použití tohoto zobrazení k vrácení informací o datovém typu sloupce:
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';
Nahraďte Products
a ProductName
s názvem vaší tabulky a sloupce. Přidejte/snižte počet vrácených sloupců podle potřeby.
Většina hlavních RDBMS poskytuje stručnější způsob, jak získat informace o tabulkách a sloupcích. Některé z nich jsou uvedeny níže.
SQLite
Výše uvedené nefunguje v SQLite.
Nejrychlejší/nejjednodušší způsob, jak to udělat v SQLite, je použít PRAGMA table_info()
prohlášení:
PRAGMA table_info(Regions);
Případně se můžete zeptat na sqlite_schema
stůl. V SQLite každá databáze obsahuje sqlite_schema
tabulka, ve které je uloženo schéma pro danou databázi. Zde je příklad získávání informací o Regions
tabulce v Northwind
databáze:
SELECT sql
FROM Northwind.sqlite_schema
WHERE tbl_name = 'Regions';
Dalším způsobem, jak to udělat, je použít .schema
příkaz:
.schema Regions
Další možnosti najdete v části 5 způsobů, jak zkontrolovat datový typ sloupce v SQLite.
MySQL
MySQL podporuje soubor information_schema.columns
zobrazit, ale může být snazší použít jinou metodu, jako je DESCRIBE
prohlášení:
DESCRIBE Pets;
To vrací informace o tabulce s názvem Pets
.
Můžete připojit název sloupce a zúžit jej na jeden sloupec:
DESCRIBE Pets PetName;
To vrátí informace o PetName
ve sloupcích Pets
tabulka.
DESCRIBE
příkaz je ve skutečnosti zkratka pro SHOW COLUMNS FROM
. Proto můžete nahradit DESCRIBE
pomocí SHOW COLUMNS FROM
chcete-li.
Další možnosti a příklady naleznete v části 4 způsoby kontroly datového typu sloupce v MySQL.
MariaDB
MariaDB je velmi podobná MySQL, a proto můžeme také použít DESCRIBE
prohlášení s MariaDB.
A stejně jako u MySQL DESCRIBE
je zkratka pro SHOW COLUMNS FROM
.
Zde je příklad použití této syntaxe
SHOW COLUMNS FROM Pets
WHERE Field = 'PetName';
Jak můžete vidět, DESCRIBE
syntaxe je mnohem stručnější, ale alespoň známe naše možnosti.
Měl bych také zmínit, že MariaDB také podporuje sloupec information_schema.columns
zobrazit.
Další možnosti najdete v části 4 způsoby kontroly datového typu sloupce v MariaDB.
SQL Server
SQL Server také podporuje information_schema.columns
zobrazení, ale nabízí také několik dalších možností.
Jednou z rychlých možností je použít sp_help
uložená procedura:
EXEC sp_help Products;
To vrátí mnoho informací o zadané tabulce (v tomto případě Products
tabulka).
Další možnosti a příklady naleznete v části 3 způsoby, jak získat datový typ sloupce v SQL Server (T-SQL).
PostgreSQL
Postgres také podporuje information_schema.columns
zobrazit, ale existuje také několik dalších možností.
Pokud používáte psql, můžete použít \d
příkaz pro rychlé získání informací o tabulkách, pohledech, materializovaných pohledech, indexu, sekvencích a cizích tabulkách:
\d public.actor
To vrací mnohem více než jen datový typ konkrétního sloupce, ale alespoň je to možnost.
Další informace naleznete v části 3 způsoby, jak zkontrolovat datový typ sloupce v PostgreSQL.
Oracle
V Oracle můžeme použít DESC
příkaz:
DESC HR.COUNTRIES;
Získáte tak informace o COUNTRIES
tabulka, vlastněná HR
.
Nebo bychom mohli zadat dotaz na ALL_TAB_COLUMNS
zobrazit:
SELECT
COLUMN_NAME,
DATA_TYPE,
DATA_LENGTH,
DATA_PRECISION,
DATA_SCALE
FROM ALL_TAB_COLUMNS
WHERE OWNER = 'HR'
AND TABLE_NAME = 'COUNTRIES';
Další informace naleznete v části 3 způsoby kontroly datového typu sloupce v Oracle.