06/11/09 14:41:12 JW+Aghlr
普段から使っている方からすれば初歩的な質問だと思いますが、お願いします。
まず、
$con=mysql_connect(~);
mysql_select_db(~);
$sql="select * from ~";
$result=mysql_query($sql, $con);
という感じで、テーブル全ての情報を$resultに格納します。
この後、参考にしている本では
while($row=sql_fetch_array($result)){
~;
}
として順番に一行ずつ参照しています。
これを少し変えて、参照する行を逆順にするにはどうしたらいいでしょうか?
98:nobodyさん
06/11/10 07:13:46
>>97
$sql="select * from ~ DESC";
99:nobodyさん
06/11/13 12:48:28 oOz598NF
ものすごい初歩的な質問だと思うのですが・・
show tables;
などをした際に大量にあった場合コンソールのバッファを越えてしまいます。
一つずつ見るにはどうしたらいいのでしょうか?
linuxコマンドのmoreのような事をしたいと思っています。
100:nobodyさん
06/11/22 00:39:53 EkJNk5rg
>>98
便乗して質問してもいいですか?
order by 苗字, 名前
苗字順にして、苗字が同じならば名前順 としたい場合、上記でいいと思うのですが、
あるフィールドがNULLではない行を先に苗字順にし、更にNULLの行を苗字順にしたい場合、
1つのクエリで処理することはできないのでしょうか?
現在は2つのクエリで1クエリでNULLではない行の苗字順、 2つめのクエリでNULLの場合の苗字順
後からそのクエリをプログラム側で合わせてます。
尚、あるフィールドがNULLではない場合、それぞれ異なるキーがはいってます。
101:nobodyさん
06/11/22 00:51:39 EkJNk5rg
なんか説明が下手なので例データを書きます
|苗字|名前|趣味|
―――――
|竹中|三郎| |
|秋葉|一郎|アニメ |
|山本| 萌 | |
|鈴木|四郎|野球|
↑このデータベースを1つのクエリで
|苗字|名前|趣味|
―――――
|秋葉|一郎|アニメ |
|鈴木|四郎|野球|
|竹中|三郎| |
|山本| 萌 | |
趣味がある人の中で苗字順、趣味が無い人の中で苗字順
こう並べ替えたいのです。
102:nobodyさん
06/11/22 07:39:58
応用力のない人だな
趣味のorderの前に趣味がNULLかどうかのorderいれりゃいいだけだろ
103:nobodyさん
06/11/22 07:53:23
>>99
MySQL Command Line Clientを使ってると仮定して、、、
tee C:\data\out.txt
とかやると、logファイルを残してくれる。
104:nobodyさん
06/11/22 21:54:47 en/LIJ9f
すいません、以下の文章の意味が全く分からないのですが、どなたか解説していただけないでしょうか。
なぜそれで「テーブルロックが回避される」のか、サッパリ理由が書かれてませんよね。
っていうか下記のページ、全体的に日本語がおかしい気がします・・・。
>URLリンク(dev.mysql.com)
>大量に更新された MyISAM テーブルに対して複雑な SELECT クエリを使用しないようにする。これでテーブルロックを回避する。
105:nobodyさん
06/11/23 19:10:32 cbnkHJk4
mysqlで対象のフィールドがあればupdateして、なければinsertするみたいなSQLは書けるんでしょうか。
方法があればご教示(ご教授ではない)下さい。
106:nobodyさん
06/11/24 11:04:03
>>105
自分で事前にSELECTして判別。
107:100
06/11/25 19:39:56 4UZyL29A
>>102
そうすればいいことはわかってるのですが、
そのやり方がわからないのです・・
108:nobodyさん
06/11/27 10:49:30 7YzUTRJS
oracleのrankみたいな関数はmysqlにはない?
109:nobodyさん
06/11/29 03:03:59
>>105
REPLACEじゃだめなん?
110:nobodyさん
06/12/01 12:13:26
>>107
select * from user order by isnull(shumi), shumi;
111:nobodyさん
06/12/04 17:07:45
誰か、日本語の全文検索精度を上げる方法を・・・
無理か('A`)
112:うた
07/01/09 19:08:10 LU4PzMfb
テキストファイルを使用したSQL文の読込み
ってどうやるのか探して彷徨っています。
load data infile はデータの読み込みでしょ?
そうじゃなくてupdate文を読み込んで一気に処理したいんですが、
分からない。phpで mysql_query で変数のsql文を読み込むこと
はするけど、外部ファイルから読み込めるのかなぁ
113:nobodyさん
07/01/09 20:48:44 E47pJCGV
mysql_query(file_get_contents("ファイル"));
114:うた
07/01/10 12:54:09 KwOV/H2D
ありがとうございます
でもなんかうまくいきません。
zanji.phpの中身
<?php
mysql_connect('localhost','root','123');
mysql_select_db('wikidb');
mysql_query(file_get_contents("temp.sql"));
?>
---------------------------------------
temp.sqlの中身
update page set page_title = '阿(あ)' where page_title='0000100';
update page set page_title = '愛(あい)' where page_title='0000200';
って感じで、
php zanji.php
を実行しても何も変化がありません。(DBのpage_titileも書き換えられていないし)
====================
そもそも、
他のマシンに入れたphpmyadminにはSQL実行窓の下側に、sqlファイル読み込みの窓
があるのに、どういう訳か、phpMyAdmin - 2.8.2 をインストールしたこのマシンでは
それが出ない。
バグっすかね。
115:nobodyさん
07/01/10 22:23:34 /8+Ver2h
MySQLでリレーション組んでるのですが、下のURLのようなテーブルの場合どうすればいいのでしょうか?
URLリンク(www.geocities.jp)
同じテーブルから3つ呼び出したいのですがうまく行きません。
select staff.name, area.area from staff inner join area on staff.idou = area.area
のように1つだけならできるのですが、2つ以上になるとできません。
アドバイスをください……
116:115
07/01/12 22:34:51
だれかわからないでしょうか?
117:nobodyさん
07/01/12 23:16:07
>>115
質問の意味がわからない(;´Д`)
どういう結果がほしいの?
118:115
07/01/13 02:44:23
URLリンク(www.geocities.jp)
の下のほうに希望する結果書きました。
select staff.name, area.area from staff innner join area on staff.idou = area.num
でstaffテーブルのidouに対応するareaテーブルのareaが結合できるのですが、別フィールドに同じテーブルからさらに引っ張りたい場合のやりかがたわからないのです。
説明がへたくそですみません……
119:nobodyさん
07/01/13 14:27:54
>>115
SELECT
staff.num,
staff.name,
area_s.area,
area_k.area,
area_i.area
FROM
staff,
area AS area_s,
area AS area_k,
area AS area_i
WHERE
staff.siten = area_s.num
AND
staff.kibou = area_k.num
AND
staff.idousaki = area_i.num
ごめん、こんな冗長なのしか思いつかなかったw
120:うた
07/01/15 16:45:17 jQqUIVCH
>>112-114
自己解決しました。私はwindows2000でmysql5を弄っています。
コマンドプロンプトで
C:\Documents and Settings\Administrator>mysql -uroot -phimitu wikidb < c:\mysql5\bin\test.sqle
とかしたら出来ました!
【解説】
mysql はmysqlに命令を与えるコマンドの一つ。ほかにもmysqladminとかある
-uroot は引数-uにユーザー名であるrootを指定
-phimitu は引数-pにパスワードhimituを指定
wikidb は使用するデータベースを指定
この次が問題!
< ←これがリダイレクト。これ以降の右辺を読み込んで左辺へ渡す
c:\mysql5\bin\test.sqle 左辺にファイル(中身はテキスト)
キーワードは「リダイレクト」ググって見て下さい。
ただ、私の場合、命令文を収めたtest.sqlファイルが1万件くらいあって、それが巨大すぎて動かなかったみたいです
細切れにして実行させたら動きました。
ファイルを読み込むっていっても自ずと限界があるようで・・・
121:115
07/01/15 21:57:46
>>119
最後のwhereでなくon みたいですね。
別名をつけるのは思い浮かびませんでした。 SQLは長くなるけど、ループしてなんどもSelectかけるよりはいいのかぁ。
とりあえずこれでやってみます。 ありがとうございました。
122:うた
07/05/12 18:19:17 4Q6meIRD
初心者のうたです。
MYSQLの5を使っています
出力結果が文字化けして困っています。
PHPスクリプトをutf-8で保存し、
mysqlのテーブルのフィールドの照合順序をすべてutf8_general_ciにし、
ていますが、select文で検索させて出力させると、文字化けになってしまいます。
数字項目はちゃんと出力されているので、スクリプト自体はおかしくないと思うのですが、
どこか設定にミスがあるのでしょうか?
shift-jisに合わせてみてもダメでした。
因みに、ウィキペディアに使われているmediawikiを私のマシンにも
走らせているのですが、そこではうまく日本語を文字化けさせず表示
されています。(まぁインストールは全自動ですからうまい具合に設
定しているのでしょうが)
どなたか、助言を下さいませんか?
123:nobodyさん
07/05/12 19:01:21
>>122
select文の前に"SET NAMES utf8"とSQL撃ってみてはどうですか
124:nobodyさん
07/06/02 00:22:41 wH3kGVeU
初歩的なのですが
複数の単語の検索は
SELECT *
FROM `friendlist`
WHERE `game` LIKE '%虹%' && '%GOW% '
でいいのでしょうか?
||はちゃんとどちらか含んでいるものがヒットするのですが
アンド検索の上記は何もヒットしません…
125:nobodyさん
07/06/02 00:39:17 wH3kGVeU
あ、||も、よくよく見たら前の一個分しか引っ張ってませんでした…な、なんでだろう
126:nobodyさん
07/07/02 00:07:22
intel macを導入して今までと同じMySql4.0.X環境どう作るのかとうろついててたどり着きました。
webアプリ仕事で書くようになって4年くらいになるけど、たいていのレンタル鯖はMySql4.0.Xじゃないですか。
それに合わせてローカル環境もMySql4.0.Xにしてたし、今も機能追加とかメンテとかはその環境でやってます。
おそらくレンタル鯖が勝手にMysqlのバージョンを変えたらどこのプログラムもトラブルを起こすことは目に見えてるだろうから、新たに予算組んで作り直すまではそのままでいくことになるだろう。
先日Intel Mac導入して環境構築してがく然としたんだけど、Intel MacネイティブのMySql4.0.Xって無いらしい。
MySql4.0.X系で作ったプログラムと関わり続けていかないとならない皆さんはこのあたりどう対処してますか?
127:nobodyさん
07/10/01 18:34:26 Fh+5Omxq
SHOW COLUMNS FROM tableのキャッシュを破棄したいのですがどうすれば良いのでしょうか?
128:nobodyさん
07/10/22 06:05:52 qzDl+cH5
php+mysqlで検索システムを作ってるんですが,
例えばコマンドラインから
select * from unko where auther like "%chinko%" and auther like "%manko%";
ってやるとちゃんとand検索できるのに,ブラウザからまったく同じコマンド打っても
一件も引っかからない状態です.
and検索とかやらないで条件を一つだけ設定するとブラウザからでもいけます.
原因のあたりつく人いますか?
129:nobodyさん
07/10/22 19:13:51
>>128
あー、まあ、なんだ、とりあえず、お前は
SQLインジェクションというものを調べたほうがいいぞ。
130:nobodyさん
08/09/21 00:19:39 f7M58QFz
mysql+php で現行のwebサービス使って劣化ショップみたいな物つくってます。
RESTで拾ってきたXMLをそのままmysqlのレコードにぶち込むような処理をつくったら
ぶち込んだテーブルをmysqladminでみると、オーバーヘッドなる物が多発しております。
DBの最適化してオーバーヘッドを消すのですが、何度か処理を動かすとまた
オーバーヘッド部が出来上がるようなのです。
そもそもオーバーヘッド部はどういう処理したときにできるものなのでしょうか?
御教授ください
131:nobodyさん
08/09/26 15:23:11
>>130
innodb使っておけ
132:MY
08/11/19 22:26:42 TyHr//re
MacOS X 10.5 + MySQL5で勉強しています。
TABLEにCSVファイルのデータをインポートしようとしたらエラーが出ました。
下記に打ったコマンドと結果を載せます。
初心者で教えてくんですみません。
mysql> load data infile "/Users/kawase/Desktop/test.csv "
-> into table kawase_test.nm_list
-> fields terminated by ","
-> lines terminated by "\n";
ERROR 13 (HY000): Can't get stat of '/Users/kawase/Desktop/test.csv' (Errcode: 13)
133:nobodyさん
09/04/20 22:24:22 cB7TGCpk
mysql終わったなwwwwwwwwwwwwwwwwwwwwwwwwww