Database_SQL_Function2


LIKE

  • "query data based on pattern matching"
  • モードマッチングに基づくデータクエリ方法
  • SQLiteは、2つの構成モード用のワイルドカードを提供する
  • %(percentsign)
  • 0文字以上
  • _(underscore)
  • 任意の単一文字
  • wildcard character

  • ファイルを指定する場合、特定の名前ではなく複数のファイルを同時に指定するための特殊な記号.
  • *, ? 等
  • は、特定のパターンを有する文字列またはファイルを検索したり、長い名前を省略したりするために使用される.
  • のテキスト値に未知の文字を使用できる特殊な文字で、似ているが異なる複数のデータ項目を検索するのに非常に便利な文字
  • です.
  • は、指定されたパターンマッチングに従ってデータを収集するのに役立つ
  • である.
    SELECT * FROM 테이블 WHERE 컬럼 LIKE '와일드카드패턴';
  • %
  • この位置には文字列があるかもしれないし、文字列がないかもしれない.
  • _
  • は、ここに1文字存在する必要があります.
  • 使用例


    ワイルドカードパターンは、%2で始まる値%22、終了する値%2%2を意味し、値2%の任意の値2%、2番目の値2で始まる値1、合計4ビットの値2_%_%/245791422、少なくとも3ビットの値
  • users表では、20歳の人だけが
  • を閲覧しています.
    SELECT * FROM users WHERE age LIKE '2_'
  • usersテーブルでは、ゾーン番号02の人材のみが
  • をクエリーします.
    SELECT * FROM users WHERE phone LIKE '02-%'
  • usersテーブルでは、「jun」という名前の人材のみが
  • をクエリーします.
    SELECT * FROM users WHERE first_name LIKE '%준';
  • usersテーブルで中間番号5114の人と問い合わせたら?
  • SELECT * FROM users WHERE phone LIKE '%-5114-%'

    ORDER BY


  • "sort a result set of a query"

  • クエリー結果セットのソート

  • SELECT文に追加して使用

  • ソート順に2つのキーワードを指定
  • ASC-昇順(default)
  • DESC-降順

  • usersは年齢順に並べられ、上位10個のみクエリーされます
  • SELECT * FROM users ORDER BY age ASC LIMIT 10;
  • ユーザーは年齢、性別によって昇順に並べられ、上位10人のクエリー
  • のみが検索されます.
    SELECT * FROM users ORDER BY age,last_name ASC LIMIT 10;

    GROUP BY


  • "make a set of summary rows from a set of rows"

  • 行セットサマリー行セットの作成

  • SELECT文のオプション部分

  • 選択した行グループを1つ以上の列値に設定したサマリー行

  • 文にWHEREセクションが含まれている場合は、WHEREセクションの後に作成する必要があります.

  • 指定した条件に基づいて行セットをグループに結合

  • 主にデータの要約に使用
  • SELECT 컬럼1, aggregate_function(컬럼2) FROM 테이블 GROUP BY 컬럼1, 컬럼2; 
  • ユーザーで各姓を検索したら?
  • SELECT last_name, COUNT(*) FROM users GROUP BY last_nmae;
  • ASを使用して、COUNTのカラム名を変更して
  • を問い合わせることができます.
    SELECT last_name, COUNT(*) AS name_count FROM users GROUP BY last_name;

    ALTERTABLE


    ARTER TABLEの3つの機能


  • テーブル名の変更
  • ALTER TABLE 기존테이블이름 RENAME TO 새로운테이블이름;

  • 表に新しい列を追加
  • ALTER TABLE 테이블이름 ADD COLUMN 컬럼이름 데이터타입설정;
  • ALTER TABLE news ADD COLUMN created_at TEXT NOT NULL;

  • [注意]カラム名の変更(new in sqlite 3.25.0)
  •  ALTER TABLE table_name RENAME COLUMN current_name TO new_name;
  • に注意
  • ALTER TABLEに新しい列を追加すると、既存のデータが存在するためエラー
  • が発生する.
  • ソリューション
    追加
  • NOT NULL設定
  • 設定
  • デフォルト