数据库最重要的操作就是增删改查了,下面我将通过代码的形式一一介绍。
1增加(一定要注意数据库表名和字段保持一致)
a:设置id自动递增,增加语句时往最后一个id增加(数据库表的最后一行)。
```
public class Add {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver");//注册数据库驱动
//获取连接
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
String sql = "insert into stu(name,age,sex) values ('汉斯',30,'男')";
PreparedStatement statement = connection.prepareStatement(sql);
int i = statement.executeUpdate();
System.out.println(i);
statement.close();
connection.close();
```
b:取消自动递增设置,,往第二个ID 增加语句(注:此时表中不存在数字为“2”的id)
```
public class Add {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver");//注册数据库驱动
//获取连接
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
String sql = "insert into stu(id,name,age,sex) values (2,'汉斯',30,'男')";
PreparedStatement statement = connection.prepareStatement(sql);
int i = statement.executeUpdate();
System.out.println(i);
statement.close();
connection.close();
}
```
在第二个位置处成功添加sql信息。
2删除
public class Delete {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver");//注册数据库驱动
//获取连接
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
String sql="delete from stu where id=?";
PreparedStatement s= connection.prepareStatement(sql);//s称为预处理对象
s.setInt(1,3);
int i = s.executeUpdate();
System.out.println("删除了几条"+i);
s.close();
connection.close();
}
}
运行结果为1,将id为3的语句在stu表中删除
3修改
```
package com.pp;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class Update {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver");//注册数据库驱动
//获取连接
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
String sql = "update stu set name=?,age=? where id=?";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1,"露丝");
statement.setInt(2,48);
statement.setInt(3,1);
//执行sql语句
int i = statement.executeUpdate();
System.out.println(i);
statement.close();
connection.close();
}
}
```
运行结果为1,表明修改成功,成功将“露丝,48岁”添加进数据库stu表的第一个id
4查询(查询应该是增删改查中最难的)
a:查询全部数据
public class QueryDemo {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
Class.forName("com.mysql.jdbc.Driver");//注册数据库驱动
//获取连接
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
String sql="select * from stu";
PreparedStatement statement = connection.prepareStatement(sql);
//sql语句占位符设置实际的参数,执行sql语句
ResultSet resultSet = statement.executeQuery();//结果集
//遍历
while (resultSet.next()){
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
int age = resultSet.getInt("age");
String sex = resultSet.getString("sex");
System.out.println(id+"\t"+name+"\t"+age+"\t"+sex);
}
resultSet.close();
statement.close();
connection.close();
}
1 王芝洋 90 女
2 汉斯 30 男
4 ewdwe 66 女
5 ewdw 77 女
6 张得到 23 女
7 张给他 23 女
8 放入福 23 女
9 一湖光塔影 33 男
11 汉斯 30 男
b:查询某条指定数据(比如以name字段为索引查=查询name=王芝洋的字段)
public class QueryDemo {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
Class.forName("com.mysql.jdbc.Driver");//注册数据库驱动
//获取连接
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
String sql="select * from stu where name=?";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1,"王芝洋");
//sql语句占位符设置实际的参数,执行sql语句
ResultSet resultSet = statement.executeQuery();//结果集
//遍历
while (resultSet.next()){
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
int age = resultSet.getInt("age");
String sex = resultSet.getString("sex");
System.out.println(id+"\t"+name+"\t"+age+"\t"+sex);
}
resultSet.close();
statement.close();
connection.close();
}
}
查询结果为
1 王芝洋 90 女
网友评论