狠狠撸
Submit Search
データベース入门2
?
4 likes
?
2,961 views
T
tadaaki hayashi
Follow
勉强外で使った资料です。
Read less
Read more
1 of 29
Download now
Downloaded 52 times
More Related Content
データベース入门2
1.
データベース入门(第2回)
2.
前回のあらすじ。 システムを作るうえで、データベースはかならずといっていいほど使うことに なります。 データベースは何かの情報をためる箱です。 Excelのような表がいっぱいあって、セルにデータが書いてあって、 縦横で目的のデータを探したりすることができます。 データベースには無償で使えるオープンソースのデータベース (MySQL、PostgreSQLなど)と、 商用と呼ばれる有償のデータベース (Oracle、SQLServerなど)があります。 商用のほうが高速で多機能ですが、価格が高いのでみんなあまり使いたがりま せん。
3.
SQLとは。
4.
前回も軽く触れましたが。 構造化問い合わせ言語「Structured Query Language」の頭文字をとって、 SQL(えすきゅーえる)と呼ばれています。 米国規格協会(ANSI)と国際標準化機構(ISO)の2つの標準化団体の協力に よって、SQLの規格の標準化が進められています。 歴史を追っていくと、SQL86、SQL89、SQL92、SQL1999、 SQL2003、SQL2008といった規格が制定されています。 番号は、その規格が制定された年号になります。 ざっくり言うと、このSQLという言語を使えばデータベースやその中のテー ブルを作ったり、テーブルにデータを登録したり、検索したり、更新したり、 削除したりすることができます。
5.
SQL。 ようするに、データベース(リレーショナルデータベース)とお話をするため の言葉が、SQLというわけです。 データベースにもMySQLという村や、PostgreSQLという町や SQLServerという県やOracleという国があったりします。 その地方ごとにいろいろ方言もあるわけです。 その地方にいったらその地方の言葉を話さないと わからない人もいるわけです。 なので、データベースを使うときは、そのとき使うデータベースによって 言葉遣い(SQL)を多少変えて話をしてやらないと、通じなかったりします。
6.
SQL。 SQLは国際規格として定義されているのですが、 結局田舎もんは 「そんなのしらねーべ」 になってしまうので、 使うデータベースによって、SQLを微妙に変えて会話をしてあげないと、 言うことを聞いてくれなかったりします。 http://en.wikibooks.org/wiki/SQL_Dialects_Reference とはいえ。 最低限標準的なSQLはどこにいっても通じるので、 基本的な文法は覚えておきましょう。
7.
ジャンル分け。 前回もお話しましたが、 SQLは大きく分けて3つに分類することができます。 データ定義言語(通称DDL:DataDefinition Language) なにかを定義する データ操作言語(通称DML:DataManipulation Language) データを操作する データ制御言語(通称DCL:DataControl
Language) トランザクションなどの制御 では実際に使ってみましょう。
8.
たとえばDDL。 CREATE ALTER DROP RENAME TRUNCATE GRANT REVOKE こんなのを説明しました。
9.
たとえばDML。 SELECT INSERT UPDATE DELETE MERGE こんなのがありました。 今日は主にここの基本的なお話です。
10.
たとえばDCL。 COMMIT ROLLBACK SAVEPOINT こんなのがありました。 トランザクションにかかわることなので、 この辺は次回にでも話します。
11.
じゃあ使います。
12.
データ定義言語。 まずは、DDL(データ定義言語)を使ってテーブルを作ります。 データベースはテーブル(表)がいっぱいあつまってできています。 そのテーブルという箱にデータをいれるので、まずは箱を作ります。 CREATE TABLE [表名]
( 列名1 格納するデータ型, 列名2 格納するデータ型, ?????? 列名n 格納するデータ型 ); こんな感じ。 格納するデータ型とは?
13.
データ型って。 先ほどの格納するデータ型とは、 どのような形式でデータを格納するかを指定するもので、 たとえばNUMBERやVARCHARなどがあります。 NUMBERは数値データを格納する際に定義し、 VARCHARは文字列データを格納する際に定義します。 Oracleだと、VARCHAR2型だったり、 PostgreSQLなんかはTEXT型だったり、 データ型もデータベースによってかなり違います。 ここは今回割愛しますが、基本的には都度グーグル先生に きいたらいいんじゃないかと思います。
14.
もちろん似てるデータ型もあります。 Oracle PostgreSQL MySQL 数値型
NUMBER INT/INTEGER INT/INTEGER NUMERIC NUMERIC 文字型 CHAR CHAR CHAR VARCHAR2 VARCHAR VARCHAR 日付型 DATE DATE DATE/DATETIME TIMESTAMP TIMESTAMP TIMESTAMP
15.
箱ができたら。 テーブルという名の箱ができたら、そこにデータを入れます。 作っただけでは中身が空っぽなので、データをいれましょう。 データを入れるには、INSERT文というSQLを使います。 INSERT INTO 表名(列名1?列名2???) VALUE(列名1に挿入するデータの値、列名2に挿入するデータの値、???); たとえばこんなふうに。
16.
データをいれたら。 じっさいに、データを入れたら、それを見たいときは 箱からさがして取り出さないといけません。 それをするためのSQLが、SELECT文になります。 SELECT カラム名 FROM
表名 WHERE データを取り出す条件; 表からすべてのデータを取り出すには、「*(アスタリスク)」を使ってすべ てのカラム(列)を指定します。こんなふうに。 SELECT * FROM EMPLOYEE; ただこれでは、全部出てきてしまうので、目的のデータを探すのが大変です。 そ、こ、で!
17.
条件を指定してデータを取り出す。 目的のデータを取り出すためにはWHERE句という言葉を使います。 たとえば、 DEPTNO(部門番号)が20の行のみ という場合。 こんなふうに。
18.
さらにっ! カラム(列)も指定すると、目的のデータのみ取り出すことができるようにな ります。 こんな感じ。
19.
並び順を指定してデータを取り出す。 目的のデータを取り出すためにはSELECT文を使うわけですが、 EMPLOYEE表からEMPNO順に一覧を出したい、といった場合、 SELECT * FROM
EMPLOYEE ORDER BY EMPNO; 「ORDER BY AAA」はAAAという列の昇順に並べてください という意味になります。 「ORDER BY AAA DESC」と書くと、 降順に取り出してくださいという意味になります。 これを「ORDER BY AAA ASC」と書くのは昇順に取り出してください、 という意味ですが、ASCを省略すると、それはASCの意味になります。
20.
複数の表から取り出したい。 データベースは表がいっぱい集まってできているので、 複数の表から必要なデータをまとめてとってこれたりもします。 たとえばこんなん。
21.
データを更新したい。 データを入れた後に変更したい、修正したい、そんなこともしたい。 「えーーっ、そんなことできるのぉ?」 できるんです! データを更新するには、UPDATE文を使います。 たとえばこんなん。
22.
データを削除したい。 データを入れたけどやっぱり消したい。 「うそおっ、そんなことできるのぉ?」 ...うざっ データを削除するには、DELETE文を使います。 たとえばこんなん。 DELETE FROM 表名
WHERE 条件; EMPLOYEE表から社員番号:300番のデータを削除する場合 DELETE FROM EMPLOYEE WHERE 社員番号=300; となります。
23.
データを削除したい。 削除は、1行のデータ(レコード)を全部消します。 WHERE句を指定しなければ、テーブルに入っているデータがすべてきえてし まいます。 DELETEを実行するときは、本当に消していいのか、 十分気をつけるようにしましょう。
24.
今回のまとめ。 基本的なSQLとしては主に、今日あげたような テーブルを作るための 「CREATE TABLE」文。 データを登録するための「INSERT」文。 データを更新するための「UPDATE」文。 データを削除するための「DELETE」文。 の4種類があります。 ほかに、条件指定のWHERE句やORDER
BYなどもありました。 基本、条件を指定するためのWHERE句と、上述のSQL文を覚えれば、 データの編集ができるようになります。 上にあげたようなSQLは基本中の基本なので、 これだけ覚えればかんぺきっ!!
25.
んなわけない。 SQLはほかにもいろいろあり、使えるか使えないかは そのデータベースの種類にもよります。 また、条件を指定する場合、範囲をここからここまでと絞ったりするには BETWEENやIN、LIKEなどの条件指定文を指定すればできます。 ただ、今回あげたような基本的なSQLはどのデータベースでも使えます。 この辺の基本的なSQLは何も見なくても書けるようになっておくと 望ましいです。 INSERT文ってなに? なんていうことは避けましょう。はずかしいから。
26.
次回予告
28.
おっと。 次回は、SQLといっしょに使う、 トランザクションについて 触れたいと思います。 トランザクションを扱うときにも、 SQLを使います。
29.
ご清聴ありがとうございました。
Download