• 締切済み

MYSQLのテーブルデータについて

MySQLのテーブルデータ(いくつかある)の中身を、テーブルを残したまま中のデータのみリセットを行いたいのですが、わかりません。 myisamchk -r とかのようにコマンドで出来るものなんでしょうか? 中身のデータのリセット方法があれば教えてください。 よろしくお願いします。

  • MySQL
  • 回答数2
  • ありがとう数10

みんなの回答

回答No.2

RDBMSはMySQLでいいのですね? TRUNCATE TABLE テーブル名 で、表の定義は残し、全行削除できます。 DELETE文では1行ずつ削除するので、時間も掛かるし、インデクスなど大きな残骸が残ってしまいます。 一方、TRUNCATEは管理情報のみの削除なので、0件や未格納状態にしたい場合は効率的に行えます。

回答No.1

マネージャーで入って、Delete文を実行するとかいくらでも方法はあります。

関連するQ&A

  • MySQL の load data infile

    お世話になります。 MySQL のload data infile ... コマンドを使ってCSVファイルをテーブルに転送することをよくやっていますが、このコマンドには現在あるデータはそのままにして、新たにデータを追加するオプションなどはあるのでしょうか? 今までは空のテーブルにデータを転送していただけですが、既にあるデータに上書きすることなく、追加する方法があれば教えていただきたいと思います。 よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • Mysqlで2つのtable間のデータ移動は可能ですか?

    Mysqlのデータベースに2つの全く同じ構造のテーブル(table1とtable2)があります。phpを介してtable1のデータを一件づつ手動でtable2に移動したいのですが、どのような方法がありますか? それ以前の問題として、2つのtable間でデータを移動できるものなのでしょうか?

    • ベストアンサー
    • PHP
  • MYSQLで異なるテーブル間のデータを参照できますか?

    MYSQLの超素人なので質問自体がおかしいかもしれませんが、あるテーブルのデータを他のテーブルにも利用したいのですが、これは可能でしょうか? もともとの発端は、mysqlのtable_1からデータを引っ張ってくるphpのプログラムがあるのですが、そのtable_1には私の欲しいデータがありませんでした。それでphpmyadmin(私はこれでしかDBをいじれません)を見てみると、table_2に欲しいデータがありました。 この時点で私は ・phpのプログラムをいじってtable_2からもデータを引っ張ってくるようにしたほうがいいのか それとも ・table_1にもう一行(これはなんていうのでしょう・・・ 呼び方が分かりません)追加してtable_2の欲しいデータを引っ張ってきた方がいいのか などと考えてみたのですが、いかんせん、phpもmysqlも全然分からないので、どうしたもんかと思っておりました。それでまだ簡単そうな2番目について質問してみました。が、何か根本的に考え方がおかしい部分などあると思うので、それもあわせて指摘していただけると幸いです。よろしくお願いします。

    • ベストアンサー
    • MySQL
  • MySQLのテーブルに、CSV形式のデータ・・・

    MySQLのテーブルに、 CSV形式のデータを、まとめてinsertしたいのですが、どうすればいいのでしょうか? なお、レンタルサーバは、VPSで、 host guestともRHELです。 phpmyadminも使えまして、それでできるかどうかわかりませんが、 簡単でかつ待ちがわない方法を知りたいです。 できれば、大量のデータをいっぺんにinsertしたいです。 以前、、つみきCSEや、Access(XP?)でやろうとしたことはあります。 ただ、データを大量に1度はできなかったきがします。 ==== あと、これが簡単かどうかわかりませんが、コマンドラインからできますでしょうか? よろしくお願い申し上げます。

    • ベストアンサー
    • MySQL
  • MySQLのデータの互換性は?

    Windows上で作成したMySQLのデータを、Linux上のMySQLにデータを移行して使用することは出来るのでしょうか? 出来る場合、どのようにするのでしょうか? 試しにWindowsでdumpコマンドでバックアップファイルをLinuxでrestoreしてみたのですが、テーブルは出来ていませんでした。(やり方が悪かったのかもしれません) WindowsXPはMySQL4.0.20、LinuxはFedoraCore3・MySQL3.23.58を使用しています。 どちらもphpMyAdminを使用しています。 よろしくお願いします。

    • ベストアンサー
    • MySQL
  • 2つのテーブルからデータを取り出す mysql

    Mysql  2つのテーブルからデータを取りたいです。 テーブル名 aman id : amemberid : bookid : kakaku : sonota : day テーブル名 bman id : bmemberid : bookid :title : day この二つのテーブル amanからkakaku,sonota。bmanからtitleを取り出したいのですが どのようなSQLになるのでしょうか。 bookidは2つのテーブルに同じ数字番号が入るようになっています。 ソース $sql='SELECT * FROM aman WHERE bookid=? JOIN message2 ON aman.bookrid=bman.bookrid'; $stmt=$dbh->prepare($sql); $data[]=$carid; これではだめでした。

    • ベストアンサー
    • MySQL
  • MYSQLへのデータサイズの大きなデータの挿入

    C APIを用いて、MYSQLにテキストファイルの中身を格納したいと考えています。 以下のプログラムのように一度ファイルの中身をchar型配列に書き出し、配列の中身をクエリにコピーというようにすると、ファイルの大きさに合わせて、非常に大きな配列を確保しなければならないと思います。 int main(void){ MYSQL mysql; char query[1000]; char buf[1000]; FILE *fp; fp = fopen("test.txt", "r"); mysql_init(&mysql); if(!mysql_real_connect(&mysql,ホスト名,ユーザ名,パスワード,DB名,0,NULL,0)){ //エラー処理 } fread(buf, sizeof(char), sizeof(buf), fp ); sprintf(query, "insert into DB名 values(buf)); mysql_real_query(&mysql, query, strlen(query)); } これではメモリの無駄遣いなので、他の方法として、 1.データを分割して複数回に分けて挿入する 2.テキストファイルから直接読み込む を考えました。 しかし 1.は方法が分からず、 2.はリダイレクトを使えばできると思ったのですが、リダイレクトでは  テキストファイルにSQLコマンドも記入しておく必要があると思うの で、今回の方法には合いません。 MYSQLのフィールドにC言語から大きいデータを書き込むよい方法があれば教えてください。さらには、読み出し方まで教えていただけると助かります。 よろしくお願い致します。

    • ベストアンサー
    • MySQL
  • MySQLにデータをインポートできない

    MySQLにAccessのテーブルデータをインポートする方法はありませんか?教えてくださーい!

    • ベストアンサー
    • MySQL
  • mysql3.23でテンポラリテーブルの使い方

    mysql3.23で、以下のようなテーブルでリスト形式の番号を、対応する他のテーブルのデータにマッチさせて代入する方法を教えてください。 [テーブル1] 'id' | 'type' 1 | 1,2 2 | 1,3,5 3 | 2,4 [テーブル2] 'id' | 'name' 1 | red 2 | blue 3 | yerrow 4 | green 5 | pink [このように出力したい] 'a.id' | 'b.name' 1 | red,blue 2 | red,yerrow,pink 3 | blue,green サブクエリなど使えばできるのだと思いますが、 ずっとmysql3.23なので、今まではプログラム側でループさせて出力していましたが、 今回テンポラリーテーブルに挑戦しようと思ったので、テンポラリーテーブルを使って取得する方法があれば、ぜひやり方を教えてください。 お願いします。

  • データテーブルの使い方に関して

    MySQLからデータを取得し、その情報を加工した後、データセットへ格納したいと考えています。 単純にMySQLから直接データをデータセット等へ格納する方法は、FILL等を使えば 実現できましたが、1件1件加工しながらセットする方法がわかりません。。。 ※ 加工しながらというよりは、加工した後の結果データ 今現在、以下のようにデータセットとデータテーブルを作成しましたが、どのように データを追加すれば良いのでしょうか??? 《記述内容》   DataSet myds = new DataSet();   DataTable mytable = myds.Tables.Add("MyTable"); それに関連して教えて頂きたいのが、上記のようにデータテーブルをデータセット内に 作成しましたが、データテーブルというのは、そもそもテーブルの中に項目?フィールド?を作成しないと データというのは格納できないのでしょうか。。。 初歩的な質問で申し訳ありませんが、教えて頂きたいと思います。