Database_SQL_CRUD


CRUD


表の作成と削除

  • CREATE TABLE
  • データベースにおけるテーブル
  • の作成
    CREATE TABLE classmates (id INTEGER PRIMARY KEY, name TEXT);
  • DROP TABLE
  • データベースからテーブル
  • を削除
    DROP TABLE classmates;

    テーブルの作成を試みる

  • 次のパターンを持つクラスメイトテーブルを作成し、パターンを表示します.
  • columndatatypenameTEXTageINTaddressTEXT
    -- PK 작성시에는 무조건 integer로 해야함 . 
    CREATE TABLE classmates (
      id INTEGER PRIMARY KEY,
      name TEXT NOT NULL,
      age INT NOT NULL, 
      adress TEXT
    );

    INSERT

  • テーブルに1行挿入
  • すべてのカラムにデータが含まれている場合は、カラム
  • を指定する必要はありません.
  • SQLiteは、PRIMARY KEY属性を個別に作成しない限り、自動的に増加するPKオプションを持つ行列を定義します.
  • #각 value에 맞는 column들을 명시적으로 작성 
    INSERT INTO classmates (
    name,age,adress)
    values ('홍길동', 30, '서울');
    #모든 벨류 작성
    INSERT INTO classmates 
    VALUES 
    ('홍길동',30,'서울');
    複数行
  • を挿入する.
    INSERT INTO classmates 
    VALUES 
    ('홍길동',30,'서울'),
    ('김철수', 30, '대전'),
    ('이라라', 26, '광주'),
    ('박대박', 29, '구미'),
    ('최고다', 28, '부산');

    SELECT statement

  • SELECT
  • "query data from a table"
  • テーブルでのクエリーデータ
  • SELECT文は、SQLiteで最も複雑な文であれば、複数のサブ文とともに使用されます.
  • ORDER BY, DISTINCT, WHERE, LIMIT, GROUP BY ...
  • SELECTと一緒に使う句


    LIMIT
  • "constrain the number of rows returned by a query"
  • クエリが返すローの数は
  • に制限されます.
    OFFSET 特定のローからクエリーを開始するために使用される
    WHERE
  • "specify the search condition for rows returned by the query"
  • クエリが返すローの特定の検索条件
  • を指定します.
    SELECT DISTINCT
  • "remove duplicate rows in the result set"
  • クエリー結果から重複行
  • を削除
  • DISTINCT節はSELECTキーワード、
  • に追随しなければならない.
    クエリ
  • 重複なし年齢
  •  select DISTINCT age from classmates ;
  • IDとカラム
  • のみを問い合わせる.
    SELECT rowid, name FROM
     classmate;
  • IDと1列だけで
  • を問い合わせることができます.
    SELECT rowid, name FROM
     classmate LIMIT 1 ;
  • 特定の部分で任意の数のデータ(5列の3番目の列)
  • をオンデマンドで問い合わせる.
     SELECT rowid, name FROM
     classmates LIMIT 1 OFFSET 2;
    OFFSET

  • 同じオブジェクトのオブジェクトから所定の要素または点までの変位差(位置変化量)を表す整数.

  • 文字列「abcdef」において、文字「c」は、始点「a」から2のOFFSET
  • を指す.

  • 6行目から10行のクエリーを開始
  • SELECT * FROM MY_TABLE LIMIT 10 OFFSET 5;
    WHERE
    クエリ
  • 特定データ(条件)
  •  SELECT rowid,name FROM classmates 
     WHERE address = '서울' ;

    DELETE statement


  • "remove rows from a table"

  • 表から行を削除

  • 条件による特定レコードの削除
  • データを削除する基準は何ですか?
  • の重複不可(UNIQUE)値に基づくrowid削除!

  • idが5のレコードを削除しようとします
  • DELETE FROM classmates WHERE rowid=5;

    AUTOINCREMENT

  • Column attribute
  • SQLiteが未使用の値または以前に削除された行の値
  • を再使用することを防止する.
    CREATE TABLE 테이블이름 (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    ...
    )

    UPDATE


  • "update data of existing rows in the table"

  • 既存行のデータの変更

  • SET句でテーブルの各カラムに新しい値を設定

  • クラステーブルのidが5の記録を修正します.名前を洪吉童、住所を済州島に変更してください!
  • UPDATE classmates 
    set name = '홍길동',
    address = '제주도'
    WHERE rowid = 5;

    CRUDのクリーンアップ


    例CINSERTINSERT INTOテーブル名(列1、列2、...)VALES(値1,値2);RSELECTMELECT*FROM表名称WHERE条件;UPDATETURPDATE表名SET列1=値1、列2=値2 WHERE条件;DDELEETEDELETE FROM表名称WHERE条件;