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.