1,关系型数据库简介
关系模型是由Codd提出,它是考虑数据和数据间关系而得到的数据逻辑模型 。
一个关系型数据库通常由一个或多个表格的对象组成,数据库中的所有数据都被保存在这些表中。所有表都有一个表名,包含行和列,每列包含该列的名称,数据类型以及其他属性。而每一行则包含某列的具体数值。
2,SQL语句
创建表格
例,创建student表,包含姓名和年龄。
create table if not exists student(
id int primary key auto_increment,
stu_name varchar(20),
stu_age samllInt
);
其中if not exists 为保护语句,如果有student表存在也不会报错。primary key 为主键。auto_increment为主键自增长。
删除表格(注意:这里不用delete,delete是用于删除数据。)
drop table student;
查询数据
例:select * from student;(查询student表里的所有数据)
select name from student;(查询student表里name列的数据)
select * from student where age>20;(查询student表里年龄大于20 的人的数据)
向表中插入数据
例:有学生zhangsan,年龄为18
insert into student(name,age) values(‘zhangsan’,18);
3,Java数据库连接
JDBC简介 JDBC是Java DataBase Connection的简称,是一种用Java实现的数据库接口技术JDBC由两层组成。 上面一层是JDBC API,负责与Java应用程序通信,向Java应用程序提供数据(Java应用程序通过JDBC中提供的相关类来管理JDBC的驱动程序)。 下面一层是JDBC Driver API,主要负责和具体数据环境的连接。
如图所示:
用JDBC连接数据库
建立数据源 加载Java应用程序所用的数据库的驱动程序。在这里你可以选择前面讲的三种方法中的一种。 建立连接 与数据库建立连接的标准方法是调用方法: Drivermanger.getConnection(String url,String user,String password)。 Drivermanger类用于处理驱动程序的调入,并且对新的数据库连接提供支持 执行SQL语句package com.wode.test;
import java.io.FileInputStream;
import java.io.FileNotFoundException;import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Properties; public class Test01 { public static void main(String[] args) { Properties properties=new Properties(); try { properties.load(new FileInputStream("./src/user.properties")); String name=properties.getProperty("name"); String pwd=properties.getProperty("pwd"); String url=properties.getProperty("url"); Class.forName("com.mysql.jdbc.Driver");//通过反射获得mysql驱动 Connection con=DriverManager.getConnection(url,name,pwd);//通过驱动管理器连接数据库 String sql="select * from student";//准备SQL语句 Statement st=con.createStatement();//发送SQL语句 ResultSet rst=st.executeQuery(sql);//接收结果集 while(rst.next()){ String userName=rst.getString("name"); System.out.println(userName); } } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}DriverManager
DriverManager 类是 JDBC 的管理层,作用于用户和驱动程序之间。它在数据库和相应驱动程序之间建立连接 DriverManager 类包含一列 Driver 类,它们已通过调用方法DriverManager.registerDriver对自己进行了注册 例:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String url = "jdbc:odbc:company"; Connection con= DriverManager.getConnection(url, "userID", "passwd");Statement Statement 对象用于将 SQL 语句发送到数据库中 例: Connection con = DriverManager.getConnection(url,"userID","passwd"); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table2"); ResultSet ResultSet 包含符合 SQL 语句中条件的所有行, 它通过一套 get 方法提供了对这些行中数据的访问 ResultSet.next 方法用于移动到 ResultSet 中的下一行,使下一行成为当前行。