【Java】-基础-数据库操作

来源:互联网 发布:大数据下的中国 编辑:程序博客网 时间:2024/06/06 03:57

SQL语言

SQL(Structure Query Language,结构化查询语言)被广泛地应用于大多数数据库中,使用SQL语言可以方便地查询、操作、定义和控制数据库中的数据。SQL语言主要由以下几部分组成:数据定义语言(DDL)、数据操纵语言(DML)、数据控制语言(DCL)、事务控制语言(TCL)。在应用程序中使用最多的就是数据操纵语言,它也是最常用的核心SQL语言。下面对数据操纵语言进行简单的介绍。


1、select语句

select语句用于从数据表中检索数据

语法如下:

Select [所选字段列表] from [数据表名]Where [条件表达式] group by [字段名]Order by [字段名]
假设数据表名称是tb_emp,要检索出tb_emp表中所有女员工的姓名、年龄,并按年龄升序排序,代码如下:

select name,age from tb_emp where sex='女' order by age;


2、insert语句
insert 语句用于向表中插入新数据

语法如下:

insert into 表名[字段名1,字段名2...] values(属性1,属性2,...);

假设要向数据表tb_emp(包含字段id、name、sex、department)中插入数据,代码如图:

insert into tb_emp values(2,'lili','女','销售部');

3、update语句

update语句用于更新数据表中的某些记录

语法如下:

update [数据表名] set 字段名 = 新的字段值  where 条件表达式
假设要将数据表 tb_emp 中2号员工的年龄修改为24,代码如下:

update tb_emp set age=24 where id=2;

4、delete语句

delete 语句用于删除数据

语法如下:

delete from [数据表名] where 条件表达式
假设要删除数据表 tb_emp 中编号为1024的员工,代码如下:

delete from tb_emp where id=1024;

JDBC概述

JDBC是一种可用于执行SQL语句的Java API(Application Programming Interface,应用程序设计接口),是连接数据库和Java应用程序的纽带。

使用JDBC-ODBC桥连接数据库的步骤如下:

(1)首先加载JDBC-ODBC桥的驱动程序。代码如下:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

(2)使用java.sql包中的Connection 接口,并通过DriverManager类的静态方法 getConnection()创建连接对象。代码如下:

Connection conn = DriverManager.getConnection("jdbc:odbc:数据源名字","user name","password");

(3)向数据库发送SQL语句。使用Statement 接口声明一个SQL语句对象,并通过刚才创建的连接数据库对象conn的createStatement()方法创建这个SQL对象,代码如下:

Statement sql=conn.createStatement();

下面引入两个实例,从MyEclipse对数据库进行操作

1.查询数据库的信息,显示在控制台

/* * 第65讲 JDBC方式去操作数据库 * 1.引入java.sql.* * 2.需要引入三个jar包 * 3.特别说明,如果取值是按编号,则需要一一对应;如果是按照列名取的,则可以顺序灵活 * */package com.test2;import java.sql.*;public class Test3 {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stub//PreparedStatement [火箭车]//定义需要的对象PreparedStatement ps=null;Connection ct=null;ResultSet rs=null;try{//初始化我们的各个对象//1.加载驱动Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//2.得到链接ct=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=LiangShanheros","sa","sa");//3。创建火箭车ps=ct.prepareStatement("select cusname,address,email from customer");//4.执行[如果是增加,删除,修改 executeUpdate(),如果是查询 executeQuery()]rs=ps.executeQuery();//循环的取出while(rs.next()){String name=rs.getString(1);String address=rs.getString(2);String email=rs.getString(3);System.out.println(name+" "+address+" "+email );}}catch(Exception e){e.printStackTrace();}finally{}}}

2.对数据库进行添加操作

/* * PreparedStatement 使用 CURD * 1.PreparedStatement 可以提高执行效率(因为它有预编译的功能) * 2.PreparedStatement 可以防止sql注入,但是要求用?赋值的方式才可以 * */package com.test1;import java.sql.*;public class Test2 {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stub//定义需要的对象PreparedStatement ps=null;ResultSet rs=null;Connection ct=null;try{//1.加载驱动Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//2.得到链接ct=DriverManager.getConnection("jdbc:odbc:mytest","sa","sa");//3.创建psps=ct.prepareStatement("Select * from customer where customerId=? and address=?");////给?赋值//ps.setInt(1, 1);//ps.setString(2, "深圳");//rs=ps.executeQuery();//使用PreparedStatement添加一条记录ps=ct.prepareStatement("insert into customer values(?,?,?,?,?,?)");ps.setInt(1, 8);ps.setString(2, "yjl");ps.setString(3, "广东");ps.setString(4, "123456789@qq.com");ps.setString(5, "男");ps.setString(6, "1012270231");//执行int i=ps.executeUpdate();if(i==1){System.out.println("添加OK");}else{System.out.println("添加不OK");}//while(rs.next())//{//System.out.println(rs.getInt(1)+" "+rs.getString(2)+" "+rs.getString(3));//}}catch(Exception e){e.printStackTrace();}finally{//关闭资源try {//关闭资源//关闭顺序是,谁后创建,则先关闭//为了程序健壮if(rs!=null){rs.close();}if(ps!=null){ps.close();}if(ct!=null){ct.close();}} catch (Exception e2) {// TODO: handle exception}}}}





0 0
原创粉丝点击