21.2.27


<MySQLとは何ですか?>

  • 生活コード講義+データベースタスク資料整理学習事項
  • MySQLはリレーショナル・データベース・システムの1つです.

    1.リレーショナル・データとはデータが相互に関連しているという意味です。

  • e.gスターバックスのアレルギー要因データとアレルギー要因を含む飲料データ
  • 2.どのように保存していますか。



    常に混同:row(行、横)、column(列、縦)

  • row:入力された実際の値は
  • です.
  • 列:表の項目
  • フィールド:単列、行と列の交点
  • 絵で片付ける

    3.MySQLの使用


    SQL? : データベースからデータを格納または取得するための標準言語である構造化Query Language.

    1.基本操作指令


  • 作成:CREATE DATABASE `데이터베이스명` CHARACTER SET utf8 COLLATE utf8_general_ci;

  • 削除:DROP DATABASE `데이터베이스명`;

  • 読み取り:SHOW DATABASES;

  • 選択:USE `데이터베이스명`
  • 2.Tableの作成


  • スキーマ:テーブルにロードするデータの構造とフォーマットを事前に定義します.設計図

  • 図面の作成方法:
  • create table "table_name"(
    	컬럼1 data_type,
        컬럼2 data_type,....
    );
    e.g誤字は本当に注意しています.性格に応じてデータ型を選んで使います.
    CREATE TABLE `student` (
        `id`  tinyint NOT NULL ,
        `name`  char(4) NOT NULL ,
        `sex`  enum('남자','여자') NOT NULL ,
        `address`  varchar(50) NOT NULL ,
        `birthday`  datetime NOT NULL ,
        PRIMARY KEY (`id`)
    );
    正しい列が作成されていることを確認するには、次の手順に従います.desc table명

    3. CRUD

  • insert(C)
  • INSERT INTO table_name VALUES (value1, value2, value3,...)
    # 한 row를 한 줄로 순서대로
    혹은
    
    INSERT INTO table_name (column1, column2, column3,...) VALUES (value1, value2, value3,...)
    한 로우에 컬럼 순으로 하나 씩 맞추기 ; 약간 키워드 인자 같은 느낌
    
    예 : 
    mysql> insert into student (`id`, `name`, `sex`, `address`, `birthday`) values ('1', '웬디', '여자', '서울시 강남구', '940221');
    2.Read(R)
    e.g:
  • 単純入
  • mysql> select * from student;
    # 다 불러오기
    
    mysql> select * from student where id=3;
    # id값이 3번인 것만 가져오기
    
    mysql> select * from student where name="웬디" or name="슬기";
    # 두 조건 중 or 인 조건에서 가져오기
    반대로 and도 있음.
  • グループ(どのようなデータがありますか?)
  • mysql> select address from student group by address;
  • ソート:
  • mysql> select * from student order by birthday;
    反対は?:+desc
  • Update(U)
  • mysql> update `student` set name='아이린' where id=3;
    # update 테이블명 set 바꾸는 부분(여러 데이터도 가능하다) where ID
  • Delete(D)
  • mysql> insert into `student` value(6, '최민호', '남자', '서울시 강동구', '910203');
    データの追加と削除後、
    mysql> delete from student where id=6;
    drop tableを使用すると、テーブル全体が消去されます.

    4.MySQLとjoin


    ->分割されたテーブル間の関係を設定します(重複を回避します).
    例)

  • 問題:ソウル市江南区、ソウル市松坡区、ソウル市瑞草区などで重複データが発生

  • ≪分析|Analysis|emdw≫:誰もが「≪参照|Reference|emdw≫」アドレス値を持っています.
    すなわちaddressは、1人の関連データ(名前、性別、誕生日)の「マルチ」関係であるデータベーステーブルと見なすことができる.

  • これはいくつかの労働力を必要とする仕事ですが、以下のように完成しました.上のデータと下のデータは別々に見ることができます.

  • スターバックスのケースに似ています
  • ここでは、メニューidを参照してください.
    学生は住所を参照している.だからstudentにはaddress idがあります(エラーを無視...)

    例外:他の例の実装を試みる


    まず、MySQLをさらに可視化できるプログラムをインストールします
    
    실행도 $ mycli -u root 

  • 実行するタスク:Djangoクラスの外部キーを使用してデータをマージし、MySQLでもjoin機能を使用します.

  • 事前作業:まず2つの表を作成します.Red Velvetメンバーの履歴書と各メンバーのシングルリストを作成しました.

  • ここで参考シングルの代表曲はRed VelvetメンバーのProfileのデータだから、foriegnkeyの位置は歌です.

  • 表の例
    Profile

  • songs

    ここでartist idとprofileのIDをつづります.
    select Profile.ID, Profile.Nickname, songs.title from Profile
    # 프로필의 id, 닉네임, 그리고 songs의 타이틀을 가져와서
    join songs 
    # 프로필과 송스를 조인하고
    on Profile.id = songs.artist_id;
    # 프로필 아이디와 송스의 아티스트 아이디는 같다.
  • 結果:
  • はよく配合されています.ニックネームで重複したが、2票のサインに成功した.