MySQLテンポラリ・テーブルとレプリケーション・テーブル
8809 ワード
MySQLテンポラリ・テーブルは、テンポラリ・データを保存する必要がある場合に便利です.テンポラリ・テーブルは現在の接続でのみ表示され、接続を閉じるとMysqlはテーブルを自動的に削除し、すべてのスペースを解放します.
テンポラリ・テーブルはMySQL 3.23バージョンに追加され、あなたのMySQLバージョンが3.23バージョン未満ではMySQLのテンポラリ・テーブルは使用できません.しかし、今ではこのような低バージョンのMySQLデータベースサービスを使用することはめったにありません.
MySQLテンポラリ・テーブルは現在の接続でのみ表示されます.PHPスクリプトを使用してMySQLテンポラリ・テーブルを作成すると、PHPスクリプトの実行が完了するたびに自動的に破棄されます.
他のMySQLクライアント・プログラムを使用してMySQLデータベース・サーバに接続してテンポラリ・テーブルを作成する場合は、クライアント・プログラムを閉じるときにのみテンポラリ・テーブルを破棄します.もちろん、手動で破棄することもできます.
例
MySQLテンポラリ・テーブルの削除
デフォルトでは、データベースとの接続を解除すると、テンポラリ・テーブルは自動的に破棄されます.もちろん、現在のMySQLセッションでDROP TABLEコマンドを使用して、テンポラリ・テーブルを手動で削除することもできます.
MySQLレプリケーションテーブル
MySQLのデータテーブルを完全にコピーする必要がある場合は、テーブルの構造、インデックス、デフォルト値などが含まれます.CREATE TABLEだけを使うと...SELECT命令は、実現できません.
MySQLデータテーブルを完全にコピーするには、次の手順に従います. SHOW CREATE TABLEコマンドを使用して、元のデータテーブルの構造、インデックスなどを含むデータテーブル作成文を取得します. 次のコマンドで表示されるSQL文をコピーし、データテーブル名を変更し、SQL文を実行します.以上のコマンドでデータテーブル構造を完全にコピーします. 表の内容をコピーしたい場合はINSERT INTOを使用できます...SELECT文で実現します.
≪インスタンス|Instance|emdw≫
テーブルrunoob_をコピーするインスタンスtbl .
ステップ1:
データテーブルの完全な構造を取得します.
ステップ2:
SQL文のデータテーブル名を変更し、SQL文を実行します.
手順3:
第2の手順を実行すると、データベースに新しいクローンテーブルclone_を作成します.tbl. データテーブルのデータをコピーしたい場合はINSERT INTOを使用して...SELECT文で実現します.
以上の手順を実行すると、テーブル構造およびテーブルデータを含むテーブルが完全にコピーされます.
転載先:https://www.cnblogs.com/loaderman/p/10167523.html
テンポラリ・テーブルはMySQL 3.23バージョンに追加され、あなたのMySQLバージョンが3.23バージョン未満ではMySQLのテンポラリ・テーブルは使用できません.しかし、今ではこのような低バージョンのMySQLデータベースサービスを使用することはめったにありません.
MySQLテンポラリ・テーブルは現在の接続でのみ表示されます.PHPスクリプトを使用してMySQLテンポラリ・テーブルを作成すると、PHPスクリプトの実行が完了するたびに自動的に破棄されます.
他のMySQLクライアント・プログラムを使用してMySQLデータベース・サーバに接続してテンポラリ・テーブルを作成する場合は、クライアント・プログラムを閉じるときにのみテンポラリ・テーブルを破棄します.もちろん、手動で破棄することもできます.
例
CREATE TEMPORARY TABLE SalesSummary (
-> product_name VARCHAR(50) NOT NULL
-> , total_sales DECIMAL(12,2) NOT NULL DEFAULT 0.00
-> , avg_unit_price DECIMAL(7,2) NOT NULL DEFAULT 0.00
-> , total_units_sold INT UNSIGNED NOT NULL DEFAULT 0
);
MySQLテンポラリ・テーブルの削除
デフォルトでは、データベースとの接続を解除すると、テンポラリ・テーブルは自動的に破棄されます.もちろん、現在のMySQLセッションでDROP TABLEコマンドを使用して、テンポラリ・テーブルを手動で削除することもできます.
MySQLレプリケーションテーブル
MySQLのデータテーブルを完全にコピーする必要がある場合は、テーブルの構造、インデックス、デフォルト値などが含まれます.CREATE TABLEだけを使うと...SELECT命令は、実現できません.
MySQLデータテーブルを完全にコピーするには、次の手順に従います.
≪インスタンス|Instance|emdw≫
テーブルrunoob_をコピーするインスタンスtbl .
ステップ1:
データテーブルの完全な構造を取得します.
mysql> SHOW CREATE TABLE runoob_tbl \G;
*************************** 1. row ***************************
Table: runoob_tbl
Create Table: CREATE TABLE `runoob_tbl` (
`runoob_id` int(11) NOT NULL auto_increment,
`runoob_title` varchar(100) NOT NULL default '',
`runoob_author` varchar(40) NOT NULL default '',
`submission_date` date default NULL,
PRIMARY KEY (`runoob_id`),
UNIQUE KEY `AUTHOR_INDEX` (`runoob_author`)
) ENGINE=InnoDB
1 row in set (0.00 sec)
ERROR:
No query specified
ステップ2:
SQL文のデータテーブル名を変更し、SQL文を実行します.
mysql> CREATE TABLE `clone_tbl` (
-> `runoob_id` int(11) NOT NULL auto_increment,
-> `runoob_title` varchar(100) NOT NULL default '',
-> `runoob_author` varchar(40) NOT NULL default '',
-> `submission_date` date default NULL,
-> PRIMARY KEY (`runoob_id`),
-> UNIQUE KEY `AUTHOR_INDEX` (`runoob_author`)
-> ) ENGINE=InnoDB;
Query OK, 0 rows affected (1.80 sec)
手順3:
第2の手順を実行すると、データベースに新しいクローンテーブルclone_を作成します.tbl. データテーブルのデータをコピーしたい場合はINSERT INTOを使用して...SELECT文で実現します.
mysql> INSERT INTO clone_tbl (runoob_id,
-> runoob_title,
-> runoob_author,
-> submission_date)
-> SELECT runoob_id,runoob_title,
-> runoob_author,submission_date
-> FROM runoob_tbl;
Query OK, 3 rows affected (0.07 sec)
Records: 3 Duplicates: 0 Warnings: 0
以上の手順を実行すると、テーブル構造およびテーブルデータを含むテーブルが完全にコピーされます.
転載先:https://www.cnblogs.com/loaderman/p/10167523.html