数据库之增删改查(基础篇)

2018-12-25  本文已影响0人  所以然WZY

数据库最重要的操作就是增删改查了,下面我将通过代码的形式一一介绍。

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  女
上一篇下一篇

猜你喜欢

热点阅读