タグ

SQLに関するtaketsのブックマーク (20)

  • GitHub Copilotで効率的にSQLを書くコツ - Retty Tech Blog

    Rettyプロダクトマネージャーの松田です。 プロダクトの現状把握や施策効果の分析など、さまざまなタイミングでBigQueryのSQLを書くことがあります。 Rettyでは昨年末にGitHub Copilotを導入したので、それに合わせてSQLの作成にもGitHub Copilotを使い始めました。 使いたいテーブルが偏っていたりテーブルの設計が似ているものが多く毎回同じようなクエリを書いていましたが、GitHub Copilotの導入で体感としては半分ぐらいに作業時間を短縮できたと思います。 まだまだ不十分だと感じることもありますが、現時点でも十分に活用できているので、GitHub Copilotで楽にSQLを書くときのコツをいくつかまとめてみました。 ※Visual Studio Codeと組み合わせて使う前提で書いています。(導入方法が公式から出ています) 1. GitHub Cop

    GitHub Copilotで効率的にSQLを書くコツ - Retty Tech Blog
  • 特定のカラムを持つテーブルを検索する - chulip.org

    カラムを持ってるテーブルがわからない時とか select table_name, column_name from information_schema.columns where column_name ='検索するカラム名'; SQL実践入門──高速でわかりやすいクエリの書き方 (WEB+DB PRESS plus) 作者:ミック技術評論社Amazon

    特定のカラムを持つテーブルを検索する - chulip.org
  • SQL素人でも分かるテーブル結合(inner joinとouter join) - Qiita

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    SQL素人でも分かるテーブル結合(inner joinとouter join) - Qiita
    takets
    takets 2018/11/28
    内部結合・外部結合の基礎
  • GitHub - mattn/vim-sqlfmt

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - mattn/vim-sqlfmt
    takets
    takets 2018/09/28
    vimでsqlフォーマットしてくれるプラグイン
  • 完全なSQLインジェクション対策

    (Last Updated On: 2018年12月14日)不完全なSQLインジェクション対策だけで、SQLインジェクション対策は万全、と誤解しているケースが少なくないです。 プリペアードクエリ/プレイスホルダを使ったSQLインジェクション対策でOK は誤りです。「とにかくプレイスホルダを使おう」では脆弱性は無くなりません。 簡単な証明:プリペアードクエリ”だけ”では、識別子(カラム/テーブル等)を使うソートクエリ、特定カラム抽出クエリを”原理的”に無害化できない。識別子のエスケープ/バリデーションが必須。(問題はコレだけはありません) 似たような間違いに「出力対策をするのがセキュリティ対策」だとする考え方があります。こういう考え方になる原因はセキュリティ設計や原則を理解していないことにあると思われます。 出力対策”のみ”のセキュリティはアンチプラクティス アンチプラクティスであっても正し

    完全なSQLインジェクション対策
    takets
    takets 2018/07/18
  • これでわかった!? LEFT / RIGHT JOIN. - Qiita

    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

    これでわかった!? LEFT / RIGHT JOIN. - Qiita
    takets
    takets 2018/06/07
  • 基本用語の解説付きインデックス・チューニング入門 - KitchHike Tech Blog

    B-Tree・カーディナリティ・実行計画・オプティマイザ・プロファイラ データベースのインデックス・チューニングで出てくる用語は、O/Rマッパーに慣れていると聞きなれない言葉かもしれません。 記事では用語を解説しながら、RailsとMongoidでのインデックス・チューニングの一歩として基的な手順をご紹介します。 はじめに こんにちは。KitchHikeエンジニアの小川です。 Railsのようなフルスタックフレームワークを使っていると、データベースを気にする機会はだいぶ減るのではないでしょうか。ActiveRecordのようなO/Rマッパーが上手く抽象化してくれるおかげで、生のSQLを書く必要はほとんどなくなりました。 一方でその抽象化は、データベースを見えにくくしているともいえます。データベースを直接見る機会が減ってしまうことで、知らず知らずのうちにトラブルの原因となっていることも少

    基本用語の解説付きインデックス・チューニング入門 - KitchHike Tech Blog
    takets
    takets 2018/06/01
    インデックスのチューニングのやり方
  • 安全なSQLの呼び出し方 - Qiita

    SQL 文中の「'052312'」のような定数のことをリテラルと呼び、文字列としてのリテラルのことを文字列リテラルと呼ぶ。リテラルには文字列リテラルの他、数値リテラル、論理値リテラル、日時リテラルなどがある。 SQLインジェクションの原因 SQL をアプリケーションから利用する場合、SQL 文のリテラル部分をパラメータ化することが一般的である。パラメータ化された部分を実際の値に展開するとき、リテラルとして文法的に正しく文を生成しないと、パラメータに与えられた値がリテラルの外にはみ出した状態になり、リテラルの後ろに続く文として解釈されることになる。この現象が SQL インジェクションである。 文字列リテラルに対するSQLインジェクション SQL の id 列は文字列型を想定しており、$id は Perl の変数で、外部から与えられるものとする。

    安全なSQLの呼び出し方 - Qiita
    takets
    takets 2017/06/23
    sqlインジェクション解説
  • 窓の杜 - 【NEWS】SQL文をGUIで作成できるフリーのデータベース開発環境「黒猫 SQL Studio」

    GUIによるSQL文の作成など、さまざまな開発支援機能を備えるSQL開発環境「黒 SQL Studio」v1.1.7.413が6月4日に公開された。Windows 2000/XPに対応しており、個人使用・業務にかかわらずフリーソフトとして利用可能。現在作者のホームページからダウンロードできる。 「黒 SQL Studio」は、SQL文の作成やテストを行える汎用のデータベース開発環境。ソフト上からOLE DB接続またはODBCドライバに対応する各種データベースへ直接接続可能で、作成したSQL文を実際にテスト実行できる。画面は3ペイン構成で、左側には複数のSQLソースファイルを管理できるファイラー、中央には複数ファイルをタブで切り替えて表示できるエディター、右側には接続したデータベースの構造をツリーとリストで表示する“データベースエクスプローラ”が表示される。 SQL文の作成時は、さまざ

  • 複雑なSQLも怖くない

    システムが複雑になればなるほど、SQLも複雑になる傾向にあるのではないでしょうか。 また、SQLの上級者になればなるほど、少ないクエリーで多くの処理を実現しようとします。 SQLを組み立てているときは処理内容を十分に理解しているので問題ありませんが、開発してから時間が経ってから見ると、何をやっているかさっぱりわからない、といった経験がある方も少なくないのではないでしょうか。また、他人が作成した複雑なSQLを理解するのは大変です。 SQLを複雑にする要因としては、サブクエリーやUNIONの利用があります。サブクエリーやUNIONは、何階層でも入れ子にできるため、さらに複雑さが増します。 CRUD Explorerの「クエリー分析」機能は、複雑なSQLを理解するための手助けとなることでしょう。 以下のSQLは、サブクエリー、スカラー副問い合わせ、UNIONを利用しており、一目でSQLの構造を理

    複雑なSQLも怖くない
    takets
    takets 2015/09/07
    複雑なsqlを作るときの補助ツール
  • SQLアンチパターン 幻の第26章「とりあえず削除フラグ」

    SQLアンチパターン 26章「とりあえず削除フラグ」 2015/08/31 @ GMO Yours #ronsakucasual https://atnd.org/events/68902Read less

    SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
    takets
    takets 2015/09/01
  • 仕事がはかどる!脳の効率をあげる食事法 : earth in us. - 人生をシンプル&クリーンに調和させるミニマリスト(minimalist)・ライフ

    脳の効率をあげる「事法」 ー 仕事がはかどる!後に眠くならない! http://www.earthinus.com/2010/03/minimalist-eating.html

    takets
    takets 2010/03/16
  • SQL Power Injector Product Information

    Product Information Introduction SQL Power Injector is an application created in .Net 1.1 that helps the penetration tester to find and exploit SQL injections on a web page. For now it is SQL Server, Oracle, MySQL, Sybase/Adaptive Server and DB2 compliant, but it is possible to use it with any existing DBMS when using the inline injection (Normal mode). Indeed, the normal mode is basically the SQL

    takets
    takets 2006/06/18
    - SQLインジェクションテストツール/今度試す
  • PHP+MySQL

    PHP + MySQL 編1 - 項目型、テーブル作成、項目削除、件数制限問い合わせ PHP では、MySQL、PostgreSQL が使用可能である。 以下、簡単に両者の PHP でのアクセスを検証する。 尚、ここの例の PostgreSQL コードは実際には動作させていないので注意のこと。 実際の動作テストは、SQL プログラミング資料の『PostgreSQL 編』で行っている。 PostgreSQL については、そちらとこちら、両方の資料を参考にして下さい。 MySQL は、実動作コードを掲載しておく。 SQL プログラミング資料の『MySQL 編』に新しいバージョンの MySQL 資料がある。 最近の MySQL は、トランザクション機能の追加や ODBC、JDBC アクセスも サポートされている。 ■データベース作成 ・MySQL では、http://localhost/phpM

  • SQL -TECHSCORE-

    ここでは、リレーショナル型データベースを操作するために必須となる世界標準言語 SQL について、基礎から応用まで詳しく説明しています。 また、SQL のみにとどまらず、リレーショナルデータベースマネージメントシステム (RDBMS) の持つ様々な機能について詳しく説明しています。 最後には、データベースの設計に関する非常に重要な考え方についても触れていますので、これらを全て学習すると、データベースの操作から設計まで幅広い知識を身につけることができるでしょう。 SQL INDEX 1. データベースの概要 1.1. データベースとは 1.2. データベースシステムの特徴 1.3. データベースとファイルの違い 1.4. 代表的なデータモデル 1.5. リレーショナル型データベース 1.6. まとめ 2. SQL 2.1. SQL歴史 2.2. SQL とは 2.3. SQL の機能 2.

  • 【HOMMEZ(オムズ)公式】すべては、悩める男性のために。

    HOMMEZ(オムズ)はすべての男性の悩みに寄り添い、心と身体の健康を支援し、男性としての喜びを享受できる社会を目指しています。人には相談しづらいAGA、ダイエット、ED、妊活にまつわる男性特有の悩みに対し、情報やソリューションを提供することで男性が前向きに自分らしく生きられる幸せを実現します。

    【HOMMEZ(オムズ)公式】すべては、悩める男性のために。
  • PostgreSQLの使い方 - シークエンスの設定とか

    トリガの使い方 トリガ(TRIGGER)は、データベースに更新(insert/update/delete)があった時、あらかじめ指定した関数を呼び出す機能です。 一つのレコードに対する更新によって、他のテーブルに対する更新や同じテーブルの別のレコードに対する更新が必要になる場合等に、それを自動的に行なうために使われます。 PostgreSQLでは、C言語またはPL/pgSQLで定義したユーザ定義関数を、トリガで指定することができます。 PL/pgSQLで定義したトリガ用の関数のcreate文と、トリガのcreate文を、下に示します。 reate function set_koushin_datetime() returns opaque as ' begin new.koushin_datetime := ''now''; return new; end; ' language 'plp

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    takets
    takets 2006/05/12
  • PostgreSQL 編6 - ビュー作成、結合ビュー作成、ビュー削除、create view - SAK Streets

    PostgreSQL 編6 - ビュー作成、結合ビュー作成、ビュー削除、create view ■ビュー作成 ・ビューの使い方で、データベースの使い心地とプログラムでのハンドリング 負荷が大きく変わる。 必要なビューを上手く設計して、プログラムコード負荷が少なくなるように する。尚、ビューとは、仮想的な表、つまり、仮想テーブル、論理テーブル みたいなものである。 ・create view の as 句以降には、select 文の様々なパターンが指定できる。 たいへん強力である。 ・単純ビューで、特定のデータを抜き出す指定は次のようにする。 この例では、testv1 は、キーの先頭が「a」で始まるものだけのテーブル と同じにアクセスできるようになる。 尚、view に order by 句は指定できない。 create table testm ( key char(8), data1 int

  • MySQLクイック・リファレンス

    この文書は、osCommerceで使用しているデータベースMySQLの基的な使い方について解説しています。おもにデータベースの管理者よりも、ユーザに向けて書かれています。 はじめに ここでは、MySQLサーバは起動しているものとして説明します。 MySQLの文字について MySQLでは、データベース名やテーブル名の大文字と小文字を区別しています。それ以外は区別しません。 MySQLのフィールド名やテーブル名に使える文字は、英数字と_(アンダーバー)、$、サーバのキャラクタセットにある文字です。 知っておきたいコマンド mysqladmin(データベースの作成・削除や、MySQLサーバの情報を得る) mysqlshow(データベース、テーブルの情報を表示する) mysqlMySQLクライアントの起動) mysqldump(データベース、テーブルをダンプする) myisamchk(テーブル

  • 1