sql >> Databáze >  >> NoSQL >> MongoDB

Jak zkontrolovat datový typ sloupce v SQL

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.


  1. Podporuje Spring Data Redis (1.3.2.RELEASE) JedisSentinelPool of jedis?

  2. Implementace vyhodnocení objektu výrazu dotazu typu goMongoDB

  3. Chat v reálném čase s Modulus a Node.js

  4. Jak opravit klíče Redis serializované pomocí Java