#author("2023-11-16T15:26:27+09:00;2023-11-16T13:34:46+09:00","default:inoue.ko","inoue.ko") *SQL Structured Query Language ~ **概要 SQLとは、DBMS(Database Management System)を操作するためのデータベース言語で、データベースの作成、テーブルの作成、テーブルへのデータの追加、更新、削除、また設定変更などを行うコマンドが体系化されています。 SQLによるデータベース操作には「対話型」と「埋め込み型」の2種類があります。対話型は、[[Terminal]]接続や、phpMyAdmin のようなGUIツール上で、ユーザーが直接SQLのコマンドを打ち込むもので、埋め込み型は、PHPやJavaなどのプログラミング言語で記述したソースコードにSQL文を埋め込むものです。 SQLは、 あくまでもデータの操作や定義を行うためのデータベース言語で、それ自体はプログラミング言語ではありません。実際的には、様々なアプリケーションにおけるデータベースへのアクセスのために、他のプログラミング言語(ホスト言語)に埋め込まれて利用されるのが一般的です。 SQLはその機能によって「データ定義言語」「データ操作言語」「データ制御言語」の3種類に分類されます。以下、それぞれの概要と命令文の例です。 -DDL(Data Definition Language:データ定義言語) --CREATE:オブジェクトを制作する --JOIN:テーブルを結合する --DROP:オブジェクトを削除する --ALTER:オブジェクトの内容を変更する --TRUNCATE:データを全削除する -DML(Data Manipulation Language:データ操作言語) --SELECT:データを検索して取得する --INCERT:データを追加する --DELETE:データを削除する --UPDATE:データを更新する -DCL(Data Control Language:データ制御言語) --GRANT:ユーザーに権限を付与する --REVOKE:ユーザーの権限を削除する --BEGIN:トランザクションを開始する --COMMIT:トランザクションを確定する --ROLLBACK:トランザクションを取り消す ~ ~ **データベースの操作 -CREATE DATABASE [データベース名]:データベースを作成する CREATE DATABASE sample_db -SHOW DATABASES :データベースの一覧を確認する SHOW DATABASES -DROP [データベース名]:データベースを削除する DROP sample_db ~ ~ **データ定義 -CREATE TABLE テーブル名 (列名 データ型, ...); CREATE TABLE member ( id INT, name VARCHAR(255) ); -ALTER TABLE テーブル名 変更操作; ALTER TABLE member ADD ( email VARCHAR(255) ); --ADD (列名 データ型) :列を追加 --MODIFY 列名 データ型:データ型や制約を変更 --DROP COLUM 列名:列を削除 --ADD 制約:制約を追加 --DROP 制約 :制約を削除 -DROP TABLE テーブル名 DROP TABLE member ~ ~ **データ操作 -INSERT INTO テーブル名 ( カラム名 , カラム名, ・・) VALUES ( 値, 値,・・); INSERT INTO member ( id, name ) VALUES ( 101, '川添' ) -UPDATE テーブル名 SET 列名 = 値 WHERE 条件式; UPDATE member SET e-mail = kwz@example.com 値 WHERE id = 101; -DELETE FROM テーブル名 WHERE 条件式; ~ ~ **データ制御 -COMMIT:確定 COMMIT; -ROLLBACK:取り消し ROLLBACK; ~ ~ (書きかけです) ~ ~