Upload
bevis-rowe
View
30
Download
1
Embed Size (px)
DESCRIPTION
MySQL. 情報理工学部 情報システム工学科 ラシキアゼミ 3年 H106014 井奈波 和也. データベースとは. データベース (Database) は、特定のテーマに沿ったデータを集めて管理し、容易に検索・抽出などの再利用をできるようにしたもの。 狭義には、コンピュータによって実現されたものを言う。 OS が提供するファイルシステム上に直接構築されるものや、データベース管理システム を用いて構築されるものを含む。 データベースをコンピュータ上で管理するためのシステムをデータベース管理システム (DBMS) という。 - PowerPoint PPT Presentation
Citation preview
データベース (Database) は、特定のテーマに沿ったデータを集めて管理し、容易に検索・抽出などの再利用をできるようにしたもの。 狭義には、コンピュータによって実現されたものを言う。 OS が提供するファイルシステム上に直接構築されるものや、データベース管理システム を用いて構築されるものを含む。
データベースをコンピュータ上で管理するためのシステムをデータベース管理システム (DBMS) という。
コンピュータ上では、データの再利用を高速かつ安定に実現するため、データを格納するための構造について様々な工夫が払われており、このデータ構造とアルゴリズムは情報工学において重要な研究分野のひとつである。 Wikiepedia よりコピペ
SQL (エスキューエル)は、リレーショナルデータベースマネージメントシステム (RDBMS) において、データの操作や定義を行うためのデータベース言語(問い合わせ言語)である。
リレーショナルデータベースマネジメントシステム (RDBMS; 英 : relational database management system) とは、エドガー・F ・コッドが提唱した関係モデル(リレーショナルモデル)に基づいた、コンピュータのデータベース管理システム (DBMS) である。
1. システムの利用者が、データをいくつかの関係 ( 複数の行と複数の列からなる表 ) の形で、扱うことができるシステム
2. システムの利用者が、表形式のデータを参照・更新する手段として、関係演算 ( 選択、射影、結合、和などの関係代数や関係論理 ) を、使うことができるシステム Wikipedia より (ry
MySQL (マイエスキューエル)は、 RDBMS (リレーショナルデータベースを管理、運用するためのシステム)の実装の一つである。
世界で最も有名なオープンソース・データベースとして知られている。 他のフリー RDBMS と比較して高速性に定評があり、特に更新よりも参照の頻度の高いアプリケーションに向くとされている。
C, C++, Eiffel, Smalltalk, Java(JNI), Lisp, Perl, PHP, Python, Ruby, Tcl は MySQL の API を介してデータベースへアクセスできる。また ODBC インターフェース (MyODBC) もサポートされている。
Open Database Connectivity ( ODBC )は、 RDBMS にアクセスするための共通インタフェース (API) である。 wikipe(ry
データベース A
データテーブル1
データテーブル 3
データテーブル2
データテーブル4
データベースB
データテーブル1
データテーブル 3
データテーブル2
データテーブル4
管理者権限を持つユーザを登録するGRANT ALL PRIVILEGES ON データベース名 .
* TOユーザー名 @“%” IDENTIFIED BY ‘パスワード’
WITH GRANT OPTION;FLUSH PRIVILEGES;
通常のデータ操作が行えるユーザを登録するGRANT SELECT,INSERT,UPDATE,DELETE ・・・ ON
データベース名 . * TO ユーザ名 @localhost IDENTIFIEDBY ' パスワード ';FLUSH PRIVILEGES;データベースの権限テーブルから権限を再読み込みする。
データベース一覧を見る SHOW DATABASES; データベースを作る CREATE DATABASE データベース名 ; データベースを削除する DROP DATABASE データベース名 ; 使用するデータベースを指定 ( 切り替え ) USE データベース名 ;
テーブルを作成する(最低限必要な引数) CREATE TABLE テーブル名 ( カラム 1 名 カラム 1 の型 ,
カラム 2 名 カラム 2 の型・・・ );
ここで型とは? つまり変数の型のようなもの( int,double,string,etc… ) 沢山ありすぎるのでここでは DECIMAL と VARCHAR を使用します DECIMAL は金額データに関する値など、正確な精度で保存するこ
とが重要となる値に対して使用されます DECIMAL( 全桁数 , 小数点以下の桁数 ) DECIMAL (5,2) と指定すると 999.99 まで表現できます VARCHAR は可変長の文字列です VARCHAR( 文字数 )
主キー( PRIMARY KEY )プライマリキーとはレコードを 1 行ずつ識別するためのフィールドで、プライマリキーは必ずユニークな値となる。プライマリキーの指定により、膨大なデータから必要なレコードだけを確実に取り出すことが可能。
例えば学籍番号とか( H106014 )CREATE TABLE TEST( STUDENT_CODE varchar(7) not null primary key, STUDENT_NAME varchar(15));
レコード追加 INSERT INTO 表名 ( 列名 1, 列名 2) VALUES( 値 1, 値 2); INSERT INTO 表名 VALUES( 値 1, 値 2); レコード変更 UPDATE 表名 SET 列名 2 = 値 2, 列名 3 = 値 3
WHERE 列名 1= 値 1; レコード削除 DELETE FROM 表名 WHERE 列名 1 = 値 1;
レコードの検索 SELECT 列名 1, 列名 2 ・・・ FROM 表名 ; 条件付加 WHERE句 SELECT 列名 1, 列名 2 ・・ FROM 表名 WHERE 列名 1 = 値
1;
演算子• =• <>,!=• >• >=• <• <=
演算子• and• or• not
ワイルドカード• * あると便利• BETWEEN• IN• LIKE
GROUP句 SELECT * FROM 表名 GROUP BY 列名 ; AVG() SUM() COUNT() MAX() MIN()
ORDER句 SELECT ( 中略 ) ORDER BY 列名( desc ) ;
表結合 左結合 表名 2 LEFT JOIN 表名 2 ON 列名 1 = 列名 2; 右結合 ( 左結合の反対 ) 表名 2 RIGHT JOIN 表名 2 ON 列名 1 = 列名 2; 内部結合 表名 2 INNER JOIN 表名 2 ON 列名 1 = 列名 2;
上のデータが返ってくるような select 文を考える これを作るのにもう一つ新しいテーブルを用意する 手順 1:code,code_name をカラムに持つテーブルを作成 手順 2:前の結果にさらに left join を(合計 2回)
返品テーブル ここにあるデータを売上から除外する 課題1の表の形で上記のデータが反映された表を取得する
自由課題 身の回りの事象をデータベース化 例えばバイト先(飲食店)のデータベースとか学校の生徒や先生
のデータベースとか・・・