情報理工学部 情報システム工学科 ラシキアゼミ 3年 H 井奈波 和也

Slides:



Advertisements
Similar presentations
DBを 256倍 活用する方法 ~S2Dao PHP/.NET/Java.
Advertisements

PostGIS - 1 (入門編).
情報理工学部 情報システム工学科 3年 H 井奈波 和也
SQL データベースアクセスのための文法と MySQL
JPAを利用した RESTful Webサービスの開発
プログラミング基礎I(再) 山元進.
3-1 MySQLについて 発表者:藤村元彦 自然言語処理研究室.
MySQLに接続するデータベースプログラム
プログラミング基礎I(再) 山元進.
Ex8. Search for Vacuum Problem(2)
6-2 データベース 1.SQLite SQLを単純化した SQLite を使ってデータベースを操作 表「fruit」
情報理工学部 情報システム工学科 ラシキアゼミ3年 H 岡田 貴大
SQL J2EE I 第3回 /
プログラミング言語論 第6回 型 情報工学科 篠埜 功.
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
情報理工学部 情報システム工学科 4年 H 亀窪祐太 H 纐纈琢真
3-2.データを取り出す 2004年 5月20日(木) 01T6074X 茂木啓悟.
T-SQL の Parse と Generate
アルゴリズムとデータ構造 補足資料4-2 「線形探索」
 データベースによる並列処理 情報論理工学研究室  三宅健太.
(B2) 親: minami, kazuki 多様な認証機器に対応する 認証システム (B2) 親: minami, kazuki.
14.テーブル定義,一対多の関係,多対多の関係, 外部キー,索引(インデックス),データベース操作
マイクロソフト Access での SQL 演習 第1回 SQL問い合わせ(クエリ)
データベースとJavaをつなげよう! ~JDBC~
2004/05/13 3-4 データ型(カラムタイプ) について 発表者:藤村元彦 自然言語処理研究室.
SQL パフォーマンス チューニング ~ カバーリングインデックス/クエリヒントの利用~
データベースを使ったプログラミング ~JDBCを使ってみよう~
ネットワークプログラミング論 平成28年12月26日 森田 彦.
JDBC J2EE I 第4回 /
SQL データベースアクセスのための文法 担当 岡村耕二 月曜日 2限 平成21年度 情報科学III (理系コア科目・2年生)
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
3-10. MySQLシステムの管理  2004年6月10日  大北高広                01T6010F.
第1回.リレーショナルデータベースを使ってみよう
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
SQL パフォーマンス チューニング ~ プランガイドの利用~
独習JAVA 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 ObjectクラスとClassクラス 11月28日(金)
暗黙的に型付けされる構造体の Java言語への導入
理学部 情報科学科 指導教官 千葉 滋 助教授 学籍番号 03_03686 内河 綾
変数のデータフローを考慮した API利用コード例の検索 井上研究室 竹之内 啓太.
JDBC データベース論 第12回.
Javaによる Webアプリケーション入門 第7回
プログラミング言語論 第五回 理工学部 情報システム工学科 新田直也.
3-6.インデックスについて 3-7.関数と併用されることの 多いMySQLコマンド
3-3.テーブルを更新する 2004年 4月22日(木) 01T6074X 茂木啓悟.
「Webデータベースの構築技術」正誤表 ページ 項目 誤記 訂正 18 表1.4 アクセス 権限の削除 ・・・テーブル名 TO ユーザ名
7.4 intanceof 演算子 7.5~7.9パッケージ 2003/11/28 紺野憲一
P n ポインタの基礎 5 q m 5 7 int* p; int 型の変数を指すポインタ int* q; int 型の変数を指すポインタ int n=5, m=7; int 型の変数 int array[3]; int* pArray[3]; p = &n; ポインタにアドレスを代入しているのでOK.
Fortranについて 高エネルギー加速器研究機構 平山 英夫.
アルゴリズムとデータ構造1 2005年6月24日
アルゴリズムとデータ構造 2010年6月21日
JDBC J2EE I (データベース論) 第5回 /
3.リレーショナルデータベース,主キー, SQL
プログラミングⅠ 平成30年10月22日 森田 彦.
JDBC ソフトウェア特論 第3回.
プログラミング言語論 第六回 理工学部 情報システム工学科 新田直也.
情報基礎演習I(プログラミング) 第11回 7月12日 水曜5限 江草由佳
アルゴリズムとプログラミング (Algorithms and Programming)
EntityManager と EJB QL EJB 3.0 コース 第8回 2006年8月5日.
関係データベースとSQL MZ Platform講習会(上級).
Nakano School of Business 経営情報ビジネス科 【 Java概論(Test4)】
JAVA入門⑥ クラスとインスタンス.
ソフトウェア工学 知能情報学部 新田直也.
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
情報処理Ⅱ 2005年11月25日(金).
オブジェクト指向言語論 第三回 知能情報学部 新田直也.
SQL J2EE I (データベース論) 第3回 /
クリエイティブ リサーチ 2019/05/20 日本工学院八王子専門学校 M.Katsube.
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
SQL データベース論 第11回.
計算機プログラミングI 第2回 2002年10月17日(木) 履習登録 複習 ライブラリの利用 (2.6-7) 式・値・代入 (2.6-8)
Presentation transcript:

情報理工学部 情報システム工学科 ラシキアゼミ 3年 H106014 井奈波 和也 MySQL + JAVA 情報理工学部 情報システム工学科 ラシキアゼミ 3年  H106014 井奈波 和也

JDBCとは JDBCは、Javaとデータベースの接続のためのAPI。  JDBCは正式名称であって略称ではないが、Java Database Connectivityを略して名付けられたと考えられている。  ODBCをベースにサン・マイクロシステムズおよびDataDirect が共同で開発していると言われている。 SQLを使用して、データベース管理システム (DBMS) などと 接続する機能を標準化(抽象化)している。 ちなみに今回はここにjarファイルが置いてあるよ C:\Program Files\MySQL\mysql-connector-java-5.1.7\mysql- connector-java-5.1.7-bin.jar

JavaによるMySQL接続方法 プリント参照

PreparedStatementとStatement JDBCでは2つのクエリの実行方法がある Select文のwhere句に違いが 例) Statement Select * from Atable where ID = 1; 例) PreparedStatement Select * from Atable where ID = ?; ? = 1; ?はバインド変数という PreparedStatementで書いたほうが検索が早いと言われていま す

早い理由 データベースでは、SQL文(ここではSELECT, INSERT, DELETE, UPDATEに限定)を実行する際に、いくつかのステップを踏ん で処理を行います。  (1) SQL文の構文チェック、権限チェック  (2) 検索方法の特定、コンパイル  (3) データの検索、変更を実施 ここで、多くのデータベースでは効率化の為に(2)の結果と SQL文をキャッシュに保存します。以降、キャッシュに存在 するSQL文は検索方法が特定されているものとし、(2)を実施 することなく(3)の処理に移れる為、効率的に処理をすること が可能になります。 ただし、実行するSQL文がキャッシュに保存されているSQL 文にヒットする為には、文字列全体が「完全に一致する」必 要があります。

PreparedStatement 変更点 変数宣言 PreparedSatement ps = null; SELECT文の変更 String sql = “select * from dt_sample1 where ID = ?”; ここから少し違うよ ps = con.prepareStatement(sql); 第一引数は何番目の?か 第二引数は与える値(int, String) ps.setString(1,“1"); あとはResultSetをもらう ResultSet rs = ps.executeQuery();

Insert Update Delete Statement.executeQuery(sql) ↓       ↓ Statement. executeUpdate(sql); PreparedStatement.executeQuery(); PreparedStatement.executeUpdate();

ResultSet .next() カーソルを現在の位置から 1 行下に移動します。ResultSet のカーソルは、初 期状態では最初の行の前に位置付けられています。メソッド next の最初の 呼び出しによって、最初の行が現在の行になります。2 番目の呼び出しに よって 2 行目が現在の行になり、以降同様に続きます。 戻り値: 新しい現在の行が有効な場合は true、それ以上行がない場合は false .getString() この ResultSet オブジェクトの現在行にある指定された列の値を、Java プログ ラミング言語の String として取得します。 .getInt() この ResultSet オブジェクトの現在行にある指定された列の値を、Java プログ ラミング言語の int として取得します。

課題1 新しいテーブルを作成 カラムはnameとage nameはvarchar(10)のprimary key,ageはint(3) 初期値として適当に3人分くらい入れる それをjavaのプログラムで表示させる

課題2 課題1の応用 実行結果を見せるのでそれに沿ってプログラムを作成する