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;
语法如下:
insert into 表名[字段名1,字段名2...] values(属性1,属性2,...);
insert into tb_emp values(2,'lili','女','销售部');
update语句用于更新数据表中的某些记录
语法如下:
update [数据表名] set 字段名 = 新的字段值 where 条件表达式
假设要将数据表 tb_emp 中2号员工的年龄修改为24,代码如下:
update tb_emp set age=24 where id=2;
delete 语句用于删除数据
语法如下:
delete from [数据表名] where 条件表达式
假设要删除数据表 tb_emp 中编号为1024的员工,代码如下:
delete from tb_emp where id=1024;
JDBC是一种可用于执行SQL语句的Java API(Application Programming Interface,应用程序设计接口),是连接数据库和Java应用程序的纽带。
使用JDBC-ODBC桥连接数据库的步骤如下:
(1)首先加载JDBC-ODBC桥的驱动程序。代码如下:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection("jdbc:odbc:数据源名字","user name","password");
Statement sql=conn.createStatement();
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{
}
}
}
/*
* 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.创建ps
ps=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, "[email protected]");
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
}
}
}
}