狠狠撸

狠狠撸Share a Scribd company logo
XAMPPのインストール
SQL
ネットワーク第8回目
? Webサーバのapahce、DBの
MySQL、PHPやPerlの連携が設定
済みのディストリビューション
XAMPPの
インストール

Windows版を
クリック

http://www.apachef
riends.org/jp/xamp
p.html
にアクセス
ネットワーク第8回目
起動時にウイルスソフトや64bit版ではないと警告が
出る場合もあるが、無視して継続する
ネットワーク第8回目
ネットワーク第8回目
チェック
を外す
ネットワーク第8回目
ネットワーク第8回目
ネットワーク第8回目
ネットワーク第8回目
ネットワーク第8回目
ネットワーク第8回目
RDBMSとは
CREATE、INSERT、UPDATE、DELETE、
DROP文
? リレーショナルデータベース管
理システム(Relational DataBase
Management System)
? リレーショナルデータベースを
管理するソフトウェア。リレー
ショナルデータベースとは、1
件のデータを複数の項目(フィー
ルド)の集合として表現し、デー
タの集合をテーブルと呼ばれる
表で表す方式で、ID番号や名前
などのキーとなるデータを利用
して、データの結合や抽出を容
易に行うことができる。データ
ベースとしては最も広く普及し
ている方式。
? 出展
? http://e-words.jp/w/RDBMS.html
? リレーショナルデータベースの
操作を行うための言語
? SQLは大きく分けて3種類に分か
れる
? DDL(Data Definition Language):データ
定義言語
? DML(Data Manipulation Language):デー
タ操作言語
? DCL(Data Control Language):データ制
御言語
? DDLにはテーブルや制約条件な
どを定義するCREATE文や、テー
ブルなどを削除するDROP文など
がある。DMLにはレコードの抽
出を行うSELECT文や、テーブル
にレコードを挿入するINSERT文、
レコードを削除するDELETE文、
特定のレコードのフィールドを
更新するUPDATE文などがある。
DCLにはトランザクション処理
の開始を宣言するBEGIN文、ト
ランザクションの完了を指示す
るCOMMIT文、トランザクショ
ンを取り消すROLLBACK文などが
含まれる。

? 出展:
? http://e-words.jp/w/SQL.html
? http://localhost/security/xamppse
curity.php
にアクセスし、新規パスワード
を入力する

この時、プログラム内で以下のコ
マンドが発行されている
mysqladmin.exe -u root password
xxxxxx
? MySQLをブラウザから操作出来
るようにしたGUIツール

Adminをクリック
? ユーザ名root、パスワードに先
ほど変更したパスワードを入力
して実行する
ネットワーク第8回目
データベース
をクリック
? 作成したデータベース「study」
はスキーマとも呼ばれることが
ある
? スキーマとは、多数のテーブル
を作成するために、テーブルの
目的や所有者に応じて格納場所
を変更するための仕組み
? 詳しくは以下リンクを参考
? http://www.ossdb.jp/measures/dojo_15.shtml
? CREATE {DATABASE | SCHEMA} [IF
NOT EXISTS] db_name
[create_specification
[create_specification] ...]
? 先ほどのデータベース作成では、
以下のSQL文が発行されている
? create databse study default character set
utf8;

? コンソールでデータベースのス
キーマを確認するには
? show databases;
を使用する。
? まずは、テーブルを作成するス
キーマを選択する
? 【構文】
? use database_name;
? 今回の場合は、use study
? データベースの表(テーブル)を
作成する
? 【構文】
CREATE TABLE table_name
(
column_name column_definition
);

? 表の列のことをカラムと呼ぶ
? 社員ID、社員苗字、社員名、部
署コードをカラムとして持つ
Employeeテーブルは以下のよう
になる
CREATE TABLE Employee
(
employeeID INT,
surName VARCHAR(20),
givenName VARCHAR(20),
deptCode INT
);
? データベース(スキーマ)内の
テーブルの情報を確認する
? 【構文】
? show tables;

? テーブルの情報(カラムなど)を
確認する
? 【構文】
? DESCRIBE table_name;
? テーブルのカラムを追加、変更
する場合
? 【構文】
? alter table table_name ~

? Employeeテーブルにemailカラム
を追加するにはaddを使用する
? alter table employee add (email
varchar(20));

? カラムを削除する場合は、add
をdropに変更する
? データベースのカラムには、
NOT NULL制約(NULLを許可しな
い)設定をすることができる
? EmployeeテーブルのEmployeeID
にNOT NULL制約を追加する
? ALTER TABLE employee MODIFY
employeeID int NOT NULL;

? NOT NULL制約はcreate文の時に
指定することも出来る
? テーブル内で一意の値(ユニー
ク)を設定することが出来る
? ※重複を許さない
? EmployeeテーブルのEmployeeID
にPrimaryKeyを設定する
? ALTER TABLE employee MODIFY
employeeID int PRIMARY KEY;
? データを挿入する(追加する)に
は、insert文を使用する
? 【構文】
INSERT INTO tbl_name [(col_name,...)]
VALUES (...),(...),...;

? Employeeテーブルにデータを挿
入するには
insert into employee (
employeeID,
surName,
givenName,
deptCode)
values (1, "山田", "太郎", 1);
? テーブルに入っているデータを
参照するにはselect構文を使用す
る
? 【構文】
? select column_name, ..., ... from
table_name;

? Employeeテーブルのデータを参
照するには
select
employeeID,
surName,
givenName,
deptCode
from employee;
? 既にテーブル内にあるデータを
更新するにはupdate文を使用す
る
? 【構文】
? Update column_name set column_value;
? また条件を指定して更新することもで
きる
? Update column_name set column_value
where column_name = column_value;
? 行を削除する場合には、delete
構文またはtruncate構文を使用
する
? 【構文】
? delete from table_name;
? truncate table_name;

? ※deleteとtruncateの違い
? deleteはロールバック(データの復旧)が
出来るのに対し、truncateはロール
バックが出来ない。その代わり、
truncateは高速に削除する事ができる
? カラムが、ユーザID、ユーザ名
を保持するテーブルUserを作成
しなさい。ユーザIDはINT、ユー
ザ名はVARCHARとする
? また、ユーザデータを複数作成
しなさい。
? MySQL developer
? http://dev.mysql.com/doc/

? SQL基礎講座
? http://www.sql-master.net/sql-forbeginners

More Related Content

ネットワーク第8回目