SQL Server select intoの使い方
4117 ワード
SQL ServerデータベースのSELECT INTO文について簡単に説明します.SELECT INTO文はSELECT文の中で特別なタイプです.
機能:
SELECT INTO文は、あるテーブルからデータを選択し、別のテーブルにデータを挿入します.SELECT INTO文は、テーブルのバックアップ・コピーを作成したり、レコードをアーカイブしたりするのによく使用されます.この文は、データベースで指定したカラム・タイプとタイトルで新しいテーブルを作成します.
注意事項:
SELECT INTOは、テーブルのスクリプトを書き換える必要がなく、テーブルの空のコピーを作成する最適な方法ですが、インデックスとトリガは含まれません.あなたがしなければならないのは、WHERE句の条件が偽のSELECT INTOであることを実行することです.SELEC TINTOで生成されたテーブルは、データベースに存在しない必要があります.そうしないと、エラーが発生します.この文を使用するには、いくつかのルールを守らなければなりません.一、SELECT INTOはログが記載されていないプロセスなので、完成品システム上でSELECTINTOを実行するときは、ロールバックによって操作を復元できないので、十分に注意しなければなりません.二、SELECT INTO文を実行する人は、このSELECT INTOを実行するデータベースにテーブルを作成する許可がある必要があります.三、SELECT INTO/BULK COPYデータベースオプションはSELECT INTOを実行するデータベースで開く必要がある.
SQL SELECT INTO文法
すべての列を新しいテーブルに挿入できます.
または、希望する列のみを新しいテーブルに挿入します.
例:
次の例では、「Persons」テーブルのバックアップ・コピーを作成します.
1.同じデータベースからテーブルおよびデータをコピーします.
データを含まない別のテーブルのコピーを作成し、WHERE句の条件が偽のSELECT INTOであることを実行します.次のSQL文に示すように、Personsテーブルのみの空のコピーが作成されます.
2.データベース間でテーブルおよびデータをコピーするには、次の手順に従います.
空のテーブルのみコピー:
3.一部のドメインをコピーしたい場合は、SELECT文の後にこれらのドメインをリストできます.
4. 次の例では、「Persons」テーブルから「Beijing」に住んでいる人の情報を抽出することで、「Persons_backup」という2列のテーブルを作成します.
5.次の例では、PersonsとOrdersの2つのテーブルから取得した情報を含む「Persons_Order_Backup」という新しいテーブルを作成します.
SELECT INTOを使用してExcelファイルをインポートしますが、SQL Serverのグラフィックスインタフェースを使用してexcelファイルをインポートすることをお勧めします.
1.データインポートを受け入れるテーブルが既に存在する場合
2.データをインポートしてテーブルを生成する場合
この作成したテンポラリ・テーブルから目的のテーブルにデータを移動するには、次の方法をお勧めします.
この文はOracleのMerge into文に似ています.それはMerge intoの機能と同じです.
MySQLはSelect Into文の直接バックアップ表構造とデータをサポートしていません.仕事中の必要性から、ネット上で代替方法を見つけることができます.他の方法もあります.まとめは以下の通りです.
方法1:
方法2:
1.テーブル構造とデータ#エクスポートコマンド-uユーザー名-pパスワード-hホストIPアドレスデータベース名テーブル名1>エクスポートファイルをバックアップする.sql
2.エクスポートされたsqlファイルでバックアップ・テーブルの名前を変更し、Persons_のように新しく作成したいテーブル名に変更します.backup
3.MySQL 4にログインします.データベース5を選択します.実行:Sourceバックアップテーブルのパス:Sourced:persons.sqlは車に戻ればいいです. 6.完了
MySQL Select into outfile指定したクエリーデータをファイルにエクスポートするには、次のようにします.
1.テーブルのすべてのデータをDディスクルートディレクトリoutfile.にエクスポートする.txtでは次のようになります.
2.Dディスクルートディレクトリoutfile 1へのクエリー条件LastName like%xiao%のデータのエクスポートtxtでは次のようになります.
機能:
SELECT INTO文は、あるテーブルからデータを選択し、別のテーブルにデータを挿入します.SELECT INTO文は、テーブルのバックアップ・コピーを作成したり、レコードをアーカイブしたりするのによく使用されます.この文は、データベースで指定したカラム・タイプとタイトルで新しいテーブルを作成します.
注意事項:
SELECT INTOは、テーブルのスクリプトを書き換える必要がなく、テーブルの空のコピーを作成する最適な方法ですが、インデックスとトリガは含まれません.あなたがしなければならないのは、WHERE句の条件が偽のSELECT INTOであることを実行することです.SELEC TINTOで生成されたテーブルは、データベースに存在しない必要があります.そうしないと、エラーが発生します.この文を使用するには、いくつかのルールを守らなければなりません.一、SELECT INTOはログが記載されていないプロセスなので、完成品システム上でSELECTINTOを実行するときは、ロールバックによって操作を復元できないので、十分に注意しなければなりません.二、SELECT INTO文を実行する人は、このSELECT INTOを実行するデータベースにテーブルを作成する許可がある必要があります.三、SELECT INTO/BULK COPYデータベースオプションはSELECT INTOを実行するデータベースで開く必要がある.
SQL SELECT INTO文法
すべての列を新しいテーブルに挿入できます.
SELECT *
INTO new_table_name [IN externaldatabase]
FROM old_tablename
または、希望する列のみを新しいテーブルに挿入します.
SELECT column_name(s)
INTO new_table_name [IN externaldatabase]
FROM old_tablename
例:
次の例では、「Persons」テーブルのバックアップ・コピーを作成します.
1.同じデータベースからテーブルおよびデータをコピーします.
SELECT *
INTO Persons_backup
FROM Persons
データを含まない別のテーブルのコピーを作成し、WHERE句の条件が偽のSELECT INTOであることを実行します.次のSQL文に示すように、Personsテーブルのみの空のコピーが作成されます.
SELECT *
INTO Persons_backup
FROM Persons WHERE 1=0
2.データベース間でテーブルおよびデータをコピーするには、次の手順に従います.
select * into Persons_backup from Project.dbo.Persons
空のテーブルのみコピー:
select * into Persons_backup from Project.dbo.Persons where 1 = 0
3.一部のドメインをコピーしたい場合は、SELECT文の後にこれらのドメインをリストできます.
SELECT LastName,FirstName
INTO Persons_backup
FROM Persons
4. 次の例では、「Persons」テーブルから「Beijing」に住んでいる人の情報を抽出することで、「Persons_backup」という2列のテーブルを作成します.
SELECT LastName,Firstname
INTO Persons_backup
FROM Persons
WHERE City='Beijing'
5.次の例では、PersonsとOrdersの2つのテーブルから取得した情報を含む「Persons_Order_Backup」という新しいテーブルを作成します.
SELECT Persons.LastName,Orders.OrderNo
INTO Persons_Order_Backup
FROM Persons
INNER JOIN Orders
ON Persons.Id_P=Orders.Id_P
SELECT INTOを使用してExcelファイルをインポートしますが、SQL Serverのグラフィックスインタフェースを使用してexcelファイルをインポートすることをお勧めします.
1.データインポートを受け入れるテーブルが既に存在する場合
insert into select * from
openrowset(microsoft.jet.oledb.4.0
,excel 5.0;hdr=yes;database=c:test.xls,sheet1$)
2.データをインポートしてテーブルを生成する場合
select * into from
openrowset(microsoft.jet.oledb.4.0
,excel 5.0;hdr=yes;database=c:test.xls,sheet1$)
この作成したテンポラリ・テーブルから目的のテーブルにデータを移動するには、次の方法をお勧めします.
insert into tablename ([field1],....) select [field1],.... from [ ]
この文はOracleのMerge into文に似ています.それはMerge intoの機能と同じです.
MySQLはSelect Into文の直接バックアップ表構造とデータをサポートしていません.仕事中の必要性から、ネット上で代替方法を見つけることができます.他の方法もあります.まとめは以下の通りです.
方法1:
Create table new_table_name (Select * from old_table_name);
方法2:
1.テーブル構造とデータ#エクスポートコマンド-uユーザー名-pパスワード-hホストIPアドレスデータベース名テーブル名1>エクスポートファイルをバックアップする.sql
mysqldump -uroot -proot -h192.168.1.101 Project persons > persons.sql
2.エクスポートされたsqlファイルでバックアップ・テーブルの名前を変更し、Persons_のように新しく作成したいテーブル名に変更します.backup
3.MySQL 4にログインします.データベース5を選択します.実行:Sourceバックアップテーブルのパス:Sourced:persons.sqlは車に戻ればいいです. 6.完了
MySQL Select into outfile指定したクエリーデータをファイルにエクスポートするには、次のようにします.
1.テーブルのすべてのデータをDディスクルートディレクトリoutfile.にエクスポートする.txtでは次のようになります.
Select * into outfile 'D:\\outfile.txt' from reiyendms.user_info
2.Dディスクルートディレクトリoutfile 1へのクエリー条件LastName like%xiao%のデータのエクスポートtxtでは次のようになります.
Select * into outfile 'D:\\outfile1.txt' from reiyendms.user_info where last_name like '%xiao%'