データベース (Database) は、特定のテーマに沿ったデータを集 めて管理し、容易に検索・抽出などの再利用をできるようにした もの。 狭義には、コンピュータによって実現されたものを言う。 OSが提供するファイルシステム上に直接構築されるものや、デー タベース管理システム を用いて構築されるものを含む。 データベースをコンピュータ上で管理するためのシステムをデー タベース管理システム (DBMS) という。 コンピュータ上では、データの再利用を高速かつ安定に実現する ため、データを格納するための構造について様々な工夫が払われ ており、このデータ構造とアルゴリズムは情報工学において重要 な研究分野のひとつである。 Wikiepediaよりコピペ SQL(エスキューエル)は、リレーショナルデータベースマネージ メントシステム (RDBMS) において、データの操作や定義を行うた めのデータベース言語(問い合わせ言語)である。 リレーショナルデータベースマネジメントシステム (RDBMS; 英: relational database management system) とは、エドガー・ F・コッドが提唱した関係モデル(リレーショナルモデル)に基づ いた、コンピュータのデータベース管理システム (DBMS) である。 システムの利用者が、データをいくつかの関係 (複数の行と複数 の列からなる表) の形で、扱うことができるシステム システムの利用者が、表形式のデータを参照・更新する手段とし て、関係演算 (選択、射影、結合、和などの関係代数や関係論理) を、使うことができるシステム Wikipediaより(ry 1. 2. 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 データベースB データテーブル1 データテーブル2 データテーブル1 データテーブル2 データテーブル3 データテーブル4 データテーブル3 データテーブル4 管理者権限を持つユーザを登録する GRANT ALL PRIVILEGES ON データベース名.* TO ユーザー名@“%” IDENTIFIED BY ‘パスワード’ WITH GRANT OPTION; FLUSH PRIVILEGES; 通常のデータ操作が行えるユーザを登録する GRANT SELECT,INSERT,UPDATE,DELETE・・・ON データベース名.* TO ユーザ名@localhost IDENTIFIED BY 'パスワード'; 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 演算子 = <>,!= > >= < <= • • • 演算子 and or not • • • • ワイルドカード * あると便利 BETWEEN IN LIKE 列名1 = 値1; GROUP句 SELECT * AVG() SUM() COUNT() MAX() MIN() FROM 表名 GROUP BY 列名; 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の表の形で上記のデータが反映された表を取得する 自由課題 身の回りの事象をデータベース化 例えばバイト先(飲食店)のデータベースとか学校の生徒や先生 のデータベースとか・・・
© Copyright 2025 ExpyDoc