MySQLってどうよ
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG0381デフォルトの名無しさん
NGNGCommon SQL Environment
http://www.hi-ho.ne.jp/tsumiki/
便利ですよ
自宅のMySQLと、会社のDB2、Oracleで活用中
0382デフォルトの名無しさん
NGNG0383デフォルトの名無しさん
NGNG0384デフォルトの名無しさん
NGNG0385デフォルトの名無しさん
NGNG(゚∀゚)ある。
0386384
NGNGちなみにCSV規約とは簡単に言うと、
データを「"」で囲むことでデータに「,」や改行が使えるというもの
なんだけど。
0387デフォルトの名無しさん
NGNGごめん関数名忘れたけど、LOAD DATAだったかな?
バージョンがあがったら使えないようになってたみたいだけどね。
まあ、PHPかPERLでさくっと書くのが一番。。。
0388デフォルトの名無しさん
NGNGSELECT COUNT(*) FROM `20030207` WHERE username=abc;
とかで。
0389デフォルトの名無しさん
NGNGMySQLのメーリングリストで聞いてみなよ
0391380
NGNGっていうか普通に置いてあったw
以前見つけたときは、結構探したんだが・・・
日本語表示はFontの設定すればOK
ttp://www.mysql.com/downloads/index.html
○Graphical clients -- different GUI interfaces to administer MySQL and data
1.MySQL Control Center
2.MySQLGUI (no longer under development)
1と2あるけど 1、はカラムの日本語がうまく表示できないデータはOKだけど・・・
2はGNOME?っぽいGUIでこっちは完全に日本語表示いける
0392デフォルトの名無しさん
NGNGなんか不安定な気がします。
0393380
NGNG日本語で入力できない
>>392
それはないけど、急に速度が遅くなったりする
しまいにはフリーズすることあった>3.x
なので4.0αに変えた。結構快適で、1年使ってる
今見たら4.0γがでてて、4.1αも出てた
0394棒 ◆91v9C66ud2
NGNGmysql Ver 11.15 Distrib 3.23.41, for redhat-linux-gnu (i386)
をそのまま使ってるんですが、なんだか間違った事しているでしょうか?
なぜ面倒くさい事しているかという事は置いといて、構文として間違ってますか?
沿線コードと駅コードを最初に限定しておいて、その後にクライアントが指定したコードで
表示させるのですが。
mysql> select eki from bukken where (((ensen=2197 && eki BETWEEN 10 AND 110) ||
(ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40 AND 1
00) || (ensen=2256 && eki BETWEEN 110 AND 230)) && ((ensen=2269 && eki=70) ||
(ensen=2269 && eki=80) || (ensen=2269 && eki=90)));
Empty set (0.00 sec)
mysql> select count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 11
0) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40
AND 100) || (ensen=2256 && eki BETWEEN 111 AND 230)) && ((ensen=2269 && eki=70
) || (ensen=2269 && eki=80) || (ensen=2269 && eki=90)));
+----------+
| count(*) |
+----------+
| 139 |
+----------+
1 row in set (0.02 sec)
全く関係ないはずのbetween(下から2行目.2256)が110だとなぜか空。111にすると、
ちゃんと表示される。なぜ?
どなたかご教授お願い致します。
0395棒 ◆91v9C66ud2
NGNG0396デフォルトの名無しさん
NGNGselect count(*) from bukken where eki = 110;
select count(*) from bukken where eki = 111;
select count(*) from bukken where eki BETWEEN 110 AND 230;
select count(*) from bukken where eki BETWEEN 111 AND 230;
0397棒 ◆91v9C66ud2
NGNGありがとうございます。
select count(*) from bukken where eki = 110; =7211
select count(*) from bukken where eki = 111; =0
select count(*) from bukken where eki BETWEEN 110 AND 230; =72627
select count(*) from bukken where eki BETWEEN 111 AND 230; =65416
ちなみに、select count(*) from bukken where eki BETWEEN 112 AND 230;
は、65416でした。
バグなのかなーと思いつつも、そんな事はありえないとも思えて・・・悩ましいです。
よろしくお願いします。
0398デフォルトの名無しさん
NGNG合ってるじゃんねぇ
0399デフォルトの名無しさん
NGNGselect count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 11
0) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40
AND 100) || (ensen=2256 && eki BETWEEN 110 AND 230)) && ((ensen=2269 && eki=70
) || (ensen=2269 && eki=80) || (ensen=2269 && eki=90)));
select count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 11
0) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40
AND 100) || (ensen=2256 && eki BETWEEN 111 AND 230)) && ((ensen=2269 && eki=70
) || (ensen=2269 && eki=80) || (ensen=2269 && eki=90)));
select count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 11
0) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40
AND 100) || (ensen=2256 && eki BETWEEN 110 AND 230)));
select count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 11
0) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40
AND 100) || (ensen=2256 && eki BETWEEN 111 AND 230)));
select count(*) from bukken where (((ensen=2269 && eki=70
) || (ensen=2269 && eki=80) || (ensen=2269 && eki=90)));
0400棒 ◆91v9C66ud2
NGNGありがとうございます。
select count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 11
0) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40
AND 100) || (ensen=2256 && eki BETWEEN 110 AND 230)) && ((ensen=2269 && eki=70
) || (ensen=2269 && eki=80) || (ensen=2269 && eki=90)));
=0
select count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 11
0) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40
AND 100) || (ensen=2256 && eki BETWEEN 111 AND 230)) && ((ensen=2269 && eki=70
) || (ensen=2269 && eki=80) || (ensen=2269 && eki=90)));
=136
select count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 11
0) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40
AND 100) || (ensen=2256 && eki BETWEEN 110 AND 230)));
=4115
select count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 11
0) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40
AND 100) || (ensen=2256 && eki BETWEEN 111 AND 230)));
=4067
select count(*) from bukken where (((ensen=2269 && eki=70
) || (ensen=2269 && eki=80) || (ensen=2269 && eki=90)));
=136
でした。
0401棒 ◆91v9C66ud2
NGNGmysql> select count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 11
0) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40
AND 100) || (ensen=2256 && eki BETWEEN 110 AND 230)) && ((ensen=2269 && eki=70)
|| (ensen=2269 && eki=80)));
が0で、
mysql> select count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 11
0) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40
AND 100) || (ensen=2256 && eki BETWEEN 110 AND 230)) && ((ensen=2269 && eki=70)
));
が34というところまで来ました。
他に、betweenの部分を色々いじったりしましたが、ensen=2269以外のbetweenを一つでも
削ると、136の結果になります。
また色々やってみます。
よろしくお願いします。
0402棒 ◆91v9C66ud2
NGNGmysql> select count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 11
0) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40
AND 100) || (ensen=2256 && eki BETWEEN 110 AND 230)) && ((ensen=2269 && eki=70)
|| (ensen=2269 && eki=101)));
は0なんですが、最後の101は109に変えても0のままで、
mysql> select count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 11
0) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40
AND 100) || (ensen=2256 && eki BETWEEN 110 AND 230)) && ((ensen=2269 && eki=70)
|| (ensen=2269 && eki=110)));
のように、eki=110に変えると、34の結果が返ってきます。ちなみに、34という数は
select count(*) from bukken where ensen=2269 && eki=70;
の数です。
かなりお手上げ状態です。お助けをいただければありがたいです。
0403デフォルトの名無しさん
NGNG=>, <=みたいのでは駄目?
できるなら書き換えてみたら?
もしくはWhere句で&&とか||でなくて、AND, ORに変えたら?
0404棒 ◆91v9C66ud2
NGNGありがとうございます。
mysql> select count(*) from bukken where (((ensen=2197 AND eki>=10 AND eki<=110
) OR (ensen=2176 AND eki>=200 AND eki<=215) OR (ensen=2269 AND eki>=40 AND eki<
=100) OR (ensen=2256 AND eki>=110 AND eki<=230)) AND ((ensen=2269 AND eki=70) O
R (ensen=2269 AND eki=100)));
は、0でした。
順番を入れ替えたりしてみましたがそれでもやはり0でした。
似たような環境を作って(カラム2つでデータ10個程度)、同じ数字でやってみましたが
再現できませんでした。うう。
よろしくお願いします。
0405デフォルトの名無しさん
NGNGselect count(*) from bukken where ((ensen=2256 && eki BETWEEN 110 AND 230) && ((ensen=2269 && eki=70
) || (ensen=2269 && eki=80) || (ensen=2269 && eki=90)));
select count(*) from bukken where ((ensen=2256 && eki BETWEEN 111 AND 230) && ((ensen=2269 && eki=70
) || (ensen=2269 && eki=80) || (ensen=2269 && eki=90)));
これで
前者 > 0
後者 > 0
前者 > 後者
だったら演算子の数に制限があるとかしか考えられん。
(最初のより条件(演算子)を削ってるので
きちんと取れる気がする)
0406棒 ◆91v9C66ud2
NGNG両方0になりました。おそらく、最初の方で、データをensen=2256のみに
限定しているから、後の2269には引っかからないかと思います。
演算子の数との事で、実験してみました。
mysql> select count(*) from bukken where (((ensen=2197 && eki BETWEEN 10 AND 11
0) || (ensen=2176 && eki BETWEEN 200 AND 215) || (ensen=2269 && eki BETWEEN 40
AND 100) || (ensen=2256 && eki BETWEEN 110 AND 230) || (ensen=2261 && eki BETWE
EN 91 AND 260)) && ((ensen=2269 && eki=70) || (ensen=2269 && eki=80) || (ensen=
2269 && eki=90)));
というように、最初のより長くしてみました。結果は、ensen=2261の、ekiを90以下だと
136件、91以上だと0件という結果になりました。
どうにもならないでしょうか?もうしばらくお付き合いいただけると助かります。
よろしくお願いします。
0407デフォルトの名無しさん
NGNGもしかして
v a r c h a r に し て な い か ?
ensen int
eki int
では再現しなかったけど、
ensen varchar(4)
eki varchar(4)
の場合結果がおかしくなったので。
0408棒 ◆91v9C66ud2
NGNGshow columns from bukken;で、
smallint(5) unsigned not null default 0のインデックス付きでした。
まずいでしょうか?よろしくお願いします。
0409デフォルトの名無しさん
NGNGを()でくくったらどうなるんだろう。
(eki between n and m)って。
なんつーか、もうMySQLのクエリープロセッサの実装
知ってるような方から一言ほしいところか。
0410棒 ◆91v9C66ud2
NGNGもうしばらく色々やって、待ってみて、MysqlのMLに投稿してみようかなと思うのですが、
「長くなるから2chのここを見て」と投稿するのはありでしょうか?
それとも、長くなってもやったことを全部載せた方がいいでしょうか?一度もMLに投稿したことが
ないので、あまり勝手がつかめません。
よろしくお願いします。
0411デフォルトの名無しさん
NGNG最新版の環境でも作って同一なデータで試してみるぐらいか。
407も再現しなかったって言ってるし。
>「長くなるから2chのここを見て」と投稿するのはありでしょうか?
は止めといたら?
394の内容と意図している(こうなるのが正しいはずの)結果、
テーブル定義くらいは説明した方がよいかと。
まぁ2日以上かかりっきりで、
疲れているだろうけどガンガレ
0412デフォルトの名無しさん
NGNGタブ区切りのファイルをLinux(サーバー)に送ろうと思ったんですが
The used command is not allowed with this MySQL version
と出てしまってできません。
Linuxクライアントからならできるんですけど、、、
どなたか対処方をご存知の方いらっしゃいませんか?
サーバー、クライアント共にバージョンは3.23.52です。
0413412
NGNGmysql.exeで
load data local infile 'c:/test.txt' into table tablename;
したときの状況です。
0414デフォルトの名無しさん
NGNG0415デフォルトの名無しさん
NGNG0416412
NGNGmysql.exeじゃなくてmysqlc.exeを使うとうまくいきました。
ってかオラクルつかいてぇ・・・
0417デフォルトの名無しさん
NGNG0418デフォルトの名無しさん
NGNGSELECT *
FROM bukken
WHERE ensen=2269 && eki=80;
これで、全データチェックすれば?
目で確認できるレコード数でしょ。
0419デフォルトの名無しさん
NGNGどこの企業でもオラクルなの?
0420デフォルトの名無しさん
NGNG0421デフォルトの名無しさん
NGNGオラクルを知らずしてDBは語れない。
0422デフォルトの名無しさん
NGNG0423デフォルトの名無しさん
NGNG確かにそうだが、だからと言ってオラクルを使うかは別
0424デフォルトの名無しさん
NGNGオラクル使うようになってもすぐ慣れるって
オラクルの本だけ買って勉強するのもまたよし
Java使いならオラクル専用クラスの使い方知っておけば
移行してもすぐ使えるようになるよ
と、おもうのだが俺は・・・
0425デフォルトの名無しさん
NGNG>MySQLである程度勉強しておけば
>オラクル使うようになってもすぐ慣れるって
現時点のMySQLではそう思わない。
ストアド、トリガーなど通常重要視されるもので、ないものが多いし。
5.0でどこまで改善されるか楽しみではあるが。
しかし、MySQL(特にInno)はをオラクルライクを意識しているので、
好感は持てる。
0426デフォルトの名無しさん
NGNGttp://dajoba.com/projects/mysqltool/
俺は使ったことないが。
もし使ったら、日本語訳してよ。
ttp://sourceforge.jp/projects/mysqltool-l10n/
0427デフォルトの名無しさん
NGNG0428デフォルトの名無しさん
NGNGストアドプロシージャって必須かなぁ。
どんな場合に使うの?
0429デフォルトの名無しさん
NGNGパフォーマンスが出ないときに、自分の設計の悪さを棚に上げ、
ストアドプロシージャに頼ったあげく、ポータビリティを失い
たいとき。
0430デフォルトの名無しさん
NGNGSQLの仕様にもよるが、ツリー構造をひっぱてくるときなど。
0431422
NGNGThanks!!
早速インスコしてみた。重いけど、PHP使わない環境で
DB覗けるのが嬉しい。
>日本語訳
スクリプトを覗いてみたが、i18nに関しては
ほとんど考慮されてないみたいだね…。
0432デフォルトの名無しさん
NGNG0433デフォルトの名無しさん
NGNG0434デフォルトの名無しさん
NGNGつか両方いれちゃえ。
0435デフォルトの名無しさん
NGNG文書検索にDBを使わない方がいいんでしょうか?
0436デフォルトの名無しさん
NGNG作ってみてだめならnamazu使えば?
0437デフォルトの名無しさん
NGNGとんでもなく遅い気が
0438デフォルトの名無しさん
NGNG物凄い効率悪いと思う。
つーかどういうDB作るつもりなの?
0439デフォルトの名無しさん
NGNGSQLの勉強するつもりならサブクエリーのあるPostgreSQLの方がいいでしょう。
0440デフォルトの名無しさん
NGNG0441デフォルトの名無しさん
NGNGdataフォルダをどっかにコピーしとけばOK>コレ最強
0442デフォルトの名無しさん
NGNGMySQLを一度止めなきゃいけない罠
0443デフォルトの名無しさん
NGNGんなこたーない
0444デフォルトの名無しさん
NGNG0445デフォルトの名無しさん
NGNGLarge server clusters using replication are in production use, with good results. Work on enhanced replication features is continuing in MySQL 4.x.
0446デフォルトの名無しさん
NGNG実際のところ一度とめる必要はあるんですか?
何となく思うのは、もし誰かがテーブル更新中だったりすると
整合性が保てなるから恐いなぁっていうことなんですが。
0447デフォルトの名無しさん
NGNG整合性が保てなるから恐いなぁっていうことなんですが。
そりゃ当然のこと
アクセスが0だってわかってればファイルコピーは普通に出来るし
アクセス中ならOS側がストップかける
>>440が言うような不便というのはどういうことなのかわからんが
CVS形式で吐き出したり、レプリカもできる(普通はこっち使う
0448デフォルトの名無しさん
NGNG「○○だからさ」
○○を埋めてください。
はい歌丸くん ↓
0449デフォルトの名無しさん
NGNG0450デフォルトの名無しさん
NGNG>全文検索のインデックスの作り方はDBのそれとは違うから、
>物凄い効率悪いと思う。
keyword,url,score
みたいな感じでインデックステーブル作っても効率悪い?
0451デフォルトの名無しさん
NGNG「みたいな感じでインデックステーブル作っても効率悪い? 」
という文章を、keyword,url,scoreに分解してみてください。
0453デフォルトの名無しさん
NGNG俺は>>450の逝ってることの方が意味が分からない。URLって何?
0454デフォルトの名無しさん
NGNG横槍で失礼
で結局どうやってkeywordを搾り出す?ということでは?
どんな単語かどうかはさておき,URLが複数とか・・・
実装しようとすると色々な難点が・・・・
0455450
NGNGDBのテーブルで言うと
キーワード,ファイルのパス(URL),スコア(含んでいるキーワードの数)
みたいな感じになっていて、このテーブルから
検索したいキーワードでファイルのパス(URL)を割り出し
スコア順にソートして出力するのだと思うのですが、
438の言うようにこれをDBで実装すると
そんなに効率悪いのかなぁと思ったのです。
DBについてそんなに詳しいわけではないので、
とんちんかんなこと言ってたらごめんなさい。
0456デフォルトの名無しさん
NGNG俺は>>451ではないが。
じゃあ、
「みたいな感じでインデックステーブル作っても効率悪い? 」
のキーワードを書いてくれないか?
0457デフォルトの名無しさん
NGNGその設計なら全文検索なんて必要ないでしょ。
URL キーワード スコア
http://aa.html あいうえお 3
http://aa.html かきくけこ 1
という感じでいいんじゃない?
もちろん登録時にキーワードを正規化する。
0458デフォルトの名無しさん
NGNG0459デフォルトの名無しさん
NGNG0460<font size="7">TESTだYO!!</font>
NGNG0461デフォルトの名無しさん
NGNG0462デフォルトの名無しさん
NGNG<font size="7">TESTですKA?</font>
0463450
NGNGえーと、分かち書きしろってこと?
できません。
>>457
丁寧にありがとう。
ちょっと日本語の理解が足らなかったみたいです。
出直してきます。
スレ荒らしちゃってすいませんでした。
0464デフォルトの名無しさん
NGNG0465デフォルトの名無しさん
NGNG>えーと、分かち書きしろってこと?
>できません
おいおい・・・できないことを提案したのか?
>>450-452
0466デフォルトの名無しさん
NGNGmysqldump hoge_DB > hoge.txt
で、いいんじゃないの?
バックアップバッチに突っ込んでます。
0467デフォルトの名無しさん
NGNG> アクセス中ならOS側がストップかける
どうやってストップかけるのでしょうか?
0468デフォルトの名無しさん
NGNGそれって、サーバーを止めないと・・・
0469デフォルトの名無しさん
NGNGバックアップはどうやってとるんですか?
0470デフォルトの名無しさん
NGNGkeyword,url,score
の url は 1つの INT と対応させるほうがいいでしょう
0471デフォルトの名無しさん
NGNGで取るしかないでしょ
0472デフォルトの名無しさん
NGNG0473デフォルトの名無しさん
NGNG0474デフォルトの名無しさん
NGNGDBサーバー止めないで出来るものって言う定義なら
サーバー止めなくても出来る
だってレプリケーション機能はMySQLにあるからね
使ったこと無いですけどね
0475デフォルトの名無しさん
NGNGそこに思わぬ落とし穴が。
0476デフォルトの名無しさん
NGNGどのくらいまでが使用に耐えられるの?
0477デフォルトの名無しさん
NGNGそんな質問の仕方で答えられるヤツはいないと思うが...。
0478デフォルトの名無しさん
NGNGマニュアルにそれらしいことが書いてある。明言は避けてるけど。
0479デフォルトの名無しさん
NGNGdrop tableして
同じ名前でcreate tableすると
レコードが残ってるのは仕様ですか?
0480デフォルトの名無しさん
NGNGD:\mysql\bin>mysqladmin ping というコマンドを実行したところ、
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to MySQL server on 'localhost' (10061)'
Check that mysqld is running on localhost and that the port is 3306.
You can check this by doing 'telnet localhost 3306'
というエラーが出ました。そこで、
D:\mysql\bin>telnet localhost 3306 とやってみたところ、
接続中: localhost...ホストへ接続できませんでした。 ポート番号 3306.
対象のコンピュータによって拒否されたため、接続できませんでした。
というエラーが出ました。
なんででしょうか。
ところで、右下のタスクトレイの信号機のアイコンは赤信号のままで、青信号になりません。
どうやったら起動できるでしょうか。どなたか教えてください。
0481デフォルトの名無しさん
NGNGshow meを選択せよ
■ このスレッドは過去ログ倉庫に格納されています