タグ

QiitaとSQLに関するpero_0104のブックマーク (10)

  • SQLの基本を覚える【初心者向け】 - Qiita

    データベースとは テキストや数値などのデータを保存するためのツールのこと テーブルの構造 データベースは、以下の図ような表でデータを管理している。 表「テーブル」 縦の列「カラム」 横の列「レコード」 それぞれこのような呼び方をする。 SELECT(どのカラムから?) データベースから、データを取得するために「選ぶ」という意味の「SELECT」を使う。SELECT文で「どのカラムのデータを取得するか」を選ぶ。

    SQLの基本を覚える【初心者向け】 - Qiita
    pero_0104
    pero_0104 2019/11/08
    お世話になります。細かいスペルミス、新人がつまずくので修正していただけると嬉しいです。(SUNとか)
  • SQL文字列を構築するベストではないかもしれないがベターなプラクティス(VB.NET) - Qiita

    はじめに この記事は、最先端のテクノロジーを紹介するものではありません。セキュリティ対策やパフォーマンス改善、正規化…そういう高度な(?)話題ですらありません。そんなものとは無縁の、泥のような開発現場で腐った魚のような目をした日々を送っているVBプログラマーの皆様にお送りする、「毎日をちょっとだけ楽しくする」TIPS記事です。 あなたは今、SQLのSELECT句を文字列で生成するプログラムを書いているとします。「今どき生SQLとかだっさww」とか思われるかもしれませんが、そんな現場は今でも普通にゴロゴロしています。 もしあなたが古いVB6プログラマーだと、このようなソースを書いているかもしれません(Qiitaの熱心な読者の皆さんは「まさかw」と思われるかもしれませんが、まさに今私がメンテナンスしているソースコードがこういうソースのオンパレードなのです)。 Dim sql As String

    SQL文字列を構築するベストではないかもしれないがベターなプラクティス(VB.NET) - Qiita
  • VB.NET でヒアドキュメント風 - Qiita

    Dim query = _ "select *" & vbLf & _ "from hoge" & vbLf & _ "where a=1" & vbLf & _ "and b in('1','2','3')" & vbLf & _ "order by" & vbLf & _ " a,b,c"

    VB.NET でヒアドキュメント風 - Qiita
  • selectした結果をinsertする - Qiita

    insert into table_name (col1, col2, ...) select col1, col2, ... from table2_name; 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

    selectした結果をinsertする - Qiita
    pero_0104
    pero_0104 2019/03/15
    ありがとう助かりました。一生懸命バルクインサートで検索してた…
  • SQLスタイルガイド - Qiita

    はじめに 文書はSQLのスタイルガイドです。 PythonRubyのようなプログラミング言語には有名なスタイルガイドがあり、共通のレイアウトルールに沿ったインデントや命名規則に則ったコードが生み出されています。 一方、SQLには知名度のある統一されたスタイルガイドがありません。 そのため、思いのままに書かれたSQLが散見されます。 もちろん、SQLを使ってアドホックな分析を行う場合は、必ずしもルールに沿う必要はなく、効率よく書いても良いと思います。 しかし、Webサービスやバッチの中に組み込むようなもの、つまり自分以外の誰かに読まれるSQLは、多くのプログラミング言語同様に何らかのスタイルガイドに沿うことで多くのメリットを享受できると思います。 クエリが構造化され、可読性が高まる バグの発見や修正が容易になる 改行位置やインデントなどのフォーマットの悩みが解消される スタイルガイドを共

    SQLスタイルガイド - Qiita
  • これでわかった!? 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
    pero_0104
    pero_0104 2017/05/11
    “LEFTであろうと、RIGHT思いますであろうと”
  • ストアドプロシージャの基本的ななにか - Qiita

    あんまり知識ないけどがんばる SQLにも存在する様だけど, MySQLでしか経験がないからMySQLで書くよ 対象 以下に該当する方が対象です。 ある程度, SQLクエリが読める ある程度, DBの知識がある 背景 資料を探せど探せど, (個人的に)良いドキュメントが見つからなかったので 『じゃあ書いちゃおう』と思いました。 ※悪い資料だらけってわけじゃないけど, 物足りないとか惜しい記事ばかりだったので。 ストアドプロシージャって? DB上での一連処理に, 名前をつけて関数のように, 呼び出して使用できるもの。 DB上で動作を完結させちゃうから, 開発言語に依存しないよ! Ruby とか PHP だとか Perl でも Python だろうと CALL できれば結果は同じになるはずだよ! 権限まわり 作成

    ストアドプロシージャの基本的ななにか - Qiita
    pero_0104
    pero_0104 2016/07/26
    ストアドってなに?
  • NOT IN (NULL) に苦しめられる昼下がり - Qiita

    @jobs = Job.where(company_id: user.companies.map(&:company_id)) irb(main):201:0> jobs = Job.where(company_id: user.companies.map(&:company_id)) Job Load (0.4ms) SELECT `jobs`.* FROM `jobs` WHERE `jobs`.`company_id` IN (NULL) => [] irb(main):202:0> jobs = Job.where.not(company_id: user.companies.map(&:company_id)) Job Load (0.4ms) SELECT `jobs`.* FROM `jobs` WHERE (`jobs`.`company_id` NOT IN (NULL)

    NOT IN (NULL) に苦しめられる昼下がり - Qiita
  • マーケティング担当者にSQLを完全マスターさせた話 - Qiita

    普段開発とかしない人達にもデータベースに簡単に触れられるようにしたお話です. 安全なデータベースを作る 番サービスのデータベースと同等,だけど個人情報的なものは隠しておきたい,よく聞く話ですね. これについては様々なアプローチがあるようですが,できる限り安定させたい&バッチでやるにしてもサーバの面倒を見たくない,とう方針のもと,RDSのスナップショットを利用して作成することにしました. 処理の流れ RDSが1日1回スナップショットを取っている(これはRDSの機能) RDSのスナップショットが取られると,RDSからイベント通知が投げられるので,SNS→SQSへ届くようにしておく(これもRDSの機能) CloudWatchでSQSのキュー数を監視するようにしておき,キューが1つ以上になると処理用のインスタンスを立ちあげる設定にしておく(CloudWatch,AutoScalingの機能) イ

    マーケティング担当者にSQLを完全マスターさせた話 - Qiita
  • RailsのTransactionの使い方 - Qiita

    なぜTransactionが必要なのか Transationの目的は、あるいコードブロックにあるSQL文の変更を、全部成功することを守るための存在である。Transactionにより、データの統一性を保ことができる。銀行などの受け入れと引き出しの処理には必要でしょう。二つの処理の中一つが失敗すると、コードブロークにあるSQL処理を全部ロールバックされるのが、Transactionの特徴である。 ActiveRecord::Base.transaction do david.withdrawal(100) mary.deposit(100) end Transationのロールバックが発火条件 Railsでは、ロールバックが発火するには、「例外」が必要である。これがTransactionを使うときのもっとも重要なことである。 例えば、Railsでは #update_attributeは例外を

    RailsのTransactionの使い方 - Qiita
  • 1