イイダリョウのブログ。SQL前回の続きです。ターミナル(黒い画面)を叩かずにDB(データベース)をSQL文でコチョコチョしたい。Flywheel」の「Adminer」でした。Flywheel」の「Adminer」からDBにアクセスし、エクスポートしたダンプ(.sql)ファイルの中を見ました。クモのようにコツコツと今回はAdminer上でSQL文を書いてみたいと思います。Adminerのサイドバーを見ると「メニュー」と「テーブル」に別れています。メニューは下記の4つです。一つ目のメニューはSQLコマンド。ここからSQL文でDBへの命令が書けます。Import:ダンプファイルインポート二つ目はインポート。ここから外部のDBのダンプファイルをインポートできます。別のサーバのDBのデータを当環境に移行する時に使います。Export:ダンプファイルエクスポート三つ目はエクスポート。こちらはインポートと逆でDBのダンプファイルをエクスポートします。当環境のDBのデータを別のサーバに移行するときに使います。最後はクリエイトテーブル。ここから新規テーブルを追加します。WordPressのコアなテーブルとは別に例えば商品情報などの独自のデータを置きたい場合に使います。前回も解説したように「テーブル」とはエクセルの表のように「行(レコード)」と「列(カラム)」があるデータ形式です。次はWordPressのテーブルを見ていきましょう。前回も触れたようにWordPressにはテーブルがあらかじめ用意されています。wp_commentmetawp_commentswp_linkswp_optionswp_postmetawp_postswp_termmetawp_termswp_term_relationshipswp_term_taxonomywp_usermetawp_usersなんだか随分たくさんありますねぇ。頭に「wp_」という接頭辞ついています。見ると後ろに「meta」がついたペアになっている物が見受けられます。metaはメタデータの意味。メタデータとは詳細情報のことです。※参考:メタデータまた、「term_hoge」とターム系で名前が似ている物も見受けられます。ある程度のまとまりはありそうです。「wp_posts」は投稿データのテーブル今回はテーブル「wp_posts」の中を見ていきたいと思います。wp_postsは投稿データが入っているテーブルです。「Table」の「wp_posts」をクリック。structure」画面が開きました。ストラクチャーは「構造」という意味。投稿ID、Author(投稿者)、Date(投稿日)などの構造が表示されているようです。data」タブをクリック。wp_posts」画面が開きます。いくつかの投稿データが入っています。1」の「edit」をクリック。1」の編集画面が開きます。タイトル」になります。word!」という投稿のデータです。SITE」でサイトを見てみましょう。world!」と同一内容が投稿されていますね。「我輩は猫である」を投稿する次に、今回の題材となる「我輩は猫である」を新規投稿したい。WordPressのダッシュボードを開きます。Flywheel」の「ADMIN」をクリック。前回書いたようにダッシュボードのログイン画面が開きますので、IDとパスワードを入力してログインします。ログインしたら新規投稿を追加する。ダッシュボードの「投稿>新規追加」で投稿。*1「青空文庫」から夏目漱石先生の「我輩は猫である」から。図書カード:吾輩は猫であるサイトを表示。投稿が追加された!Adminerの「wp_posts」にも追加されている!「Edit」画面。ここからも修正できるけど、ダッシュボードと比べると枠が狭くて修正しにくそうね。SQL文で「我輩」を「犬」にする!再びAdminerの「SQLコマンド」を開く。ここにSQL文を書いてみる。SQL文(DDL、DML、DCL)前回解説したように、SQL文は「DDL」「DML」「DCL」の3種類がある。DDL:データ定義言語DML:データ操作言語DCL:データ制御言語DMLの基本命令(SELECT文、INSERT文、UPDATE文、DELETE文)今回はデータ操作言語である「DML」を書きたい。「SELECT文」で「猫」を検索まずは手初めに「猫」という単語を検索してみる。このような書式になります。"文字列"FROMのテーブルからSELECTのカラムから取得WHEREのカラムからLIKEの文字列を含む、という条件で前回解説したように、カラムはエクセルでいう列のことです。このように打ってみる。"%猫%"wp_postsテーブルのすべて(*)のカラムから取得post_contentカラムから「猫」という文字列を含む条件で文字列「猫」の両サイドのパーセント%で挟むと文章の途中にある文字列も検索ができます。%は0以上の文字列というパターン文字になります。文字列の前後につけることで文章の途中に含まれていてもマッチするようになります。webOpixel「Execute」をクリックして命令を実行。検索された!「UPDATE文」で「猫」を犬にする次に「猫」という文字列を「犬」にしてみます。「UPDATE文」で書きます。'置換文字')テーブル名のSETカラム名の中から、replaceでカラム名の検索文字を置換文字に置き換えます。しゃけろぐこう書いてみた。'犬')wp_postsテーブルの本文post_contentの「猫」を「犬」に置換された!他にもいろいろ打ち替えてみた。'せっしゃ')できた!「拙者は犬である」完成!今回は1投稿だがサイト全体に渡って文字列を置換できます。URLや会社名、電話番号などの変更に活用できそうです!でもなんだか...あまりにも一瞬に「あっ」という間に検索置換できてしまったので、ちょっと怖さすら感じるなー。失敗すると後戻りできない。作業前は「Export」でデータをバックアップした方が安心ですね。「INSERT文」と「DELETE文」も何か書いてみようと思ったが、調べたところ文字列ではなく投稿自体の追加、削除の規模のようだった。今回は参考記事の紹介にとどめます。FlywheelのAdminerのからSQL文でDBの検索(SELECT文)と置換(UPDADE文)をやってみました。1行でデータ全体がザーッと置き換わるのは快感があります。DBはターミナル(黒い画面)でコマンド打つイメージだったけど、GUIで実際のSQL文を書くと、どんなことができるのかイメージしやすいです。*3検索(SELECT文)はデータに影響がないので気軽にできます。置換(UPDADE文)の方はあまりに簡単すぎて、本番環境で使うにはちょっと怖いですね...。ローカル環境のテストサイトで気軽に体験するのをオススメいたします。PHPの中でSQL文を書いてDBを直接操作する方法もあるようなので、今後そちらもトライしていきたいと思います。Language」で日本語してください。07:29Tweet関連記事2019-08-14【Vue.js】コンポーネント事始め(グローバル登録とローカル登録)Vue.jsシリーズの続きです。前回まではlocalSltrageとの連携で...2019-03-27【indeed】職種別スキル集計:Webデザイナー、Webディレクター、UI/UXデザイナー、フロン...前回、Webデザイナーの求人件数を地域別に調べました。FlywheelのAdminerから慣れよう(WordPressのDB操...DB、すなわちデータベース*1。普段あまり触れることがないDB。はてなブログProフロントエンドエンジニア。神奈川に住まう四十路のオジキ。DTP→Webデザイナーから転向し今に至る。引き続きコツコツの日々。(24)リンクTwitterInstagramYoutubeCodePenGitHubPinterestQuolaFacebooknoteQiitaはてなブログをはじめよう!idr_zzさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。