タグ

SQLとMySQLに関するchanpon0のブックマーク (11)

  • Create it! | MySQL-フィールドの改行を削除

    PHP、AJAX、CodeIgniter,Javascript、XHTMLCSSSEO,アフェリエイト、WEBならなんでも来い。 << August 2008 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 >>

  • 『MySQLのUNION構文とかで試行錯誤したメモ』

    掲示板(でもなんでもいいが)を作るにあたり、たとえば以下のようにテーブルをくっつけてから記事を取得する。 mysql> (SELECT id, user, message, create_date FROM BBS_MESSAGE) -> UNION -> (SELECT id, user, message, create_date FROM BBS_REPLY) -> ORDER BY create_date DESC -> LIMIT 0, 5 -> ; この場合、「記事数」を取得するにはどうすればいいか? 最初に試したのが以下のSQLmysql> SELECT count(*) FROM ( -> (SELECT id FROM BBS_MESSAGE) -> UNION -> (SELECT id FROM BBS_REPLY) -> ); これは失敗する。 ERROR 124

    『MySQLのUNION構文とかで試行錯誤したメモ』
    chanpon0
    chanpon0 2011/04/06
    テーブルをまたいでデータをcount。重複は省く。前にもやったなー、こんなこと。。
  • カラムを追加する方法【MySQL】 - Programming Magic

    MySQLでは以下のようなクエリーでカラムを追加することができる。 ALTER TABLE <テーブル名> ADD <カラム名> <型情報>; ALTER TABLE test ADD name varchar(255); ALTER TABLE test ADD num int unsigned; ALTER TABLE sample ADD address varchar(1023) NOT NULL; また、以下のようにカラムを追加する位置を指定することもできる。 ALTER TABLE <テーブル名> ADD <カラム名> <型情報> AFTER <カラム名>; ALTER TABLE <テーブル名> ADD <カラム名> <型情報> FIRST; ALTER TABLE test ADD comment text AFTER name; ALTER TABLE test ADD

    chanpon0
    chanpon0 2011/04/06
    alter tableで位置指定して項目追加(挿入)
  • 基礎から理解するデータベースのしくみ(5):ITpro

    SQL文を実行する際のパフォーマンスに大きな影響を及ぼすものとして,もう一つ,インデックスがあります。インデックスについては,どう定義すべきかというデータベース設計上の問題と,インデックスを有効に使うためのSQL文をどう書くべきかというコーディング上の問題があります。 ここではテーブル設計上の問題を主に取り上げます。SQL文のコーディングについては囲み記事「SQL文を最速にする11のポイント」を参照してください。 インデックスは,テーブルの検索速度を向上させるためのものです。それぞれのSQL文に対して最適なインデックスを定義するのが理想的ですが,実際にはある程度限られたインデックスで,必要なパフォーマンス要件を満たすようにインデックスを定義する必要があります。加えて,どんなSQL文が実際に発行されるのかがあらかじめわかっていない場合は,適当な想定に基づいてインデックスを定義しておかなくては

    基礎から理解するデータベースのしくみ(5):ITpro
  • MySQL :: MySQL 8.0 リファレンスマニュアル :: 12.8.2 正規表現

    正規表現は、複雑な検索でパターンを指定する強力な方法です。 このセクションでは、正規表現の照合に使用できる関数と演算子について説明し、正規表現の操作に使用できる特殊文字と構造の一部を例とともに示します。 セクション3.3.4.7「パターンマッチング」も参照してください。 MySQL では、Unicode の国際コンポーネント (ICU) を使用した正規表現サポートが実装されています。ICU は完全な Unicode サポートを提供し、マルチバイトセーフです。 (MySQL 8.0.4 より前では、MySQL は Henry Spencer による正規表現の実装を使用していました。これはバイト単位で動作し、マルチバイトセーフではありません。 正規表現を使用するアプリケーションが実装の変更の影響を受ける方法の詳細は、正規表現の互換性に関する考慮事項 を参照してください。) expr NOT R

    chanpon0
    chanpon0 2011/03/11
    sqlで正規表現書けんのか。知らなんだ。。
  • MySQLの最適化 | 株式会社フォレスト・コンサルタンツ

    01/13 Re2:「福沢諭吉の正体」-補足1-東大話法の元祖(山根治) 01/13 Re1:「福沢諭吉の正体」-補足1-東大話法の元祖(Kan Yabumoto) 01/07 Re6: ホリエモンの弁解術 -1(Smitha695) 01/07 Re1:謹んで新年のご挨拶を申し上げます(須増) 12/01 Re25: 倉田まり子事件の真相 -その3(ナマナマ) ※以前別の場所で書いた文章を備忘的に書き記しておきます。 処理速度改善等にあたって実施したMySQLの最適化についてメモ的に残しておきます。大量のデータを扱うSQLスクリプトを記述する際、役に立つかもしれません。 可能な限りSQL文は後から一括して実行。 LIMITを使い、呼び出すレコード数を制限。 SELECT等においてフィールドを呼び出す際、インデックスがあるものを優先して指定。 ソートする場合はインデックスがあるフィールドを

    chanpon0
    chanpon0 2011/01/27
    マルチプルinsert 最後の文字削除
  • BIGLOBEなんでも相談室サービス終了のお知らせ

    なんでも相談室 サービス終了のお知らせ 平素よりBIGLOBEをご利用いただき誠にありがとうございます。 BIGLOBEなんでも相談室はサービスを終了いたしました。 これまでご愛顧いただき誠にありがとうございました。 今後はBIGLOBEなんでも相談室のデータ提供元であるオウケイウェイヴ社の「OKWAVE」をご利用ください。 なおBIGLOBEなんでも相談室に会員登録されていた方は、登録されていたOKWAVE IDを利用して「OKWAVE」にログインすることができます。 ログインに必要なパスワードは12月2日にオウケイウェイヴ社から登録メールアドレス宛にメールで通知されます。当日はメールの到着までお待ちください。 12月3日になってもメールが来ない場合は下記ページからお問い合わせください。(オウケイウェイヴ社のページに移動します) パソコン版 https://secure.okbiz.ok

    chanpon0
    chanpon0 2010/12/28
    [try/catch]
  • MySQL のNULL ではまったことあれこれ - LukeSilvia’s diary

    MySQL に限らず、SQL のNULL の仕様には何回か「えっ」と驚くことがあったのでメモしておこうと思います。5.1 版の日語マニュアルがなかったものについては、4.1 のマニュアルを参照しました。 そもそもNULL は何を意味するか NULL は未定義または、不明を意味する。「電話番号を持たない」ということを表現する場合は、NULL ではなく、空の文字列を使う。 NULL 値というものを SQL 初心者はよく混乱します。SQL 初心者は、多くの場合、NULL が空文字 "" と同じであると考えてしまいます。これは違います。たとえば、以下のステートメントは完全に別のものです。 mysql> INSERT INTO my_table (phone) VALUES (NULL); mysql> INSERT INTO my_table (phone) VALUES (""); どちらのス

    MySQL のNULL ではまったことあれこれ - LukeSilvia’s diary
  • MySQL :: MySQL 5.6 リファレンスマニュアル :: 8.2.2.1 INSERT ステートメントの速度

    挿入の速度を最適化するには、多くの小さな操作を 1 つの大きな操作に組み合わせます。理想的には、単一の接続を作成し、多くの新しい行のデータを一度に送信し、すべてのインデックスの更新と一貫性チェックを最後まで延期します。 行の挿入に必要な時間は、次の要因によって決まります。ここでの数はおよその割合を示しています。 接続: (3) サーバーへのクエリーの送信: (2) クエリーの解析: (2) 行の挿入: (1 ×行サイズ) インデックスの挿入: (1 ×インデックス数) クローズ: (1) これには、テーブルを開く初期オーバーヘッドを考慮に入れていません。これは同時実行クエリーごとに 1 回実行されます。 テーブルのサイズによって、log N だけインデックスの挿入が遅くなります (B ツリーインデックスであるとして)。 次の方法を使用して、挿入を高速化できます。 同じクライアントから同時に

    chanpon0
    chanpon0 2010/11/12
    マルチプルInsert
  • 『Sqlで一回のInsert文で複数のデータを一括登録する』

    を買わずに解決するWeb制作の小技 ホームページ作成でちょっとしたことを参考書を買わずに解決する方法をPHP CSS Webデザイン jQuery Flashを中心に便利な技をまとめていきます!現在、長野県長野市の制作会社でWeb作成中! 1000件のデータを一回づつinsertを発行すると 遅くなるので良い方法がないか調べていたら 良い方法を発見 MySQL AB :: MySQL 4.1 リファレンスマニュアル :: 5.2.10 IN データをためて一括で登録させる。 // アップデートするデータを「$i_page」に累積させる $i_page .= "('$lid', '$ldate', '$lcount'),"; // 「$i_page」の最後の一文字を除去 $i_page = substr($i_page ,0, -1); mysql_query("INSERT INTO p

    chanpon0
    chanpon0 2010/11/12
    一括でinsert
  • 【MySQL】複数のINSERTを一括発行 - kの研究室

    他のDBMSでも出来たかどうか定かではないのですが、 MySQLでは、複数のINSERT文を一括発行できちゃいます。 ■INSERT文一括発行 INSERT INTO SAMPLETABLE VALUES ('AAAA', 11111, 'あいうえおかきくけこ'), ('BBBB', 22222, 'さしすせそたちつてと'); アプリである程度まとめてINSERTしたい、みたいな場合には使えますね。 調べてないんですが、UPDATEやDELETEでも使えるのかな? あとはまとめられる数の上限とか。 その辺はまた調べてみますね。

    chanpon0
    chanpon0 2010/11/12
     一括でinsert
  • 1