16

MySQL

Embed Size (px)

DESCRIPTION

MySQL. 情報理工学部 情報システム工学科 ラシキアゼミ 3年 H106014 井奈波 和也. データベースとは. データベース (Database) は、特定のテーマに沿ったデータを集めて管理し、容易に検索・抽出などの再利用をできるようにしたもの。 狭義には、コンピュータによって実現されたものを言う。 OS が提供するファイルシステム上に直接構築されるものや、データベース管理システム を用いて構築されるものを含む。 データベースをコンピュータ上で管理するためのシステムをデータベース管理システム (DBMS) という。 - PowerPoint PPT Presentation

Citation preview

Page 1: MySQL
Page 2: MySQL

データベース (Database) は、特定のテーマに沿ったデータを集めて管理し、容易に検索・抽出などの再利用をできるようにしたもの。 狭義には、コンピュータによって実現されたものを言う。 OS が提供するファイルシステム上に直接構築されるものや、データベース管理システム を用いて構築されるものを含む。

データベースをコンピュータ上で管理するためのシステムをデータベース管理システム (DBMS) という。

コンピュータ上では、データの再利用を高速かつ安定に実現するため、データを格納するための構造について様々な工夫が払われており、このデータ構造とアルゴリズムは情報工学において重要な研究分野のひとつである。 Wikiepedia よりコピペ

Page 3: MySQL

SQL (エスキューエル)は、リレーショナルデータベースマネージメントシステム (RDBMS) において、データの操作や定義を行うためのデータベース言語(問い合わせ言語)である。

リレーショナルデータベースマネジメントシステム (RDBMS; 英 : relational database management system) とは、エドガー・F ・コッドが提唱した関係モデル(リレーショナルモデル)に基づいた、コンピュータのデータベース管理システム (DBMS) である。

1. システムの利用者が、データをいくつかの関係 ( 複数の行と複数の列からなる表 ) の形で、扱うことができるシステム

2. システムの利用者が、表形式のデータを参照・更新する手段として、関係演算 ( 選択、射影、結合、和などの関係代数や関係論理 ) を、使うことができるシステム Wikipedia より (ry

Page 4: MySQL

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

Page 5: MySQL

データベース A

データテーブル1

データテーブル 3

データテーブル2

データテーブル4

データベースB

データテーブル1

データテーブル 3

データテーブル2

データテーブル4

Page 6: MySQL

管理者権限を持つユーザを登録するGRANT   ALL   PRIVILEGES   ON  データベース名 .

*  TOユーザー名 @“%”   IDENTIFIED   BY   ‘パスワード’

  WITH GRANT   OPTION;FLUSH PRIVILEGES;

通常のデータ操作が行えるユーザを登録するGRANT   SELECT,INSERT,UPDATE,DELETE ・・・ ON

  データベース名 . *  TO  ユーザ名 @localhost   IDENTIFIEDBY ' パスワード ';FLUSH PRIVILEGES;データベースの権限テーブルから権限を再読み込みする。

Page 7: MySQL

データベース一覧を見る SHOW   DATABASES; データベースを作る CREATE   DATABASE  データベース名 ; データベースを削除する DROP   DATABASE  データベース名 ; 使用するデータベースを指定 ( 切り替え ) USE  データベース名 ;

Page 8: MySQL

テーブルを作成する(最低限必要な引数) CREATE   TABLE  テーブル名 ( カラム 1 名 カラム 1 の型 ,

     カラム 2 名 カラム 2 の型・・・ );

ここで型とは? つまり変数の型のようなもの( int,double,string,etc… ) 沢山ありすぎるのでここでは DECIMAL と VARCHAR を使用します DECIMAL は金額データに関する値など、正確な精度で保存するこ

とが重要となる値に対して使用されます DECIMAL( 全桁数 , 小数点以下の桁数 ) DECIMAL (5,2) と指定すると 999.99 まで表現できます VARCHAR は可変長の文字列です VARCHAR( 文字数 )

Page 9: MySQL

主キー( PRIMARY KEY )プライマリキーとはレコードを 1 行ずつ識別するためのフィールドで、プライマリキーは必ずユニークな値となる。プライマリキーの指定により、膨大なデータから必要なレコードだけを確実に取り出すことが可能。

例えば学籍番号とか( H106014 )CREATE   TABLE   TEST( STUDENT_CODE    varchar(7)   not null   primary key, STUDENT_NAME    varchar(15));

Page 10: MySQL

レコード追加 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;

Page 11: MySQL

レコードの検索 SELECT  列名 1, 列名 2 ・・・  FROM   表名 ; 条件付加 WHERE句 SELECT  列名 1, 列名 2 ・・  FROM  表名  WHERE   列名 1 = 値

1;

演算子• =• <>,!=• >• >=• <• <=

演算子• and• or• not

ワイルドカード• * あると便利• BETWEEN• IN• LIKE

Page 12: MySQL

GROUP句 SELECT  *  FROM  表名  GROUP   BY  列名 ; AVG() SUM() COUNT() MAX() MIN()

Page 13: MySQL

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;

Page 14: MySQL

上のデータが返ってくるような select 文を考える これを作るのにもう一つ新しいテーブルを用意する 手順 1:code,code_name をカラムに持つテーブルを作成 手順 2:前の結果にさらに left   join を(合計 2回)

Page 15: MySQL

返品テーブル ここにあるデータを売上から除外する 課題1の表の形で上記のデータが反映された表を取得する

Page 16: MySQL

自由課題 身の回りの事象をデータベース化 例えばバイト先(飲食店)のデータベースとか学校の生徒や先生

のデータベースとか・・・