• 締切済み

MySQLでテーブルのコピーとテーブル名変更

の、それぞれのやりかたはどうすればいいのでしょうか? できれば、SQLでのやり方と、phpmyadminでのやり方をお教えください。 どうぞよろしくお願いします。

  • MySQL
  • 回答数1
  • ありがとう数0

みんなの回答

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

CREATE 新テーブル名 AS SELECT * FROM 現テーブル名; ALTER TABLE 現テーブル名 RENAME 新テーブル名; ただし、CREATE TABLE AS SELECT はKEY情報は引き継ぎませんから、SHOW CREATE TABLEなどから必要な情報を取得して、付与する必要があります。 なお、コピーはDB間でも可能です(テーブル名の頭に「DB名.」をつける)

関連するQ&A

  • MySQLのテーブルタイプの変更について

    phpMyAdminを使用して MyISAMのテーブルをInnoDBのテーブルに変更する処理を行ったのですが #1114 - The table '#sql-413b_41af4' is full とエラーになってしまい変更することができませんでした。 この場合、MyISAMのテーブルをInnoDBのテーブルに変更する ことは不可能なのでしょうか。 もし変更の手段をご存知の方がいらっしゃいましたら、 教えていただけませんでしょうか。宜しくお願い致します。

    • ベストアンサー
    • MySQL
  • MySQLの特定のカラムの内容を全削除

    お世話になります。 表題のとおり、MySQLの特定のカラムの全データを削除したいのですが、ググるとテーブル全削除やWHEREで「30以下を削除」などの条件付きはすぐに出てくるのですがカラムの一行だけを空にする方法が見つけられません。 phpmyadminのSQLタブから実行しています。 ご達人の諸先輩方、どうぞお知恵をお貸しください。 phpmyadminのSQLタブに記載するSQL文をお教え願えますでしょうか。 宜しくお願いします。 MySQL、Window7 64bit Apacheサーバ phpmyadmin

    • ベストアンサー
    • MySQL
  • MySQLの構造をテキストで書き出したい

    データベースを引っ越ししようと思います。 sql * from table into outfile 'table.txt'; で、データは取り出せたものの構造の取り出し方が わかりません。 phpMyadminが使えるといいのですが使えないもので。 引っ越し先で簡単にdbが構築できるようなSQLでとり出せ ないものでしょうか?

    • ベストアンサー
    • MySQL
  • 見えないテーブル(phpMyAdmin)

    phpMyAdminにてテーブルが見えません。 SQLファイルをインポートしたのですが、テーブルが見えません。 コマンドライン上から show tables とやると見えます。 なぜでしょうか?? お詳しい方、ご教授願えませんか?

  • MySQL の設定で行き詰っております・・・。

    こんにちは。 ある海外のフリーソフトをサーバーにインストールしようとして、行き詰っております。宜しくお願い致します。 そのソフトは、MySQLのデータベースを必要とします。 私は今までMySQLのデータベースを使った事はあるのですが、データベースさえ作ればその他は自動的にやってくれるものばかりだったので、今回手動(?)で分からなくなっております。インストールの説明文に次のようにあります。[5]までは済ませています。 ----------------------------------------------- [5] Create the mysql database (usually tinylink) with mysqladmin. mysqladmin -u<your_mysql_user> -p<your_mysql_pass> create tinylink (tinylink というのはソフトの名前なので、データベースの名前も通常その名前だという説明だと思います。mysql admin を使ってここまではできました。) [6] Create the mysql tables. You have 2 options : 1) mysql -u<your_mysql_user> -p<your_mysql_pass> tinylink < db_structure.sql 2) use phpMyAdmin to run the SQL file 'sql/db_structure.sql' ここがわかりません。(1)でも(2)でも良い、という事なのですが、(1)は私には意味が不明です。(特に tinylink < db_structure.sql の部分が不明) (2)はphpMyadminを使って、テーブルの作成に次のファイル('sql/db_structure.sql')を実行するように設定してね、という意味だと思うのですが、phpMyAdminのどの部分でファイルを実行するように設定できるのかが不明です。 "db_structure.sql'"ファイル自体はすでにアップロードしてあるのですが・・・。 なにぶん分かっていない事が多いのでちんぷんかんぷんな事を言っているかも分かりませんが、どうぞお手柔らかに宜しくお願い致します。

    • ベストアンサー
    • MySQL
  • テーブル名の変更について

    次のようなSQL文で、テーブル名を変更しようと思っているのですが、誰かがアクセス中(selectなど)だった場合は、どうなるでしょうか? alter table XXX rename to YYY; また、このような場合の、テストはどうすればよいでしょうか? よろしくお願いlします。

  • mysql_select_db()関数に関して・・・。MySQLでテーブルの作成ができません。

    こんにちは、さくらインターネットのレンタルサーバでMySQLとphpを連動させたサイトを作っているのですが、初歩的なことでつまずいてしまい困っています。 まず、フォームで入力させたデータをPOSTで受け取り、その受け取ったデータをテーブル名として、データベース上にテーブルをつくりたいのですが、エラー文が表示されるだけでできません。 データベース自体への接続はできているようなのですが、phpMyAdminで見ても全くできていません。SQL文をphpMyAdminで実行するときちんと正常にテーブルができますので、そもそもデータベースが使用できないとか、もしくはSQL文の間違いでもなさそうです。 $t1 = $_POST['test1']; $t2 = $_POST['test2']; echo"{$t1}を受け取りました<br>"; $link = mysql_connect('mysql**.db.sakura.ne.jp', 'ユーザー名', 'パスワード'); if (!$link) { die('接続失敗です。'.mysql_error()); } print('接続に成功しました。<br>'); //1.さくらインターネット内にあるデータベースの選択 $db_name = "自分のデータベース名"; $selectDB = mysql_select_db($db_name,$link) or die("接続できません。"); //2.データベース内にテーブルを作成。 echo"{$t1}がテーブル名になります。<br>"; //3.テーブル作成用SQL文 $str_sql = "CREATE TABLE {$t1}" . "(" . "{$t2} INT(7) NOT NULL," . ");"; //4.上のSQL文を実行してテーブルを作る。 mysql_query($str_sql,$selectDB); echo"データベース内にテーブル「{$t1}」を作成しました。<br>"; //データベースへの接続を切断 $close_flag = mysql_close($link); if ($close_flag){ print('切断しました。<br>'); } 実行結果:Warning: mysql_query(): supplied argument is not a valid MySQL-Link resourceとなってテーブルは作成されず。 自分でも調べて見たところ、mysql_connect()での接続はちゃんとできているようなのですが、その次のmysql_select_db()関数がうまく働いていないようです。 つまりデータベースの選択ができていないので当然エラーとなるようです。 もう何日も悩んでいます。わかる方がいましたらどうぞよろしくお願いします。

    • ベストアンサー
    • PHP
  • PHP+MySQL テーブルが表示されない

    下記のように、MySQLのデータをPHPでテーブル形式で表示しています。 【PHP部分】 $check_sql = "SELECT * FROM table WHERE ( check1 LIKE '%東京%' OR check2 LIKE '%品川%' OR check3 LIKE '%%' ) AND hinichi > NOW( )"; $check_recordSet = mysql_query($check_sql); $check_rows = mysql_num_rows($check_recordSet); if($check_rows){ while($check_row = mysql_fetch_array($check_recordSet)) { $checktable = "<tr>"; $checktable .= "<td>".$check_row["check1"]."</td><td>".$check_row["check2"].$check_row["check3"]."</td>"; $checktable .= "</tr>\n"; } $msg = $check_rows."件みつかりました"; } 【HTML部分】 <?= $msg ?> <table> <?= $checktable ?> </table> $checktable が表示されないのですが、 どうも間違えている箇所がわかりません。 $msgは表示されます。 また、$check_sqlは、PHPMyAdmin上で試していますが、エラーは出ておりません。 ご存じの方いらっしゃいましたら、ご教授お願い致します。

    • ベストアンサー
    • PHP
  • SQL Server 2008のテーブル名の変更

    SQL Server 2008上に作成している大量のテーブル名を変更したいのですがSQL Server Management Studioで1個ずつ変更するには結構大変です。 具体的に良い方法はないでしょうか。SQL Serverについては初心者です。 よろしくご教示願います。

  • MySQLのストレージエンジンの種類について

    Windows環境でMySQL5.1.36のデータベースを使っています。 phpMyAdminで見るとストレージエンジンの種類が6つあります。 1) MEMORY 2) MyISAM 3) BLACKHOLE 4) MRG_MyISAM 5) CSV 6) ARCHIVE 私はInnoDBを良く使うのですがphpMyAdminではどのように設定するのでしょうか? InnoDBもMySQLのパラメータでバッファを増やすと、MEMORYエンジンと同じように 高速でINSERTのSQLが実行できます。 それを考えると、InnoDBだけ1個エンジンあれば良いと思ってしまうのですが、 なぜphpmyAdminでは6つのストレージエンジンがあるのでしょうか? それぞれの存在意義が知りたいです。

    • ベストアンサー
    • MySQL