JDBC(二)

来源:互联网 发布:蝎子网络第一季百度云 编辑:程序博客网 时间:2024/06/18 07:56

JDBC SQL 语法

结构化查询语言(SQL)是一种标准化的语言,它允许你在数据库上执行操作,如创建项目,读取内容,内容更新和删除条目。

SQL是所有可能会使用几乎任何数据库支持,它允许独立于底层数据库的写入数据库的代码。

本教程给出的SQL,这是一个先决条件,了解JDBC概述。本教程提供了足够的SQL,以便能够创建,读取,更新和删除(通常被称为CRUD操作)从一个数据库中的数据。

有关SQL的详细了解,可以阅读我们的MySQL教程。

创建数据库:



CREATE DATABASE语句用于创建一个新的数据库。语法是:

SQL> CREATE DATABASE DATABASE_NAME;

例子:



下面的SQL语句创建一个名为EMP数据库:

SQL> CREATE DATABASE EMP;

删除数据库:



使用DROP DATABASE语句用于删除现有的数据库。语法是:

SQL> DROP DATABASE DATABASE_NAME;

注意:要创建或删除,应该有数据库服务器上管理员权限的数据库。请注意,删除数据库将所有损失存储在数据库中的数据。

创建表:



CREATE TABLE语句用于创建一个新表。语法是:

SQL> CREATE TABLE table_name(   column_name column_data_type,   column_name column_data_type,   column_name column_data_type   ...);

例子:



下面的SQL语句创建一个有四个栏位名为Employees表:

SQL> CREATE TABLE Employees(   id INT NOT NULL,   age INT NOT NULL,   first VARCHAR(255),   last VARCHAR(255),   PRIMARY KEY ( id ));

删除表:



DROP TABLE语句用于删除现有的表。语法是:

SQL> DROP TABLE table_name;

例子:



下面的SQL语句删除一个名为Employees表:

SQL> DROP TABLE Employees;

插入数据:



语法INSERT类似于以下内容,其中column1, column2,依此类推表示新的数据出现在各列:

SQL> INSERT INTO table_name VALUES (column1, column2, ...);

例子:



下面的SQL INSERT语句中插入先前创建的Employees数据库:

SQL> INSERT INTO Employees VALUES (100, 18, 'Zara', 'Ali');

SELECT 数据:



SELECT语句用于从数据库中检索数据。该语法的SELECT是:

SQL> SELECT column_name, column_name, ...     FROM table_name     WHERE conditions;

WHERE子句可以使用比较操作符例如=, !=, <, >, <=, >=,以及BETWEEN和LIKE操作符。

例子:



下面的SQL语句从Employees表选择age第一个和最后一列名where id =100:

SQL> SELECT first, last, age      FROM Employees      WHERE id = 100;

下面的SQL语句从Employees表,其中第一列选择age,第一列包含 Zara:

SQL> SELECT first, last, age      FROM Employees      WHERE first LIKE '%Zara%';

UPDATE 数据:



UPDATE语句用于更新数据。UPDATE语法为:

SQL> UPDATE table_name     SET column_name = value, column_name = value, ...     WHERE conditions;

WHERE子句可以使用比较操作符例如=,!=,<,>,<=,和>=,以及BETWEEN和LIKE操作符。

例子:



下面的SQL的UPDATE语句更改其ID为100的员工的age列:

SQL> UPDATE Employees SET age=20 WHERE id=100;

DELETE 数据:



DELETE语句用来删除表中的数据。语法DELETE是:

SQL> DELETE FROM table_name WHERE conditions;

WHERE子句可以使用比较操作符例如=,!=,<,>,<=,和>=,以及BETWEEN和LIKE操作符。 

例子:



下面的SQL DELETE语句删除ID为100的员工的记录:

SQL> DELETE FROM Employees WHERE id=100;

JDBC 环境设置

要开始使用JDBC设置,按照以下所示的步骤开发JDBC环境。以下内容假设Windows平台上。

安装Java:



安装J2SE开发工具包5.0(JDK 5.0)下载:Java官方网站。

请确保以下环境变量设置,如下所述:

  • JAVA_HOME: 此环境变量应该指向安装JDK的目录,例如:C:Program FilesJavajdk1.5.0

  • CLASSPATH: 此环境变量应已适当的路径设置,如: C:Program FilesJavajdk1.5.0_20jrelib

  • PATH: 此环境变量应指向适当的JRE bin,如: C:Program FilesJavajre1.5.0_20in.





可能已有这些变量设置了,但只是为了确保在这里是如何检查。

  • 进入控制面板,双击系统。如果是Windows XP的用户有可能要打开:"性能"=》"维护",会看到系统图标。

  • 转到“高级"选项卡,然后单击"环境变量"。

  • 现在,选择所有输入的变量设置正确。






将自动获得了JDBC包java.sql和javax.sql,当安装J2SE开发工具包5.0(JDK 5.0)

安装数据库:



将需要当然,最重要的是实际运行的数据库用,可以查询和修改表。

安装数据库是最适合的。可以有很多选择,最常见的有:

  • MySQL DB: MySQL是一个开放源码的数据库。可以从这里下载MySQL官方网站,建议下载完整Windows安装。

    此外,下载和安装MySQL管理以及MySQL查询浏览器。这些都是基于GUI的工具,这将使开发更加容易。

    最后,请下载并在一个方便的目录解压缩的MySQL Connector/J(MySQL JDBC驱动程序)。对于本教程的目的,我们将假设已经安装了驱动程序位于 C:Program FilesMySQLmysql-connector-java-5.1.8.

    相应地设置CLASSPATH变量到C:Program FilesMySQLmysql-connector-java-5.1.8mysql-connector-java-5.1.8-bin.jar. 根据安装的驱动程序版本可能会有所不同。

  • PostgreSQL DB: PostgreSQL是一个开放源码的数据库。可以从这里下载 PostgreSQL官方网站。

    Postgres安装包含一个名为pgAdmin III一个基于GUI管理工具。 JDBC驱动程序也包括作为安装的一部分。

  • Oracle DB: Oracle数据库是Oracle销售的商用数据库。假设有必须的分发介质进行安装。

    Oracle的安装包括一个名为Enterprise Manager中基于GUI的管理工具。 JDBC驱动程序也包括作为安装的一部分。

安装数据库驱动程序:

















最新的JDK包含JDBC-ODBC桥驱动程序,使大多数开放式数据库连接(ODBC)驱动程序程序员可使用JDBC API。

现在,大多数数据库厂商随数据库的安装提供相应的JDBC驱动程序。所以,不应该担心这部分。

设置数据库认证:



在本教程中,我们将使用MySQL数据库。当安装上述任何数据库,它的管理员ID设置为root,并给出规定设置选择的密码。

用root和密码,可以创建另一个用户ID和密码,或者可以使用root和密码在JDBC应用程序中。

有各种不同的数据库操作,如数据库的创建和删除,这将需要管理员ID和密码。

对于JDBC教程的其余部分,我们将使用MySQL数据库 username 作为ID和 password 作为密码。

如果没有足够的权限来创建新的用户,那么可以让数据库管理员(DBA)来创建一个用户ID和密码给你。

创建数据库:



要创建EMP数据库,请使用下列步骤:

步骤1:



打开命令提示符并更改到安装目录,如下所示:

C:>C:>cd Program FilesMySQLinC:Program FilesMySQLin>

注:这取决于的MySQL系统上的安装位置,mysqld.exe的路径可能会有所不同。也可以查看关于如何启动和停止数据库服务器文档。

步骤2:



通过执行下面的命令,如果它没有运行启动数据库服务器。

C:Program FilesMySQLin>mysqldC:Program FilesMySQLin>

步骤3:



通过执行以下命令来创建数据库EMP

C:Program FilesMySQLin> mysqladmin create EMP -u root -pEnter password: ********C:Program FilesMySQLin>

创建表



要创建Employees表中EMP的数据库,请执行以下步骤:

步骤1:



打开命令提示符并更改到安装目录,如下所示:

C:>C:>cd Program FilesMySQLinC:Program FilesMySQLin>

步骤2:



登录数据库,如下所示

C:Program FilesMySQLin>mysql -u root -pEnter password: ********mysql>

步骤3:



创建Employee表如下:

mysql> use EMP;mysql> create table Employees    -> (    -> id int not null,    -> age int not null,    -> first varchar (255),    -> last varchar (255)    -> );Query OK, 0 rows affected (0.08 sec)mysql>

创建数据记录



最后,在Employee表中创建一些记录如下:

mysql> INSERT INTO Employees VALUES (100, 18, 'Zara', 'Ali');Query OK, 1 row affected (0.05 sec)mysql> INSERT INTO Employees VALUES (101, 25, 'Mahnaz', 'Fatma');Query OK, 1 row affected (0.00 sec)mysql> INSERT INTO Employees VALUES (102, 30, 'Zaid', 'Khan');Query OK, 1 row affected (0.00 sec)mysql> INSERT INTO Employees VALUES (103, 28, 'Sumit', 'Mittal');Query OK, 1 row affected (0.00 sec)mysql>

关于MySQL数据库的完整认识,学习MySQL教程。

现在,就可以开始使用JDBC尝试。接下来的教程将给予有关JDBC编程的一个样本示例。


JDBC 示例代码

本教程提供了如何创建一个简单的JDBC应用程序的示例。演示如何打开一个数据库连接,执行SQL查询,并显示结果。

所有在此模板的例子中提到的步骤,将在本教程的后续章节说明。

创建JDBC应用程序:



有下列涉及构建JDBC应用程序的六个步骤:

  • 导入数据包 . 需要包括含有需要进行数据库编程的JDBC类的包。大多数情况下,使用 import java.sql.*  就可以了.

  • 注册JDBC驱动程序. 需要初始化驱动程序,可以与数据库打开一个通信通道。

  • 打开连接. 需要使用DriverManager.getConnection() 方法创建一个Connection对象,它代表与数据库的物理连接。

  • 执行查询 . 需要使用类型声明的对象建立并提交一个SQL语句到数据库。

  • 从结果集中提取数据 . 要求使用适当的关于ResultSet.getXXX()方法来检索结果集的数据。

  • 清理环境. 需要明确地关闭所有的数据库资源相对依靠JVM的垃圾收集。

示例代码:











这个范例的例子可以作为一个模板,在需要建立JDBC应用程序。

基于对环境和数据库安装在前面的章节中做此示例代码已写入。

复制下面的例子FirstExample.java,编译并运行,如下所示:

//STEP 1. Import required packagesimport java.sql.*;public class FirstExample {   // JDBC driver name and database URL   static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";     static final String DB_URL = "jdbc:mysql://localhost/EMP";   //  Database credentials   static final String USER = "username";   static final String PASS = "password";      public static void main(String[] args) {   Connection conn = null;   Statement stmt = null;   try{      //STEP 2: Register JDBC driver      Class.forName("com.mysql.jdbc.Driver");      //STEP 3: Open a connection      System.out.println("Connecting to database...");      conn = DriverManager.getConnection(DB_URL,USER,PASS);      //STEP 4: Execute a query      System.out.println("Creating statement...");      stmt = conn.createStatement();      String sql;      sql = "SELECT id, first, last, age FROM Employees";      ResultSet rs = stmt.executeQuery(sql);      //STEP 5: Extract data from result set      while(rs.next()){         //Retrieve by column name         int id  = rs.getInt("id");         int age = rs.getInt("age");         String first = rs.getString("first");         String last = rs.getString("last");         //Display values         System.out.print("ID: " + id);         System.out.print(", Age: " + age);         System.out.print(", First: " + first);         System.out.println(", Last: " + last);      }      //STEP 6: Clean-up environment      rs.close();      stmt.close();      conn.close();   }catch(SQLException se){      //Handle errors for JDBC      se.printStackTrace();   }catch(Exception e){      //Handle errors for Class.forName      e.printStackTrace();   }finally{      //finally block used to close resources      try{         if(stmt!=null)            stmt.close();      }catch(SQLException se2){      }// nothing we can do      try{         if(conn!=null)            conn.close();      }catch(SQLException se){         se.printStackTrace();      }//end finally try   }//end try   System.out.println("Goodbye!");}//end main}//end FirstExample

现在来编译上面的例子如下:

C:>javac FirstExample.javaC:>

当运行FirstExample,它会产生以下结果:

C:>java FirstExampleConnecting to database...Creating statement...ID: 100, Age: 18, First: Zara, Last: AliID: 101, Age: 25, First: Mahnaz, Last: FatmaID: 102, Age: 30, First: Zaid, Last: KhanID: 103, Age: 28, First: Sumit, Last: MittalC:>

0 0
原创粉丝点击