• ベストアンサー

SQLとデータベースを学ぶには?

SherlockHolmes2の回答

回答No.2

JavaでもDB2でもOracleでもWindowsでも、何にでも当てはまりますが、「まずはマニュアルを見ながら実際に使ってみる」のが良いかと思いますよ。 それで基礎を自分なりにしっかりと理解して行ったほうが良いと思います。 基礎を理解しないで、応用は出来ません。 先輩からそう言われたのであれば、多分ですが、あなたの会社にJavaやSQL(DB2)のマニュアル、参考書等は沢山あると思いますので、それらを読みつつ、実機を触って理解してみては如何でしょうか。

kuu1207
質問者

お礼

回答ありがとうございます。 そうですね、「学ぶは真似ぶ」と言いますものね。 先輩に参考書のありかを聞いて、基礎を固めたいと思います。

関連するQ&A

  • DB2で SQL1032N start database managerエラー

    はじめまして。初めて書き込みさせていただきます。 WebSphereでDB2をデータベースとして行っているのですけど、今日起動してDB2にconnectしようと思ったら COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver] SQL1032N start database manager コマンドが発行されていません。 SQLSTATE=57019 というエラーメッセージが出てきてconnectできなくなってしまいました。どなたか改善方法知っている方いらっしゃいましたら教えてください。よろしくお願いします。

  • [Oracle][IBM DB2][SQL Server]の違いと適性

    現在、Accessで業務アプリケーションを作成しているのですが、そろそろパフォーマンス的にも限界で、というかC/S環境でAccessを使っていること自体危険ですね… ここでデータベースをグレードアップしようと思っています。 しかし、データベースと言ってもたくさんあり、どれがいいのか 迷っています。 現在、商用RDBMSでは[Oracle][IBM DB2][SQL Server]がメインとの ことですが、これらの違いが分かりせん。 うちの規模は社員数が40人程度です Oracleは大規模システム向けと聞いた事があるのですが、 それであれば、IBM DB2かSQL Serverなのでしょうか 御教授宜しくお願いします。

  • db2のデータベース作成エラーについて

    はじめまして。 以前、以下のような質問がされていると思います。 「WebSphereでDB2をデータベースとして行っているのですけど、今日起動してDB2にconnectしようと思ったら COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver] SQL1032N start database manager コマンドが発行されていません。 SQLSTATE=57019 というエラーメッセージが出てきてconnectできなくなってしまいました。どなたか改善方法知っている方いらっしゃいましたら教えてください。よろしくお願いします。」 その原因が「原因はユーザーのpassを変更した際、DB2のユーザーを変えなかったのが原因でした。」ということなのですが、現在同じエラーが出て困っています。どのような対処をすればよいか教えていただけないでしょうか。よろしくお願いいます。

  • データベース・WEBアプリを作りたい

    一度、テキストファイル+Perlで作ったデータベース WEBアプリがあるのですが、不安定性や機能性を改良 したいと考えております。 Perlとテキストファイルで作っていると改変が 大変です。なるべくMSのアクセスライクで作りたい のですが、不特定多数の人が閲覧できるWEBアプリ をより簡単に作れるでしょうか? PostgreSQL+PerlやMysqlはどうも自信がありません。 データベースに接続し、SQLを打っていけばいい のでしょうが、自信がありません。 デジエなんか使い易そうな気がしましたが、 使ったことがないのでわかりません。 データベース・WEBアプリを作るのに適したDBや 方法がありましたら教えてください。

  • SQLをGUIで作成したい

    ある職場で、DB2というデータベースを使っております。 MS-AccessのようにGUIでSQLを書きたいのですが、何かツールは無いのでしょうか? 現在は、JavaのソースコードからJDBCを通じてアクセスしております。 毎回テストコードを組んで、実行して結果を確認しています。 DB2がインストールされているサーバーは、私が入る事が出来ない所で管理されており、直接触れるように申請した物の、出向先のため、許可されるのは一週間はかかりそうです。 かなり特殊な状況なんですが、どなたか助けて頂けないでしょうか。

  • SQL ServerへのODBC接続

    Excelの「外部データの取り込み」により、SQLサーバー内のデータベースよりデータを取得しようとしています。 新しいデータソースの登録のステップで、データソースの種類「Microsoft SQL Server」を選択して、次のポップアップウィンドウでサーバー名と認証IDを入力。そうすると接続可能なDBが「使用するデータが含まれているデータベースを選択」のテキストの下のドロップダウンリスト中に現れるのですが、サーバー側で(local)の中に登録されているDBしか現れず、ユーザ側で定義されたインスタンス(と呼んでいいんでしたっけ?)の中のDBのテーブルを読みに行くことができません。 どのようにすれば、ユーザ側で定義されたインスタンスの中のDBのテーブルを読みに行くことができるようになるのか、ご教示いただけると有り難く思います。宜しくお願い致します。

  • PHPからデータベースへの登録について

    はじめまして。現在、仕事の関係でPHPのプログラムを勉強している者です。 早速ですが、質問させていただきます。 PHPで作成したフォームメールから別で用意したデータベースに 入力データを登録しようとしているのですが、エラーでうまく動作しません。 PHP側のコードミスもあるかもしれませんが、PHPを動作させているサーバーと データベースサーバーの文字コードが違う点も原因しているのでは?と調べている状況です。 フォームからのデータを送るPHP ⇒ Shift_jis PHPをアップしているWebサーバー ⇒ Shift_jis データベースサーバー ⇒ EUC-JP データベースへの接続は問題なく行えているようですので、 登録処理するコードの部分のみを書きます。(↓) ******************************************************************************** // データベースへの登録 $sql = "INSERT INTO FORM_DATA(DataNumber, Time, Name, Email, Area, Sex, Interest, Commnet, OS, IP) VALUES('$tsvcount', '$ymdhis', '$sender_name', '$mail_address', '$mail_area', '$mail_sex', '$mail_interest', '$mail_body', '$os', '$ip')"; $sql = mb_convert_encoding($sql, 'EUC-JP', 'sjis'); mysql_query("SET NAMES 'EUC-JP'"); $db_result = mysql_query($sql); print $sql; print $db_result; if (!$db_result) { exit('Error! データを登録できませんでした。'); } // データベースとの接続解除 $db = mysql_close($db); if (!$db) { exit('データベースとの接続を閉じれませんでした。'); } **************************************************************************** PHP&Webサーバーとデータベースの文字コードを統一すればいい話かもしれませんが、 事情により異なる文字コードの環境で開発しております。 上記の通り、データベースに送信するSQL文はmb_convert_encoding()で「EUC-JP」に変換し、 mysql_query($sql);でデータベースに送信している形です。 この状態で送信すると、エラーとなり送ったSQL文を処理してくれません。 文字コードの変換処理、コードの記述など何が原因なのか分からず困っています。 考えられる原因と、解決策があればご教授いただきたいです。 ちなみに私はPHPはもちろんプログラム自体もまだ経験が浅く、 基礎的なことも理解していないことがかなりあります。 その上でご説明いただけますと大変有難いです。 ではよろしくお願い致します。

    • 締切済み
    • PHP
  • JSP データベースへの数回の接続

     いつもお世話になっております。  今私は、JSPからデータベース(Access 2003)へデータを追加・検索をしようとしています。  データベースにデータを追加するため、データベースを接続する記述及び追加をする記述を書き、データを追加していきます。  その下の記述にHTMLが入り、HTML文の後に今度はデータベースに検索をかけてデータを取得し、その記述の下に更にHTML文を記述し取り込むといった流れでプログラムを書いております。 ■HTML文 ■データベース追加文 ■HTML文 ■データベース検索文 ■HTML(データベースからの取得データもいれる)  しかし、データベースへは、追加はされているのですが、検索の記述の部分がまったく読まれておらず、ジャンプされており、どうしても検索ができません。  JSPからデータベースへの接続は初めてですので、わからないことも多く、もしかしたらJSPでは数回のデータベースへの接続はできないのかな?と思いながら、最終的にこちらで伺い参りました。  プログラムが長いため、HTML文を除き、データベースの部分だけ下に記述させていただきます。その記述の中でのこの変数はどこからもってきているのかな?と思われる方もいらっしゃるかと思いますが、しっかり値が入っておりますので心配ございません。 <%@ page import="java.sql.ResultSet"%> <%@ page import="java.util.*" %> <%@ page import="javax.servlet.*" %> <%@ page import="java.sql.SQLException" %> <%@ page import="java.sql.Connection" %> <%@ page import="java.sql.*" %> <%@ page import="java.util.Date" %> <%@ page import="java.util.Calendar " %> <% Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con =null; con = DriverManager.getConnection("jdbc:odbc:QUIZDB"); Statement sql; sql = con.createStatement(); Calendar cal = Calendar.getInstance(); Integer nen=cal.get(Calendar.YEAR); Integer tu=cal.get(Calendar.MONTH)+ 1; Integer hi=cal.get(Calendar.DATE); String userName=(String)session.getAttribute("userName"); Integer userId=(Integer)session.getAttribute("userId"); sql.executeUpdate( "INSERT INTO Seiseki(氏名,ID,ジャンル,正解数,クイズ日付)"+"values('"+userName+"','"+userId+"','"+aa+"','"+seikaiten+"','"+nen+"/"+tu+"/"+hi+"')"); sql.close(); %> <■HTML文がはいります> <% Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection db =null; db = DriverManager.getConnection("jdbc:odbc:QUIZDB"); String sq = "select * from Seiseki where(氏名= '"+userName+"') and (ID = '"+userId+"')"; Statement st; st = db.createStatement(); ResultSet res; res = st.executeQuery(sq); if(res.next()){    String Name=res.getString(1);    String Id=(String)res.getString(2);    Integer id =Integer.parseInt(Id); String jyanru=res.getString(3); String seikai=res.getString(4); int kazu =Integer.parseInt(seikai); String hizu=res.getString(5); } st.close(); %> <■HTML文が入り、変数を入れて表示させます> 以上となります。どんな小さなことでも構いませんので、お手数ですがアドバイス宜しくお願い申し上げます。

    • ベストアンサー
    • Java
  • Javaでデータベース(PostgreSQL)に接続したいです

    学校でJavaの勉強をしています。この前、DB(PostgreSQL)に接続しました。 勉強のため、家のPCでもDBに接続できるようにしたいです。 自分で試してみましたが、上手くいかないので、知識をお持ちの方、どうかご教示ください。 ・Javaのバージョン     JDK1.5.08 ・PostgresSQLのバージョン  PostgresSQL8.2 ・OS               WindowsXP このサイト http://jdbc.postgresql.org/download.html から、postgresql-8.2-504.jdbc3をダウンロードしました。 ダウンロードしたファイルを、Program Files>Java>jdk1.5.0_08>jre>lib>ext と   Program Files>Java>jre1.5.0_08>lib>ext に 入れました。 (学校ではこのextというフォルダに入れていました。ちなみに学校のPCに入れたファイルは postgresql-jdbc3でした。) 学校の環境ではデータベースにアクセスできました。なので、SQL文とDBに接続するための Javaのコードは正しいと思います。 しかし実行すると、NullPointerException というエラーが出ます。 ファイルを入れた場所が間違っていると思うのですが、postgresql-8.2-504.jdbc3は どのフォルダに入れればよいのでしょうか。 解決する知識をお持ちの方、どうかご教示願います。 宜しくお願いいたします。

    • ベストアンサー
    • Java
  • phpのデータベースを使用したsqlのエラー

    すみません、PHPでデータベースを読み込み、SQLにて処理するプログラムを作成しているのですが、 再びエラーで止まってしまいまして、困っています。 データベースへのアクセスはできたようなのですが、SQLの処理の部分がエラーになっているのだと思われます。 --------------結果表示-------------- Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\site\search_criteria.php on line 70 @ エラー番号 : 1064メッセージ : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'aaa,bbb,ccc FROM `test_table`' at line 1 @ ------------------------- -----------ソース------------- <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <title>-サイト -検索条件入力ページ-</title> </head> <body> <p>検索条件を入力してください</p><br> <?php # 変数定義関連 # mysqliの定義 global $mysqli; $mysqli = new mysqli('localhost', 'root', "", "****_db"); $link = mysql_connect('localhost', 'root', "", "****_db"); header("Content-type: text/html; charset=shift-jis"); // 文字化け防止 /* 文字セットを utf8 に変更します */ if (!$mysqli->set_charset("utf8")) { printf("処理1:文字コードのセットに失敗しました。: %s\n", $mysqli->error); } else { printf("処理1:文字コードセット-> %s\n", $mysqli->character_set_name()); } printf("<BR><BR>"); #配列定義 $job_name = array("配列定義"); $data = $_GET["job_opening_type"]; //データベースへの接続 if (!$link) { die("処理2:データベースへの接続失敗です。<BR>".mysql_error()); }else{ print("処理2:データベースへの接続成功!<BR><BR>"); } //データベースを選択 if (!mysql_select_db("****_db",$link)){ echo "処理3:データベース選択失敗<BR><BR>"; exit; }else{ echo "処理3:データベースの選択成功です。<BR><BR>"; } $query = file_get_contents("create.sql"); printf("処理4:クエリ->%s",$query); //SELECT文を実行 if($res = mysql_query($query,$link)){ echo "<BR>mysql_query失敗<BR>"; }else{ echo "<BR>mysql_query成功<BR>"; } //検索した結果を全部表示 line 70辺り→while($row = mysql_fetch_array($res,MYSQL_BOTH)){ echo "****=".$row["****"]; echo "****=".$row["****"]; echo "<BR>"; } echo "<BR>@<BR>エラー番号 : " . mysql_errno() . "メッセージ : " . mysql_error() ."<BR>@"; //データベースから切断 $mysqli->close(); echo "<BR><BR>処理5:データベースを切断しました。<BR>"; ?> <br> --------------------------------------------------<br> 最終更新日時<br> <p>&nbsp;</p> </body> </html> 内部のプログラムではなく、外部から読んでいるSQLの問題なのでしょうか? 外部にcreate.sqlというテキストを作成し、 SELECT aaa,bbb,ccc FROM `test_table` としています。 色々試しているのですが、うまくいきません、解決方法を教えて頂きたいです。 よろしくお願いします。

    • ベストアンサー
    • PHP