sql >> データベース >  >> NoSQL >> MongoDB

SQLで列のデータ型を確認する方法

    SQLでは、columns 列に関する情報を返す情報スキーマビューは、ほとんどの主要なRDBMSでサポートされているISO標準ビューです。このビューを使用して、列のデータ型に関する情報を取得できます。

    主要なRDBMのほとんどは、列情報を取得するための他の方法も提供します。

    さまざまなSQLデータベースで列のデータ型を取得する例を次に示します。

    information_schema.columns 表示

    前述のように、ほとんどの主要なRDBMSはinformation_schema.columnsをサポートしています。 ビュー。

    そのビューを使用して列のデータ型情報を返す例を次に示します。

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

    Productsを置き換えます およびProductName それぞれテーブルと列の名前で。必要に応じて、返される列の数を追加/削減します。

    ほとんどの主要なRDBMSは、テーブルと列の情報を取得するためのより簡潔な方法を提供します。これらのいくつかを以下に示します。

    SQLite

    上記はSQLiteでは機能しません。

    SQLiteでこれを行う最も速くて簡単な方法は、PRAGMA table_info()を使用することです。 ステートメント:

    PRAGMA table_info(Regions);

    または、sqlite_schemaにクエリを実行することもできます テーブル。 SQLiteでは、すべてのデータベースにsqlite_schemaが含まれています そのデータベースのスキーマを格納するテーブル。 Regionsに関する情報を取得する例を次に示します。 Northwindのテーブル データベース:

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

    これを行う別の方法は、.schemaを使用することです。 コマンド:

    .schema Regions

    その他のオプションについては、SQLiteで列のデータ型を確認する5つの方法を参照してください。

    MySQL

    MySQLは information_schema.columnsをサポートしています ビューですが、DESCRIBEなどの別の方法を使用する方が簡単な場合があります ステートメント:

    DESCRIBE Pets;

    Petsというテーブルに関する情報が返されます 。

    列名を追加して、1つの列に絞り込むことができます:

    DESCRIBE Pets PetName;

    PetNameに関する情報が返されます Petsの列 テーブル。

    DESCRIBE ステートメントは、実際にはSHOW COLUMNS FROMショートカットです。 。したがって、DESCRIBEを置き換えることができます SHOW COLUMNS FROM 必要に応じて。

    その他のオプションと例については、MySQLで列のデータ型を確認する4つの方法を参照してください。

    MariaDB

    MariaDBはMySQLと非常によく似ているため、DESCRIBEを使用することもできます。 MariaDBでのステートメント。

    また、MySQLと同様に、DESCRIBE SHOW COLUMNS FROMのショートカットです。 。

    したがって、その構文の使用例を次に示します

    SHOW COLUMNS FROM Pets
    WHERE Field = 'PetName';

    ご覧のとおり、DESCRIBE 構文ははるかに簡潔ですが、少なくとも私たちはオプションを知っています。

    MariaDBは information_schema.columnsもサポートしていることにも言及する必要があります ビュー。

    その他のオプションについては、MariaDBで列のデータ型を確認する4つの方法をご覧ください。

    SQL Server

    SQL Serverは、information_schema.columnsもサポートしています。 ビューですが、他にもいくつかのオプションがあります。

    簡単なオプションの1つは、sp_helpを使用することです。 ストアドプロシージャ:

    EXEC sp_help Products;

    これにより、指定されたテーブル(この場合はProducts)に関する多くの情報が返されます。 表)。

    その他のオプションと例については、SQL Server(T-SQL)で列のデータ型を取得する3つの方法を参照してください。

    PostgreSQL

    Postgresはinformation_schema.columnsもサポートしています ビューですが、他にもいくつかのオプションがあります。

    psqlを使用している場合は、\dを使用できます テーブル、ビュー、マテリアライズドビュー、インデックス、シーケンス、および外部テーブルに関する情報をすばやく取得するコマンド:

    \d public.actor

    これにより、特定の列のデータ型だけでなく、少なくともオプションが返されます。

    詳細については、PostgreSQLで列のデータ型を確認する3つの方法を参照してください。

    Oracle

    Oracleでは、DESCを使用できます コマンド:

    DESC HR.COUNTRIES;

    COUNTRIESに関する情報を取得します HRが所有するテーブル 。

    または、ALL_TAB_COLUMNSをクエリすることもできます ビュー:

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

    詳細については、Oracleで列のデータ型を確認する3つの方法を参照してください。


    1. CentOS8にApacheCouchDBをインストールする方法

    2. MongoDB $ cosh

    3. Meteorアプリ間でMongoDBコレクションを共有するにはどうすればよいですか?

    4. Redisでソートされたセットを介した逆ページネーション