05/06/10 07:24:45
>>71
バックアップ
アンインストール
再インストール
復元
73:nobodyさん
05/09/02 14:57:02 /LtcNskM
MY SQLのデータをGUIで操作できる、WinMySQLAdminについてお尋ねします。
上記ソフトを導入してみようとインストールしてみたのですがどうも新しくデータベースを作成することができず
困っています。
ちなみにPHPとSQLについては初心者で一から本を読んで勉強しています。
WinMySQLAdminを起動して、detabasesのタブで右クリックをするとcreate Databaseという項目が出てくるはずなのですが
私の場合、Flush HostsやFlush Logsなどの項目しか出てきません。
これはなぜでしょうか?ちなみにWIN XPにインストールしておりまして、WinMySQLAdminのバージョンは1.4です。
74:nobodyさん
05/09/03 03:23:42
電話番号ってBIGINTとTINYTEXTのどっちがいいんだ?
0から始まるから後者かな・・・
>>73
phpMyAdminではなくて?
75:nobodyさん
05/09/06 08:20:13 XilL8D3h
>74 VARCHARでいいんじゃない?
76:nobodyさん
05/09/06 15:20:28 MHrXIfbO
perl+Mysqlで掲示板を作りたいんだけど、解説されてるサイトがあったら教えて。
77:nobodyさん
05/09/21 02:22:30
みんなDBのバックアップってどのようにしてる?
漏れはphpMyAdminでいちいちCSVとかに吐き出したりしてるけど、
手動で面倒だし、テーブルの数が増えてくるとやってらんないよね・・・。
78:nobodyさん
05/09/21 07:09:17
>>77
定期的にやるならcron+mysqldumpだろ
79:nobodyさん
05/09/21 22:57:29
>>78
正直「mysqldump」ってのがあることを知らなかった。
ありがと。
80:nobodyさん
05/09/26 17:27:04
MySQLでboolean型ってないの?
みんなはどういう方法で代替しているの?
81:nobodyさん
05/09/26 17:33:26 eUCvvuNH
URLリンク(www.geocities.jp)
82:nobodyさん
05/09/26 17:35:28
移植性のために4.1から導入されてる
内部的にはtinyint(1) unsignedとして処理されるんじゃなかったっけ
83:nobodyさん
05/09/27 10:44:54
mysqldumpでダンプ中にcronとかでテーブルの(大量)更新とかがあった場合の
動作ってどうなるのかね?? 一時更新を止めてダンプするのかな。
84:nobodyさん
05/10/04 12:36:58
dump
85:nobodyさん
05/10/05 01:53:31
スラムダンプ
86:nobodyさん
05/10/18 18:08:00 ih4nu8k6
MySQLのUPDATEについてお伺いしたいのですが、
現在、データベースがある時間に一括更新されるPHPのプログラムを書いています。
そこで以下のようなクエリを行数だけ何度も何度も発行して更新しているのですが
そのせいかハードディスクがガリガリいってしまって非常に時間がかかってしまいます。
UPDATE table_name SET column1 = 10 WHERE id = 1
UPDATE table_name SET column1 = 5 WHERE id = 2
(何度も別のidに対して繰り返す)
INSERTですと、VALUESの後ろに複数付け加えれば複数挿入できますし
MySQLリファレンスによるとver4.1からC APIで複数クエリを実行できるようになったみたいなので
UPDATE ....; UPDATE .....; UPDATE ....; UPDATE .....;
のような文字列を渡せばよさそうなのですが、それ以前のバージョンで上手い解決方法をご存知の方が
いらっしゃいましたら、よろしくお願い致します。
87:nobodyさん
05/10/18 18:26:51
バージョンが5<ならストアドを使うと便利。
あ、4.1より前か。。
とりあえずidにインデックスは貼ってあるよね?
88:88
05/10/18 18:56:53
>>87
ありがとうございます。
5以上だと上手い方法があるみたいなので、今回は使えないのですが今後の為に勉強してみたいと思います。
念のためEXPLAIN SELECT * FROM table_name WHERE id = 1;を
してみたのですがインデックスは作られていました。
プログラムの他の部分が問題ある可能性も考えて、クエリ発行部分だけコメントアウトしてみたのですが
一瞬で処理が終わってしまい、やはりUPDATEの部分が問題あるようです。
全部で30行10列しかないデータに対して行っているのに、1秒-1.2秒ぐらいかかっているので
何か根本的なことに問題がありそうな気がするのでもう一度、全体を確認してみたいと思います。
89:87
05/10/19 10:51:01
んーおかしいね。。
OSとメモリの空き具合を書いてくれるとわかるかも。
HDがガリガリ言うってことは相当I/Oの処理がかかってるからUNIX系ならtopコマンドでCPUの分配を見てみて
もしsystemのCPUが多かったらThread_Cache等の変数を上げてみるといいと思います。
90:nobodyさん
05/10/22 10:00:10
>>89
お返事遅れてしまって申し訳ありません。
今のところテストはWindowsXP Professionalで行っていて、メモリは384MBです。
タスクマネージャーで調べてみたところ、こんな感じになっていました。
物理メモリ (KB)
合計 392688
利用可能 107960
システムキャッシュ 140632
カーネルメモリ (KB)
合計 66232
ページ 58032
非ページ 8200
ご指摘の通り、キャッシュやページなどのサイズが怪しそうですので
色々と設定で変更して試してみたいと思います。
91:nobodyさん
05/10/25 00:32:31
column1='10' としてもダメ?
92:86
05/10/30 16:39:57
>>91
試してみたのですが、やはりガリガリとなってしまいました。
試しにLINUXでやってみたところ問題なく動いたのでOSの問題のようです。
原因が分かりましたらこちらで報告させて頂きたいと思います。
93:nobodyさん
05/10/31 14:36:17
いや実データの問題でしょ
94:nobodyさん
06/11/01 13:47:07 UJqk4mQr
現在の日付から二ヶ月前の月の最終日を指定したくて。
20061001
という形式で日付が欲しかったのですが。
SELECT CURDATE() - 0100;
で大丈夫でしょうか?
20070101 - 0100
となったときにおかしくなりますよね多分。
95:nobodyさん
06/11/01 14:28:47 UJqk4mQr
select CONCAT(DATE_FORMAT( DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y%m'),'01');
でいけました、・・が長いですね。
20061001 という先月の最初の日が取れればいいだけなので、もっとスマートな方法があればお願いします。
phpで使うsqlなのでphpで日にちを作ったほうがいいかもですね。
96: ◆tQhCU0LELY
06/11/03 00:37:15
warota
97:nobodyさん
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