データベース論[3]SQL統合


SQL分類


DML( Date Manipulation Language)

  • データ操作言語で、データを操作(選択、挿入、修正、削除)する.
  • DML構文表の行(column?row?)
  • DMLを使用するには、前のテーブルを定義する必要があります.
  • 私の知る限り、全ての文生成テーブルを稲妻で実行した後、DML文を使用してデータを操作する.
  • SQL文中SELECT, INSERT, UPDATE, DELETEこの文に属する.
  • トランザクションが発生したSQLもこのDMLに属する.
  • 表中のデータ変更(入力、修正、削除)の場合、実際の表ではなく、一時的に適用されます.
  • 取り消し可能
  • DDL (Date Definition Language)

  • データベース、ラベル、ビュー、インデックスなどのデータベース・オブジェクトを作成、削除、変更するためのデータ定義言語.
  • 使用
  • CREATE, DROP, ALTERフレーズ.
  • DDLではトランザクションは発生しません.
  • ROLLBACKまたはCOMMITは使用できません.
  • DDL文は直ちに実行され、MySQLに適用される.
  • DCL (Data Control Language)

  • データ制御言語で、主にユーザを授権または奪取する文に用いられる.
  • GRANT, REVOKEなど.
  • 現在のサーバにあるDBを確認します。

  • 稲妻クリックまたは(command+enter)、window(ctrl+enter)
  • 現在MySQLサーバ上にこれらのデータベースが存在する.
  • USE

  • 使用するデータベースの指定用
  • 指定後、USE文の再使用または他のDBの使用を特に指定しない限り、すべてのSQL文は指定したDBでのみ実行されます.
  • USE database_name
  • Wockbenchから直接選択して使用することもできます.
  • [Navigator]-> [SCHEMAS]-> 데이터베이스 선택
  • SHOW TABLE;

  • USEはデータベース内のテーブル名を表示する
  • ex)
  • city, country, countrylanguage
  • SHOW TABLE STATUS;

  • 指定DBのテーブル情報を問い合わせることができる.
  • 何のエンジンか、rowはいくつか、などの情報です.
  • DESCRIBE(DESC)


    もし
  • city tableチェックに何の列があったら?
  • DESCRIBE city; or DESC city;
  • cityテーブルには現在どのような列があり、これらの列のタイプが何であるか、NULLであるかについての情報が得られる.すなわち、테이블에 대한 속성 정보를 의미한다.
  • test1. country、countrylanguage情報を一緒に見るなら?

    DESCRIBE city;
    
    DESC country;
    
    DESC countrylanguage;
    

    SELECT

  • DBで最も多く使われている文.
  • <SELECT ... FROM>
  • 要求されたデータを持ってくる構文.
  • 上記のように、一般的に最もよく使われるフレーズ
  • DB内のテーブルから欲しい情報を抽出できます.
  • SELECT文法形式
  • SECECT select_expr
    		[FROM table_reference]
            [WHERE where_condition]
            [GROUP BY {col_name | expr | position]
            [HAVING where_condition]
            [ORDER BY {col_name | expr | position]
    まだあります.
    SELECT * FROM city;
  • city tableのすべての行(すべてのデータ)を表示します.
  • SELECTで各テーブルのすべてのデータを見ることができます.
  • ここで*は何ですか?

  • すべてを意味するしたがって、上記のコードはcityというテーブルの列全体を表示することを意味します.
  • でも?必要なものだけを見たら?
  • SELECT Name FROM city;
  • 都市の名前しか見えない.
  • SELECT 열 이름
  • 必要な熱はテーブルからしか取れません.
  • 複数の列を持ちたい場合はカンマで区切ります.
  • SELECT Name, Population FROM city;
  • カラム名の順は印刷したい順に並べられます.
  • SELECT FROM WHERE


    基本WHERE節

  • クエリー結果の場合、特定の条件で欲しいデータのみを表示したい場合に使用します.
  • SELECT fieldName(필드이름) FROM tableName(테이블이름) WHERE 조건식
  • 条件がなければ、テーブルが大きいほど、探す時間や努力が大きくなります.
  • SELECT *
    FROM city
    WHERE Population > 8000000
    
    [인구 수가 800만 초과인 도시들만 보여줘]

    リレーショナル演算子の使用

  • OR演算子
  • AND演算子
  • 条件演算子(=、<、>、<=、<>、!=)等
  • 関係演算子(NOT、AND、OR)等
  • 演算子の組み合わせで効率よくデータを抽出します.
  • SELECT *
    FROM city
    WHERE Population < 8000000
    AND Population > 7000000
    
    [인구 수가 700만 초과 그리고(두 조건 모두 충족) 800만 미만인 도시들만 보여줘]

    韓国の都市


    まず
  • 優先DESC city;コンパスを見てみるとID,Name, CountryCode, District, Population5個のcoulumnで構成されていることがわかります.
  • SELECT *
    FROM city
    WHERE CountryCode = 'KOR';

    アメリカの都市

    SELECT *
    FROM city
    WHERE CountryCode = 'USA';

    韓国のある都市で、人口が100万人以上の都市です。

    SELECT *
    FROM city
    WHERE CountryCode = 'KOR';
    AND Population >= 1000000;

    BETWEEN

  • データは数字で構成されており、連続値はBETWEEN ... AND
  • SELECT *
    FROM city
    WHERE Population BETWEEN 7000000 AND 8000000
    [인구 수가 700만 800만 사이에 있는 도시들을 보여줘]

    IN

  • 離散値の条件で使用可能IN()
  • 数値ではなくnameと同じ都市名の場合
  • SELECT *
    FROM city
    WHERE Name IN('Seoul', 'New York', 'Tokyo')
    [Name이 이러한 도시만 보여줘]

    韓国、アメリカ、日本のみ

    SELECT *
    FROM city
    WHERE CountryCode In('KOR', 'USA',  'JPN')
    [한국 미국 일본에 있는 도시만 보여줘]

    LIKE

  • LIKE演算子を使用して文字列の内容を検索します.
  • 文字の後ろに%を加えて許可(%)
  • 一字に合わせるために使う_
  • SELECT *
    FROM city
    WHERE CountryCode LIKE 'KO_'
    [이 문자열(KO)에 어떤 글자가 올 수 있지만, 
    하나만 매칭해서 쓸 때 언더바를 쓴다.] 
    ・𐥍7.第二面・𐥎・𐥎・
    SELECT *
    FROM city
    WHERE Name LIKE 'Tel %'
    
    [tel로 시작하는 도시이름이 뭘까?
    -> _(언더바)와 다르게 %는 무엇이든 허용한다.]