MYSQLの正規表現による置換について <dammy>○○</dammy> という値を <dammy>××</dammy> に変換したいと考えています。 ○○のなかには、どんな値が入っているか分かりません。 正規表現を使えば、置換できると思うのですが、 MYSQLでのSQLを教えてください。
MYSQLの正規表現による置換について <dammy>○○</dammy> という値を <dammy>××</dammy> に変換したいと考えています。 ○○のなかには、どんな値が入っているか分かりません。 正規表現を使えば、置換できると思うのですが、 MYSQLでのSQLを教えてください。
mysqlは正規表現のREGEXP関数、置換のREPLACE関数があるが、同時に使えない。 なのでPHPを組み合わせて利用する方法を取る。 次のPHPスクリプトでは、field1 に入っている文字列が「;」で終わっていた場合に、その部分だけを削除している。 ————————————————————————– <?php $pattern = “;$”; //正規表現のパターン //mysqlの正規表現を使ってUPDATEの対象になるレコードを取り出す。 $sql = “SELECT field1 FROM table1 WHERE field1 REGEXP ‘” . $pattern . “‘”; $result = mysql_query($sql) or die(mysql_error()); //sqlを実行 //全て展開 while ($item = mysql_fetch_ar
ブログ内検索 タグクラウド 最近の記事 2010-09-11 (土) 1. [Canvas] IE9 での FlashCanvas の使用について 2010-09-05 (日) 1. [Canvas] FlashCanvas Pro 1.3 を公開しました 2010-09-04 (土) 1. [Canvas] FlashCanvas 20100904 版を公開しました 2010-08-28 (土) 1. [Apache] .tar.gz ファイルがダウンロードできないのを修正する 2010-08-24 (火) 1. IE で HTML5 Canvas が使えるかどうかを調べる方法 2010-08-17 (火) 1. [PHP] HTML_Emoji 0.8.1 を公開 2010-08-13 (金) 1. [Canvas] FlashCanvas Pro 1.3 beta2 を公開しました
重複レコードをSQLデータベースから一括削除:(Nucleusの使い方) にその方法が紹介されている。 対象のテーブルから重複レコードを除いて新しいテーブルにすべてのレコードを重複なしで書き出す もとのテーブルを削除 新しいテーブル名を変更 これはあまりスマートな方法を思えなかったので、他に方法はないか、あちこち探し回ってみたものの、うまい方法が見つからなかった。 SQL 文としては、以下のようになる。field_1、field_2(増やしてもよい)は、重複に関係するフィールドである。 CREATE TABLE temp_table as SELECT * FROM main_table GROUP BY field_1, field_2; DROP TABLE main_table; ALTER TABLE temp_table RENAME TO main_table;
したうけプログラマのメモ 複数レコードのINSERT † あるテーブルに複数レコードをINSERTしなければいけないことがたまにあります。レコードの件数分ループして、平たいINSERT文を発行するのも一つの手段です。 しかしループしてSQL発行していると、コストも高く、何とかしてあげたくなります。 そこで、今回は複数レコードを1本のSQLにして発行するようにしたいと思いました。 DBMSは手元にあったOracle 10g expressです。 ↑ サンプルテーブル準備 † CREATE TABLE shouhin ( shouhin_code INT , shouhin_name VARCHAR(100) , shouhin_bunrui_code INT ); CREATE TABLE shouhin_bunrui ( shouhin_bunrui_code INT , shouhin_
本連載はSQLの応用力を身に付けたいエンジニア向けに、さまざまなテクニックを紹介する。SQLの基本構文は平易なものだが、実務で活用するには教科書的な記述を理解するだけでは不十分だ。本連載は、著名なメールマガジン「おら!オラ! Oracle - どっぷり検証生活」を発行するインサイトテクノロジーのコンサルタントを執筆陣に迎え、SQLのセンス向上に役立つ大技小技を紹介していく。(編集局) FOR...LOOP文を使って、いくつものSQL文でデータをINSERTしているPL/SQLプロシージャやプログラムをよく見掛けますが、実は1度にデータをINSERTする方法もあるんです。マルチテーブル・インサート(Multitable Insert)とはその名のとおり、1つのSQL文で複数の表にINSERTが可能になります。この最大のメリットは、やはりパフォーマンスです。では早速ご紹介します。 マルチテーブ
こんにちは。最近ガスを止められ温もりの無い生活を送っている松田です。 今回は最近自分が知ったMySQLの小技をいくつか書いてみます。 んなもん常識だろ!ってネタがあっても優しく見守ってあげてください。 まず今回の実行サンプルには以下のテーブルを使ってます。 mysql> SELECT * FROM user_m; +---------+----------+---------------------+ | user_id | name | create_datetime | +---------+----------+---------------------+ | 1 | atsushi | 2007-05-17 21:53:40 | | 2 | joe | 2007-05-17 21:53:59 | | 3 | masah
追記: rehash(auto-rehashも含む)すると、SQL文の補完(seleでタブ打鍵とか)が効かなくなるよと、はす向かいの人に教えてもらいました。 個人的には、SQLは「mysql> help select」とかでオンラインヘルプがびょっと出るので、スキーマの補完ができるんならSQLの補完はとりあえずあきらめてもいいかなと思っています。 常々、テーブル名とか補完できるといいなーと思っていたので、ボロっときいてみたら教えてもらいました。あざーーーーっす! id:mikihoshi++ id:tokuhirom++ id:precuredaisuki++ おかげで効率が300%上がりました。(Benchmark::Stopwatchで計測) http://dev.mysql.com/doc/refman/5.1/en/mysql-command-options.html#option
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く