sql >> データベース >  >> RDS >> Database

SQLテーブル

    SQLテーブル

    構造化照会言語(SQL)は、データがテーブルの形式、つまり行と列に格納されるリレーショナルデータベース(RDBMS)です。これらのテーブルはタプルと呼ばれます 、ここで、テーブルの各行はタプルとして引用されています。これらのSQLテーブルで実行できる特定の操作があります。それらのいくつかを以下に示します。

    SQL TEMP TABLE

    一時テーブルの概念は、SQLサーバーで開始されました。開発者は一時テーブルを使用し、さまざまな方法で開発者を支援します。

    一時テーブルは、通常のテーブルが実行できるすべてのタイプの操作を実行できます。これらのテーブルは、tempdbデータベースで生成されます。 、および実行時に開発できます。

    一時テーブルの概念は、MySQLバージョン3.23でのみサポートされています。 以上。ただし、古いバージョンでは、ヒープテーブルの概念がありました。 。

    一時テーブルは、その動作と範囲に基づいて2つのタイプに分けることができます。

    1. ローカル一時テーブル
    2. グローバル一時テーブル
    ローカル一時テーブル

    ローカル一時テーブルは現在の接続時間中にのみ使用可能であり、ユーザーが切断すると自動的に削除されます。このタイプのテーブルは、ハッシュ(#)記号で始まります。

    CREATE TABLE #local table (
     user_id int,
     user_name varchar (100),
     user_addrs varchar (150)
     ); 

    以下は、ローカル一時テーブルを生成するインスタンスです。

    グローバル一時テーブル

    グローバル一時テーブルは、ダブルハッシュ(##)シンボルによって開始されます。このタイプのテーブルは削除されず、すべてのユーザーに存在します。永続的なテーブルのように動作します。

    CREATE TABLE #global table (
     user_id int,
     user_name varchar (100),
     user_addrs varchar (150)
     ); 

    以下は、グローバル一時テーブルを生成するインスタンスです。

    一時テーブルの削除

    一時テーブルは2つの方法で削除できます。手動でも自動でも削除できます。

    ローカル一時テーブルは、ユーザーがサーバーから切断した直後に必然的に削除されます。

    DROP TABLE を使用して、一時テーブルを手動で削除することもできます。 コマンド。

    DROP TABLE #tablename

    以下は、一時テーブルを削除するためのインスタンスです。通常のテーブルを削除するのと同じです。

    SQLクローンテーブル

    同じサーバー内の別のSQLテーブルから1つのテーブルを複製または複製することができます。これは、SELECTステートメントを利用して行われます。 。

    SELECT *
     INTO <new_table>
     FROM <old_table>; 

    以下は、あるテーブルのコピーを別のテーブルから生成するための構文です。

    上記のステートメントは、古いテーブルのすべてのコンテンツを新しいテーブルにコピーします。

    以下は、特定の列を古いテーブルから新しいテーブルにコピーするための構文です。

    SELECT column1, column2, column3, …
     INTO <new_table>
     FROM <old_table>; 

    場所 句は上記のステートメントで使用することもでき、特定の条件を指定することもできます。また、AS句を使用して新しい列名を指定できます。

    例:

    次のSource_tableについて考えてみましょう。 。

    ID Fname Lname ProjectID メール プロフィール 都市
    1 ハリー ケイン A1 [email protected] SES コルカタ
    2 ロン ウェズリー B2 [email protected] SDE ムンバイ
    3 ドビー 正気 C3 [email protected] SDE プネ
    4 アルバス ドルビー D4 [email protected] HR アグラ
    5 スネイプ ライト E5 [email protected] SDE デリー

    クエリ:

    CREATE TABLE Contact LIKE Source_table;

    次のクエリは、 Source_tableと同じ属性を持つ空の構造を作成します 。

    出力:

    ID Fname Lname ProjectID メール プロフィール 都市

    クエリ:

    INSERT INTO Contact SELECT *
     FROM Source_table; 

    次のクエリは、Source_tableのすべてのコンテンツを新しいContactテーブルに複製します。

    出力:

    ID Fname Lname ProjectID メール プロフィール 都市
    1 ハリー ケイン A1 [email protected] SES コルカタ
    2 ロン ウェズリー B2 [email protected] SDE ムンバイ
    3 ドビー 正気 C3 [email protected] SDE プネ
    4 アルバス ドルビー D4 [email protected] HR アグラ
    5 スネイプ ライト E5 [email protected] SDE デリー

    クローンテーブルを作成すると、このテーブルは元のテーブルのレコードに影響を与えないため、テストなどのさまざまなデータベース操作に役立ちます。したがって、元のテーブルのデータはそのまま残ります。

    これらは、データベース内のテーブルを処理するために開発者が使用する高度なSQLTABLEステートメントの一部です。これらのステートメントは不可欠であり、慎重に処理する必要があります。

    これらのステートメントは、テスト、データの一時的な保存などのデータベース操作を行います。 そして、すべてがはるかに簡単かつ高速になります。


    1. InsertステートメントのPostgresでUUIDを生成しますか?

    2. pgAdminでユーザーを作成する方法

    3. 繰り返し可能な読み取り分離レベル

    4. MariaDB ColumnStoreとは何ですか?