A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
>mysqlの文法に関する質問です
と言うのが、そもそも違う気がする。
>SQL文として利用
そもそもSQL文とは・・・
http://search.yahoo.co.jp/search?b=1&n=10&ei=UTF …
http://e-words.jp/w/SQL.html
http://sql.first-database.com/sql.html
http://www.weblio.jp/content/SQL
などと説明されている通り、
http://www.atmarkit.co.jp/fnetwork/tokusyuu/01sq …
なので、これらか検索したり、調べても当然みつからない。
あなたが質問している内容は、No1~NO3で回答したとおり、DB個別の内容です。インタプリタとも言うべき(定義としては違うが)、SQLと言うより、インラインスクリプト、インタープリターレベルの話です。なので、MySQLのリファレンスを見ればいいだけの話。
http://dev.mysql.com/doc/refman/4.1/ja/variables …
などにあるように、検索された値や、ユーザーデーター(スクリプト設計者の)の格納先として、「ユーザー変数」なるものが設定できる。
http://dev.mysql.com/doc/refman/4.1/ja/language- …
(元の章)
この辺のサイトにはアクセスと、他のRDBに関するSQLについて記述されている。参考にするといいでしょう。
大事なのは、DB上のトランザクションはなるべく小さくする。
これが鉄則です。これによって、DBへの負荷が小さくなり、次のDBに対するアクションもしやすくなり、すぐ受け付けてくれます。複雑な事は、クライアントツール行う。ビューなど沢山活用する。です。
これらをまもらないと、クライアントツール側で、よくデッドロックが発生します。DB側にも起きます。
http://www.pursue.ne.jp/jouhousyo/SQLDoc/Abort_S …
上記のリファレンスが完璧ではないとしても、DB側で用意されている物で、できないのであれば、SQLで工夫する(No4さんのように)。それが、まず第一。
しかし、それも必ずしもいいとはいえない。目的が、ビュー作成なら、それでもいいかもしれないが、何かシステムを作る場合、ビルドアップ、バージョンアップなど、状況の変化に対応しきれない状態が多々出てきます。
プログラム言語のカプセル化とよく似ています。
数を沢山こなせば分かりますが、カプセルかは、単純であれば、在るほど、メンテナンスが容易で、使い回しがかなり効きます。
前述のインタプリターと言う点では
http://dev.mysql.com/doc/refman/5.1/ja/stored-pr …
にあるように「ストアドプロシージャとファンクション」などのように、どのDBにも内部インタープリターが用意されていることが多い。動作はビューと同じと考えればいい。SQLではなく完全にコマンドを羅列したスクリプト。これをSQLと、その結果を織り交ぜて、ビューとして構築できる。
http://dev.mysql.com/doc/refman/5.1/ja/call.html
(例)
もっとも良く活用されているのがOracleとマイクロソフトのSQLServerのインタープリタ。アクセスだとVBAとかのレベル。
つまり、前の結果を保存し、他の検索や、登録、削除に、生かしたい。と考えるのは、誰でも考える。単純なものなら、SQLレベルで達成できる場合もあるが、ほとんどがインタープリターによる設計が必要。
早いうちに、「ストアドルーチン(プロシージャとファンクション)」を把握しておくと、SQLで苦労する必要はない。
もっと言えば、それらのSQLやDBを使う側のクライアントソフトをどうするのか、考えておくことが必要。ずーとMySQLのコマンドラインツールで作業して、喜んでいるのか? と言うことです。
No.4
- 回答日時:
質問の回答を探しましたが、見つかりませんでした。
私事で恐縮ですが、私の作ったツールは可能ですので、一応プログラムを書いてみました、よろしければお使い下さい。
100 PROGRAM=OUTPUT
200 BEGIN
300 =SQL_SET{W_SQL_DATA}
400 = {SELECT SQL_DATA FROM TEST_TABLE WHERE SQL_ID=1};
500 DATA=SQL_ID{9}
600 SQL=SELECT SQL_ID FROM TEST_TABLE WHERE(?W_SQL_DATA?)>200
No.3
- 回答日時:
以上、どこから、どのように使うのか、ユーザーの環境や、シュチュエーションによって、変わる物。
その辺を理解してから、何に使うのか、どのような環境なのか、伝えてから質問しましょう。例えば、Webアプリで、サーバーはLinux とか、日常の業務を自動化したいとか・・・
この回答への補足
今回の質問は、mysqlの文法に関する質問です。webアプリを使うか、OS(サーバー)に何を使うか、具体的にどのような業務で使うかは決めておりません。
補足日時:2011/12/17 14:20お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コメントが消えてしまいます
-
接続ができません
-
mysqlがインストールされている...
-
MySQLカラム名は日本語と英数字...
-
postgreSQLのデータ型
-
show warningsのファイル出力方...
-
プライマリーキーの昇順でソー...
-
RPMのmysqlとmysql-serverの違い
-
VBAで変数内に保持された二次配...
-
SQL開発環境ソフトウェアである...
-
エクセルで連勤チェックをした...
-
列数が多いと結果が行単位に改...
-
ODP.NETのバージョン確認
-
like句を使って日本語を検索す...
-
Usage: \\.<filename> | sourc...
-
ERROR 1045 (28000) (using pas...
-
MYSQLサービス停止時にWindows...
-
MySQLのfield数の上限について
-
「・」中点が入った文字列を条...
-
さくらのレンタルサーバで文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【php+mysql】mysqlのレコード...
-
phpからinsertできない
-
PHP+MySQLによるINSERTについて
-
コメントが消えてしまいます
-
F5対策 sql発行ページにて
-
PHP+MySQLでデータ登録がうまく...
-
.sqlのファイルをそのままコマ...
-
MySQLで、INSERT文でエラー
-
どうしても、%$keyword%でひっ...
-
mySQLで複雑な演算
-
insert into $DB (data1, data2...
-
SQLiteについて
-
PEARでレコード数の取得
-
my sqlはどこにあるのか?
-
SQLで取得したフィールドをSQL...
-
updateがうまくできない。
-
接続ができません
-
ODP.NETのバージョン確認
-
副問合せにLIKE文を使う方法は...
-
SQLのVARCHARとVARCHAR2の違い
おすすめ情報