SQL - 1


Pythonトレーニング終了後、SQLデータベーストレーニングを開始します.今度はSQLを使います.

SQL(Structured Querry Language)


SQLは構造化クエリー言語とも呼ばれ、データベースシステムでデータ処理に使用される言語です.1970年代初めにIBMで働いていたドナルド・チャンバーリンとレイモンド・ボイスが初めて開発したという.SQLは1986年に初めてANSIによって標準化され、SQL-86と命名された.SQLでよく使用されるデータベースは、テーブル形式のリレーショナル・データベース(RDBMS)です.
ここでは、Oracle社が提供するMySQLという無料ソフトウェアを使用しています.

SQLのタイプ


SQLは大きく4種類あります.

1.データ定義言語(DLL、Data Definition Language)-表やビューなどのデータベース・オブジェクトの作成


2.データオペレータ(DML、Data Management Language)-表データの表示、入力、変更、削除


3.データ制御言語-取引


4.取引制御言語:授権と回復


まず、データ定義語とデータオペレータについて説明します.

データ定義


CREATE-データベース・オブジェクトの作成
ALTER-既存のオブジェクトの変更
DROP-既存オブジェクトの削除
TRUNCATE TABLE-テーブルからすべてのデータを削除
RENAME TABLE-テーブル名の変更

データ操作言語


SELECT-テーブルに存在するデータの検索
INSERT-表に新しいデータを入力する
UPDATE-表のデータを修正する
DELETE-テーブルからデータを削除

MySQLのインストールと設定


SQLをWorkbenchにインストールし、アカウントを作成し、練習ファイルを受信します.

インストールが完了したら、Schemas Tabをクリックするとこのようなウィンドウが表示されます.
授業で習ったことを練習した.
CREATE DATABASE mywork;
DROP DATABASE IF EXISTS mywork;

USE mywork;
CREATE TABLE students (
    student_no VARCHAR(20) NOT NULL PRIMARY KEY,
    student_name VARCHAR(20) NOT NULL,
    grade TINYINT,
    class VARCHAR(20),
    age SMALLINT
    );

DESC students;

CREATEを使用して、データベース(スキーマ)とテーブルを作成します.そしてテーブルでColumnを作りました実際、大文字で書かれたSQLは大文字と小文字を区別しないので、小文字で書くことができます.しかし、可読性のために大文字を試してみました.
重要なのは、命令が完了した後です.命令が終わったことを知らせるために使います.次のコマンドと競合し、エラーが発生します.
SQLで宣言された変数では、VARCHAR()には20バイトのスペースが割り当てられていますが、実際には名前が入力され、残りのスペースが返されます.学生の名前、学年、クラス、年齢が同じ場合を考慮して、唯一異なるPRIMARY KEYが学号を指定した.
ここで、NOT NULLは絶対に空にならない値です.

メインキー(PRIMARY KEY)


プライマリ・キーは、すべての値が同じ場合に区別できる唯一の値です.デフォルトのキーはテーブルに1つしかありません.ColumnとColumnを組み合わせることもできます.例えば学号、社員号などです.
そして最後にDESC関数でテーブルが正常に生成されているかを確認します.よくできています.

今回は作ったテーブルに値を置いてみました.
DESC students;

INSERT INTO `students` VALUES (0001,'김철수', 3, '3반', 19),
                              (0002,'이영희', 3, '5반', 19),
                              (0003,'정판사', 3, '1반', 19);
                              
SELECT * FROM students;
学生の情報を入れてSELECTで表を印刷しました.よく入っていることを確認できます.SELECTはPythonでPRINTの役を演じています.これは簡単に勉強したSQLです.
この授業のポイントは、情報処理技能士試験で使われるデータベース言語の準備で、簡単についていけるようです.また,どのような関数を用いて応用できるのか,期待される.