W3Schools offers a wide range of services and products for beginners and professionals, helping millions of people everyday to learn and master new skills. Free Tutorials Enjoy our free tutorials like millions of other internet users since 1999
![W3Schools.com](https://cdn-ak-scissors.b.st-hatena.com/image/square/fc2144c80f97a7823bdfbfd77b0ada39d9d5a5d4/height=288;version=1;width=512/https%3A%2F%2Fwww.w3schools.com%2Fimages%2Fw3schools_logo_436_2.png)
W3Schools offers a wide range of services and products for beginners and professionals, helping millions of people everyday to learn and master new skills. Free Tutorials Enjoy our free tutorials like millions of other internet users since 1999
2020/9/30追記 本記事は元々、「SQL記述者全員が理解すべきSELECT文の実行順序のお話」というタイトルで投稿しておりました。 しかし、知見のある方からのコメントと自分でも調べてみた結果、今回紹介している順序はあくまで論理的な処理順序であり、実行順序とは別物ということがわかりました。 誤った知識を布教してしまい申し訳ございません。 2020/9/30のタイミングで、本記事のタイトルを「SQL記述者全員が理解すべきSELECT文の論理的な処理順序のお話」に変更させていただきました。 はじめに 「SQLといえば、エンジニアが扱うスキル」と思われがちですが、最近はマーケターや営業など、非エンジニアの方もSQLを使って、自らデータを抽出し分析する方が増えてきています。 またエンジニアの方でも、ORM任せでなんとなく理解している状態の方もいるのではないでしょうか? 今回は、そんな方々にこそ
SQLをはじめよう - 初心者でもわかる、構文とデータ取得の基本 リレーショナルデータベース管理システム(RDBMS)において、データの操作や定義を行うためのデータベース言語であるSQL。“データ”の重要性が謳われるようになった昨今において、この言語はより重要性を増しています。本稿では日本MySQLユーザ会の副代表であり、データベースを中心とした業務システムの設計・コンサルティングを手掛ける坂井恵さんが、「SQLを学びはじめたばかりの若手IT技術者」や「社内のデータを利用したい非IT技術者」に向けて、SQLによるデータ操作の基礎を解説します。 企業活動において、近年ますます、蓄積されたデータの活用が重要になっています。自社の持つ大量のデータの中から必要なデータを抽出・集計するという操作は、以前はITエンジニアが用意した画面を通して限定的にのみ行うことができるのが一般的でした。 しかし最近は
前書き - インデックスの作成はなぜ開発者のタスクなのか インデックスの 内部構造 - インデックスは何に似ているか インデックス リーフノード - 二重連結リスト 検索 ツリー(Bツリー) - バランス木 遅いインデックス パートI - インデックスを遅くする2つの原因 where 句 - 検索のパフォーマンスを改善するためにインデックスを作成 等価 演算子 - 一致するキーの検索 プライマリキー - インデックスの使い方を確認 複合インデックス - 複数列に対するインデックス 遅いインデックス パートII - 前の問題点が再び 関数 - where句の 中での関数 大文字・小文字を区別する 検索 - UPPERと LOWER ユーザ定義 関数 - 関数インデックスの制限 インデックスの作り過ぎ - 冗長性の排除法 パラメータ化 クエリ - セキュリティとパフォーマンスのために 範囲 検
概要 名著SQLアンチパターンを読み終えたので、それの復習のために悍ましいデータベースを作ろうと思った。 まず前半では、SQLアンチパターンを意図的に盛り込み、目も当てられない酷い設計をします。 そのあとリファクタリングを行なったER図に書き直していきます。 なお、真面目に書くと参考書の丸写しになってしまうので、この記事は アンチパターンもりもりのER図を見て嫌悪感を学習し、設計に役立てようという趣向のもと、詳しい説明は省きます。 とても良い本なので読んでください。 想定するシステムの概要と状況 目的において適切かはわかりませんが、とりあえず考えることの多い”お金”を扱うシステムを想定してみます。 私はブラックジョークが好きなので、今回は「ちょっと怖い金融屋さんが使う債務者管理システム」のER図を設計してみようと思います。 ざっくりした要件 債務者を登録でき、プロフィールを入力できる。 債
急な仕事が降って沸くことはよくあります。 ソフトウェア開発の現場では、緊急度の高い案件が突然舞い降りて、平和なんてものは一瞬にして覆されることが日常茶飯事です。 だから、グループ合同で行う新卒研修の3時間講義枠を、その前日に依頼されるなんてこともよくある話なんじゃないかと思います。 ……。 ということで、急遽依頼された形で SQL の研修を行うことになりました。 Web -> OOP -> SQL と通算9時間も講義をしている計算になります。 これがなるセミか。 SQL Tutorial 依頼された講義は DB の講義です。 とはいえ、そんなに DB に詳しいわけでもありませんし、であれば今後使うであろう SQL のチュートリアルなんかがいいのかな、と思って今回の講義内容です。 アウトプット合宿を最後に行うので、そこで絶対使いますしね。 スライド 必死に前日に作りました。作業時間は8時間ぐ
LaravelのEloquentは、シンプルなデータ操作が可能なORMです。今回は、Eloquentのwhere系メソッドの使い方をケース別にまとめました。 題材として、よくあるブログのデータをサンプルに、where系メソッドの使い方を説明します。 ※ 本記事のサンプルはLaravel5.6で動作確認済みです。 テストデータ概要 サンプルとして上記のデータベースを利用します。 記事のデータ(Posts)があり、一人の著者と複数のタグが紐づくデータを想定しています。 記事と著者は1対多、記事とタグは多対多の関係となります。 部分一致記事のタイトルに対して、あるワードが含まれる記事を検索したいケースなどを想定しています。 Eloquentのwhereを使った実装は下記のようになります。 部分一致で検索したいため、whereの第二引数にLIKEを設定します。 $title = 'velit';
drop table if exists depts; create table depts( dept_id int primary key, dept_name varchar(32) ); insert into depts(dept_id,dept_name) values(1,'営業部'); insert into depts(dept_id,dept_name) values(2,'経理部'); insert into depts(dept_id,dept_name) values(3,'技術部'); insert into depts(dept_id,dept_name) values(4,'法務部'); #employees drop table if exists employees; create table employees( id int primary key
はじめに 「達人に学ぶDB設計」、「SQLアンチパターン」を読んだのでDB設計をする流れとその過程でのチェックポイントをまとめてみました。 今回は本に載っているものの中でも特に重要そうな部分に絞ってみました。 さらに詳しいことを知りたい方は本を購入してみてください。個人的には達人に学ぶDB設計徹底指南書のほうがおすすめです。こちらだけあれば十分だと思います。 DB設計には大きく分けて論理設計と物理設計の二つがありますが、今回はアプリケーション開発でメインとなる論理設計の部分に焦点をあてて説明をします。 一番最後にチェックポイントだけをまとめた章を用意したので、チェックポイントだけ知りたい方は最後だけ見ていただければと思います。 DB論理設計の流れ DB論理設計は以下のようなステップで進めていきます。 エンティティの抽出 エンティティの定義 正規化 ER図の作成 以下では各ステップごとに章を
SpreadSheetSQL ======================================== 現在既にこのライブラリはメンテナンスしていません。 Apache License 2.0で公開しているため、そのライセンスの範囲内で利用してください。 ======================================== GoogleAppsScript で GoogleSpreadSheets をDBとして扱う際に 取得、変更、削除に手間がかかっていたので、SQLっぽく記述できるライブラリを作りました。 Github: https://github.com/roana0229/spreadsheets-sql Document: https://script.google.com/macros/library/d/17p1ghyOkbWOhdE4bdBFhOXL07
というわけで、上の2つのテーブル「wp_posts」「location」が作成されていると仮定して、下のコードをfunctions.phpファイルに追記します。 //テーブルを結合 add_filter('posts_join', 'table_join'); function table_join($join){ global $wpdb; if ( is_category() ) { $join .= " INNER JOIN location ON $wpdb->posts.ID = location.ID "; } return $join; }コードがやっていることカテゴリーのアーカイブページを表示している場合は、「posts_join」のフックを使って$wp_queryで発行されるSQL文に「location」テーブルを内部結合して、「wp_postsテーブルのID」と「loc
技術畑の人間が新たにPostgreSQLでSQL/DBを学ぶのに最良の方法は本だろうか、それともチュートリアルだろうか?もしくはそれよりも良い策が他にあるだろうか。 今までは他の人の書いたコードを読んだり、実際にいろいろ試したり、PostgreSQLドキュメントに目を通したりして学んできた。その甲斐もあってかDBを理解してきたが、まだ多くのことを知らないし間違って身に付いていることもあるだろう。その証拠にスラドでDBのストーリーを読むと初めて目にする用語が結構ある。 なお、自分はプログラミングに関しては複数言語で長年の経験があるが、SQLに関してはPostgreSQLを通じて多少いじった程度である。数学は三角法、代数、少々の統計をかじったバックグラウンドがある。 また、近くに通える大学はなく、DBに詳しい人も周りにいないため独学せざるを得なく、インターネットと本が頼りなのが実情であることを
データベースを操作するSQL文 テーブルを操作するSQL文 レコードを操作するSQL文 フィールドを操作するSQL文 データを表示するSQL文 条件を指定してデータを表示するSQL文 例文で使っているデータは以下のような感じです。 哺乳類動物の名前と、生息地のデータで、id は自動で連番を振るようにします。 データベース名 : testdb テーブル名 : mammal フィールド:id, name(動物名), area(生息地域) データベースを操作するSQL文 データベースの新規作成する create database データベース名 ; 例)testdbというデータベースを作る create database testdb ; データベースを選択する use データベース名 ; 例)testdb を選択して操作できる状態にする use testdb ; データベースを削除する dro
query_postsにmeta_queryを指定してカスタムフィールド内の検索を行うというのはよく使われる処理ですが、'relation'=>'OR' や 'compare'=>'LIKE' を指定すると途端に重くなります。 具体的には以下のようなコードは実用に耐えられないほど重くなる可能性があります。
Warning: Declaration of FEE_Field_Terms::wrap($content, $taxonomy, $before, $sep, $after) should be compatible with FEE_Field_Post::wrap($content, $post_id = 0) in /home/twfs/serverkurabe.com/public_html/blog/wp-content/plugins/front-end-editor/php/fields/post.php on line 0 Warning: Declaration of FEE_Field_Tags::wrap($content, $before, $sep, $after) should be compatible with FEE_Field_Terms::wrap
WordPressでデータベースの情報を変更する際に便利なTipsが載っている13 Useful WordPress SQL Queries You Wish You Knew Earlierというエントリーのご紹介。 WordPressはMySQLというデータベースで動いていますが、何かを変更したい場合に結構困る事があります。 例えば ・パスワードを忘れて管理用のメールアドレスも忘れた場合 ・テスト用にレンタルサーバーのサブドメインで動かしていて、いざ本ドメインで表示されるよう設定してもサブドメインにリダイレクトされるとか。画像がでない。とか。 全ての情報がデータベースに格納されているためしょうが無い部分もあるのですが、困った時に知っておくと便利なTipsです。 ※必ずバックアップを取ってから実行してください。 サイトのURLを変更する ワードプレスはサイトのURLとホームのURLを絶対
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く