• 締切済み

MySQLで1つのフィールドのデータを全部

MySQLで1つのフィールドのデータを全部すべて書き換えることはできるでしょうか?  もしできるのであればコマンドを教えていただけないでしょうか。お願いします。 フィールドを一度に同じ値に書き換えたいのですが解りません。ひとつとひとつおこなうと膨大な数なので一週間ぐらいかかってしまいます。人力しかないのでしょうか。

  • gcc
  • お礼率8% (10/125)

みんなの回答

  • noopee
  • ベストアンサー率38% (114/297)
回答No.2

再度。 なんだか補足読ませていただくと、最初の質問からはまったく見えてこない内容なんですが...? 「検索結果の順番をどのようにするのか」ということですが、検索条件によって変わります。 DB構成と検索条件を教えていただければ、もっと詳しく回答できるかと思います。

  • noopee
  • ベストアンサー率38% (114/297)
回答No.1

こんにちは。 updateでwhereでの条件を指定しなければ、全データが書き換わると思うのですが...。 update tblname(テーブル名) set column(フィールド名) = 'data'(セットしたいデータ) 質問の意味が違うようでしたら、補足ください。

gcc
質問者

お礼

回答ありがとうございます。 アップデートするということではなくて、検索する際の検索結果の順番の指定のことを言っています。 説明不足で申し訳ないです。 検索結果の順番をどのようにするのか教えていただけないでしょか?

関連するQ&A

  • mysqlでテキストフィールドへPHPからデータ

    もともと考え方がおかしいのかも知れませんが PHPでデータをよみます。 mysql ではTEXTフィールドがあります $r=fread($fp, 長さ(可変長)); でこれからです。 Buf4がTEXTフィールド); $sql="insert into $tbn4 ( Buf4 ) values ($r); sql実行。データがはいりません。

    • ベストアンサー
    • PHP
  • MySQLでのフィールドの結合

    こんにちはurudakaraといいます。よろしくお願いします。 私はSQLに関する知識がほとんどありませんがよろしくお願いします。 私はopenofficeをubuntu10.04上で使っています。 業務上データが大量になったためopenofficeについているHSQLというデータベースエンジンでは動作が遅くなったので、データベースエンジンをMySQLに変えました。 するとHSQLでは問題なく結果が出ていたクエリが違う数値を出すようになりました。 まずopenofficeのbaseのテーブルで 識別番号(MySQL Administrator で見るとData Type は VACHAR(50)となってます。) 区分(MySQL Administrator で見るとData Type は DECIMAL(50,0)となってます。) というフィールドがあります。 この状態でopenofficeのクエリのデザイン画面でフィールド欄に "識別番号"+"区分" としてました。 "識別番号1234"+"区分5"の場合  HSQLの場合は結果が 12345 MySQLの場合は結果が 1239 となります。 MySQLでもHSQLの時と同じように結果を出すようにするにはどうSQL文を書けば良いでしょうか? 初心者で分からない事ばかりですが、よろしくお願いします。

    • ベストアンサー
    • MySQL
  • MySQLのLOAD DATAに関して

    MySQLのLOAD DATAで、固定長行フォーマットのファイルのロードを行っています。 その際、以下のような現象の原因がわからず困っています。 データをロードするテーブル、ロードファイル、実行コマンドは以下になります。 -------------------- テーブル -------------------- フィールド1 char(2) フィールド2 char(2) -------------------- ロードファイル(テキストファイル) -------------------- 1020 3040 -------------------- 実行コマンド -------------------- LOAD DATA INFILE 'ロードファイル' INTO TABLE テーブル FIELDS TERMINATED BY '' ENCLOSED BY '' LINES TERMINATED BY '\r\n'; 結果は以下のように、フィールド2にはデータが登録されていません。 ------------- フィールド1  | フィールド2 ------------- 10      |  30      |  望んでいる結果は以下のような結果です。 ------------- フィールド1 | フィールド2 ------------- 10     |20  30     |40  いろいろ試してみたのですが、 どうもchar(2)の場合は2バイトの倍の4バイト、 char(4)バイトの場合は倍の8バイトというふうにデータが区切られるため、 フィールド1のデータを取得する際に4バイト取得してしまっており、 フィールド2の分のデータが取得できません。 どこに不備があるのかわからないのですが、 何か原因の検討がつく方がいたら、ご回答よろしくお願いします。

    • ベストアンサー
    • MySQL
  • mysql_field_lenの返り値がvarcharで3倍になる

    PHPの関数「mysql_field_len」で、わからない点がありました。 $id = mysql_list_fields ( 'DbName', 'TableName' ); $num = mysql_num_fields ( $id ); for ( $i=0; $i<$num; $i++ ) { print mysql_field_name ( $id, $i ) ."<BR>\n"; print mysql_field_len ( $id, $i ) ."<BR>\n"; print mysql_field_type ( $id, $i ) ."<BR>\n"; print mysql_field_flags ( $id, $i ) ."<BR><BR>\n"; } として、各フィールドの情報を表示させました。 すると、mysql_field_typeが「string」(実際にはvarchar)の時、 mysql_field_lenの返す値が3倍になって返ってきます。 例:varchar(8)→24 これは何の値を返しているのか、また設定の問題なのか、 ご存知の方はいらっしゃいますでしょうか。 よろしくお願いいたします。 環境: PHP4.3.10 MySQL4.1.10

    • 締切済み
    • PHP
  • MySQLでフィールドの並び替え

    お世話になります。 PHP+MySQLで投票システムの構築をして、管理画面をもう少し見易くしようと思っております。 現在は、単純に投票されたフィールドに対しカウントアップをさせて1回投票されたら「 1 」、 2回投票されたら「 2 」。 「 3 」、「 4 」、「 5 」・・・という様になっております。 そのデータベースへINSERTされたデータをSELECTする際に、数値( 投票数 )が 多い順に並べ替えをしたいと思っておりますが、どの様なクエリを投げてあげれば良いかが 全く分かりません。 例えば、【 ORDER BY フィールド名 】とすると、対象のフィールド名でソートされるのは、 勿論理解しているつもりですが( プラス DESCで降順等 )、今回は 1、りんご → フィールド名: 【 item1 】 2、みかん → フィールド名: 【 item2 】 3、ぶどう → フィールド名: 【 item3 】 という様にフィールド名は違うので、今回の仕様でのソートという概念が理解できません。 ----------------------------------- ▼スペックについて PHP5.3.3 5.0.77 ----------------------------------- ご教示いただけると幸いです。 どうぞよろしくお願い申し上げます。

    • ベストアンサー
    • PHP
  • MySQLコマンドライン操作

    MySQLまだ始めたばかりです。 1.データベース上のテーブルの一つに、フィールドを追加しました。追加したフィールドに、既存のフィールドのデータを左から右へ、そのままコピーしたいのですがコマンドラインベースの記述を教えてください。 2.またdBASEコマンドでのbrowseのような編集画面はないのでしょうか・・ 3.まだMySQLのみの目の覚めるような良き参考書に巡り会っていません。

    • ベストアンサー
    • MySQL
  • MySQL 複数フィールドで不一致の抽出

    ジャンル  id ジャンル名 日 数 id ----+---------------+--------------+---------+------- 001 ワンピース 20110518 10 a001 001 ワンピース 20110518 6 a002 002 アクセサリー 20110518 5 b002 仮に、このようなデータがあったとします。 数時間後には、↓のように変更がかかって送られてきます。 001 ワンピース 20110519 7 a001 001 ワンピース 20110518 6 a002 002 アクセサリー 20110519 9 b002 データ配布元の問題で、内容が更新された時点で、まだデータが確定していないものは、前日のデータが混ざって送られてきます。 この仕様を改良することは、残念ながら全く不可能です。 しかし、このデータをそのままテーブルに取り込んでしまうと、当然、2行目が重複してテーブルに収まってしまい、その後のデータ抽出に支障がでます。 例の場合でいえば、既に存在している2行目のデータを捨て、1行目と3行目のみを抽出する方法を探しています。 そこで、全部のデータを持つのをテーブル1とし、新しく着いたデータ(0519を含む方)をテーブル2に一時保管て、 SELECT テーブル2.ジャンルid, テーブル2.ジャンル名, テーブル2.日, テーブル2.数, テーブル2.ID FROM テーブル2 LEFT JOIN テーブル1 ON (テーブル2.ID = テーブル1.ID) AND (テーブル2.数 = テーブル1.数) AND (テーブル2.日 = テーブル1.日) AND (テーブル2.ジャンルid = テーブル1.ジャンルid) WHERE (((テーブル1.ジャンルid) Is Null)); と不一致SQLをAccessで行ったところ、1行目と3行目までが抽出できました。 ジャンルid、日、数、id が一致しないものを取りだすという不一致クエリの改造です。 ところが、同じSQLを、本番であるMySQLで行ったところ、データが抽出できす、反応が無くなってしまいます。 サンプルでは件数を絞りましたが、実際には1回分のデータが1万件近くあり、さらにメインテーブルは60万件ほどになるため、量が多すぎるためとも思いますが、4時間経ってもクエリの結果が返って来ないのは、MySQLとなにか合わないのではないかと思います。 MySQLで、上記と同じく、ジャンルid、日、数、id の全てが一致しないデータを抽出する事は可能でしょうか? ちなみに、MySQLテーブルでは、idの前にインクリメントのフィールドを置き、インデックスもインクリメントのフィールドで作成してあります。 よろしくお願いします。

  • date型フィールドへのデータ挿入がうまくいきません。

    date型フィールドへのデータ挿入がうまくいきません。 PHP5.2.6,MySql5.0.51bを利用しています。 フィールドにdate型を指定して、phpからmysql_queryで"2010-1-1"というデータを挿入したところ"0000-00-00"として格納されていました。 phpMyAdminから「挿入」・「SQL」で"2010-1-1"を挿入したところちゃんと"2010-01-01"として格納されました。 phpから"2010-1-1"というデータを"2010-01-01"として格納するにはどうすればいいのでしょうか? 文字コードはphp・MySqlともにUTF-8を使用しています。

    • ベストアンサー
    • PHP
  • MySQLのインデックスについて

    MySQLのインデックスについて 検索画面で検索条件となるテキストフィールドが5つ(仮に住所、年齢、名前、電話番号、メールアドレス)あった場合全てのテキストに値を入力すると WHERE 住所 = 'XXXXX' AND 年齢 = XX AND 名前 = 'XXXX' AND 電話番号 = XXXX AND メールアドレス = 'XXXX' (Xは入力値) といった具合のSQL文になります。 最低でもどこかのテキストフィールドの1つが必須入力の場合、インデックスを貼るのであれば5つのフィールドのあらゆる組み合わせのインデックスを作成しなければならないので膨大なデータ量(1億件)がある場合はインデックスサイズも大きくなりますし、既に存在するデータに対してインデックス作成するのでそれだけで相当な時間がかかります。 しかしインデックスがないと検索に相当な時間がかかるのでインデックスはどうしても必要です。 こういった場合の対処法を教えてください。 MySQLはMyIsamを使ってます。 よろしくお願いします。

    • ベストアンサー
    • MySQL
  • MySQLのデーターフォルダ

    現在Windows上で動いているアプリ(フリー)なのですが、 このアプリが、Apache、php、MySQLを使用していて、 別のPC(windows)に移行したいのですが、MySQLのデーターの移行 とはどのようにすればいいのでしょう? MySQLのdataフォルダをコピーすればOKですか? それとも、コマンドでエクスポート/インポートしてやるのでしょうか? データーベースって全くやったことないもので。。。。 手順、コマンド等ご教授いただけたらと思います。。。。 ちなみに、移行するアプリは、そんなに重要なものではないです。

    • ベストアンサー
    • MySQL