java操作数据库语法

1 新建数据库

1.1 新建数据库

1 启动mysql数据库

2 新建数据库

1.2 mysql数据库语法

1 选择数据库

use java_demo1

2 移除数据库

drop database java_web1

3 创建表

CREATE TABLE `user` (
    `id` int(11) PRIMARY KEY AUTO_INCREMENT,
    `name` varchar(255) NOT NULL,
    `age` int(11)
);

4 移除表

drop table user;

5 创建表

CREATE TABLE `user` (
    `id` int(11) PRIMARY KEY AUTO_INCREMENT,
    `name` varchar(255),
    `password` varchar(255) NOT NULL,
    `age` int(11),
    `phone` varchar(255) NOT NULL
);

6 添加全部字段

insert into user(password,name,age,phone)values("123456","tom","16","18483233516");
insert into user(password,name,age,phone)values("admin123","make","17","18563233516");
insert into user(password,name,age,phone)values("admin","root","16","18483233529");
insert into user(password,name,age,phone)values("root","root123","16","18483233654");
insert into user(password,name,age,phone)values("123456","admin456","16","18483233123");
insert into user(password,name,age,phone)values("123456","tom","17","18483233789");
insert into user(password,name,age,phone)values("1234567","tom","16","18483233516");

7 查询字段

查询全部字段
select * from user;
查询指定字段内容
select password,name from user;
查询条件成立字段
select password,name from user where id=1;

8 删除值

delete from user where id =1;

9 修改值

update user set name = "李四" where id = 2;

10 增加字段

alter table user add 'address' varchar(255);

11 模糊查询

select * from user where name like '%李%';

12 删除字段

alter table user drop adress;

13 分页显示

select * from user limit 5;

14 排序 降序 desc 升序 aec

select * from user order by age;

15 分组

select age,count(*) from user group by age;

2 java操作mysql的语法

现在文件下新建lib文件并导入mysql插件

选择lib右击添加为库

点击确定

现在成功搭建mysql库

2.1 链接数据库

package zzb.test;
​
import java.sql.Connection;
import java.sql.DriverManager;
​
public class TestConntion {
    public static void main(String[] args) {
        /**
         * 配置连接
         */
        String driver = "com.mysql.cj.jdbc.Driver";//驱动
        String url = "jdbc:mysql://localhost:3306/java_demo1";//数据库 端口号 地址
        String username = "root";
        String password ="root";
​
//        try {
//            Class.forName(driver);//加载驱动
//            Connection connection = DriverManager.getConnection(url,username,password);
//        } catch (Exception e) {
//            throw new RuntimeException(e);
//        }
​
       try {
            //加载驱动
            Class.forName(driver);
            //创建连接
            Connection connection = DriverManager.getConnection(url,username,password);
            System.out.println("数据库连接成功:"+connection);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
​
}

输出结构

2.2 操作数据语法

1 插入数据

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
​
/**
 * 插入
 */
public class TestInsert {
​
    public static void main(String[] args) {
// 定义一个字符串变量driver,存储MySQL JDBC驱动的全类名  
String driver = "com.mysql.cj.jdbc.Driver";  
  
// 定义一个字符串变量url,存储JDBC连接MySQL数据库的URL  
// 格式为:jdbc:mysql://主机名:端口号/数据库名  
String url = "jdbc:mysql://localhost:3306/java_demo1";  
  
// 定义字符串变量username,存储连接数据库的用户名  
String username = "root";  
  
// 定义字符串变量password,存储连接数据库的密码  
String password = "root";  
  
try {  
    // 加载MySQL JDBC驱动  
    // Class.forName()方法用于动态加载类,这里加载的是MySQL JDBC驱动类  
    Class.forName(driver); // 2.加载驱动  
  
    // 使用DriverManager类的getConnection()方法获取数据库连接  
    // 需要传入三个参数:JDBC URL、用户名、密码  
    Connection connection = DriverManager.getConnection(url, username, password); // 创建连接  
  
    // 创建一个Statement对象,用于执行静态SQL语句  
    Statement statement = connection.createStatement(); // 创建statement 执行sql  
  
    // 定义要执行的SQL语句,这里是一个插入语句  
    // 将数据插入到user表中,字段分别为password、name、age、phone  
    String sql = "insert into user(password,name,age,phone) values('111111','李四6',18,'1234567')"; // 执行增加  
  
    // 使用Statement对象的executeUpdate()方法执行插入操作  
    // 该方法返回受影响的行数,如果插入成功,则返回1  
    int i = statement.executeUpdate(sql);  
  
    // 输出受影响的行数  
    System.out.println(i);  
  
    // 关闭资源(在实际应用中,还应该关闭Statement和Connection对象,这里为了简洁省略了)  
    // statement.close();  
    // connection.close();  
  
} catch (Exception e) {  
    // 如果在try块中的代码出现异常,则捕获该异常  
    // 并将异常包装为RuntimeException重新抛出(通常不建议这样做,除非有特殊需求)  
    throw new RuntimeException(e);  
}
    }
​
}
​

2 更改数据

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
​
public class TestUpdate {
    public static void main(String[] args) {
        String driver = "com.mysql.cj.jdbc.Driver";
        String url = "jdbc:mysql://localhost:3306/java_demo1";
        String username = "root";
        String password = "root";
        try {
            Class.forName(driver);
            Connection connection = DriverManager.getConnection(url,username,password);
            Statement statement = connection.createStatement();
            String sql = "update user set name='88888' where id = 19";
            int i = statement.executeUpdate(sql);
            System.out.println(i);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
}
​

3 删除数据

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
​
public class TestDelete {
    public static void main(String[] args) {
        String driver = "com.mysql.cj.jdbc.Driver";
        String url = "jdbc:mysql://localhost:3306/java_demo1";
        String username = "root";
        String password = "root";
        try {
            Class.forName(driver);
            Connection connection = DriverManager.getConnection(url,username,password);
            Statement statement = connection.createStatement();
            String sql = "delete from user where id = 2";
            int i = statement.executeUpdate(sql);
            System.out.println(i);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
}

4 查询数据

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
​
​
/**
 * 查询user表中所有记录 并且显示
 */
public class TestSelect {
public static void main(String[] args) {
// 定义MySQL JDBC驱动的全类名  
String driver = "com.mysql.cj.jdbc.Driver";  
  
// 定义JDBC连接MySQL数据库的URL  
String url = "jdbc:mysql://localhost:3306/java_demo1";  
  
// 定义连接数据库的用户名  
String username = "root";  
  
// 定义连接数据库的密码  
String password = "root";  
  
try {  
    // 加载MySQL JDBC驱动  
    Class.forName(driver);  
  
    // 使用DriverManager类的getConnection()方法获取数据库连接  
    // 需要传入三个参数:JDBC URL、用户名、密码  
    Connection connection = DriverManager.getConnection(url, username, password); // 创建数据库连接  
  
    // 使用连接对象创建Statement对象,用于执行SQL语句  
    Statement statement = connection.createStatement(); // 创建Statement对象  
  
    // 定义SQL查询语句,从user表中查询name、age、phone字段  
    String sql = "select name,age,phone from user";  
  
    // 执行查询语句,并返回结果集  
    ResultSet resultSet = statement.executeQuery(sql);  
  
    // 遍历结果集,resultSet.next()方法用于将游标移动到下一行  
    // 如果下一行有数据,则返回true,否则返回false  
    while (resultSet.next()){ // 遍历结果集  
        // 使用resultSet的getXxx(int columnIndex)方法获取对应列的值  
        // 这里的columnIndex是从1开始的,而不是从0开始  
        String name = resultSet.getString(1); // 获取第一列的值(name)  
        int age = resultSet.getInt(2); // 获取第二列的值(age)  
        String phone = resultSet.getString(3); // 获取第三列的值(phone)  
  
        // 打印查询结果  
        System.out.println("name: " + name + " age: " + age + " phone: " + phone);  
    }  
  
    // 关闭资源(在实际应用中,应确保关闭ResultSet、Statement和Connection)  
    // 这里为了简洁省略了关闭资源的代码  
  
} catch (Exception e) {  
    // 捕获异常,并将异常包装为RuntimeException重新抛出  
    // 通常不建议这样做,除非有特殊需求  
    throw new RuntimeException(e);  
}
​
    }
}
​

输出结果

5 创建工具类

import java.sql.*;
​
/**
 * 创建连接的工具类
 */
public class ConnectionUtil {
    // 定义数据库驱动
    private static String driver = "com.mysql.cj.jdbc.Driver";
    // 定义数据库连接URL
    private static String url = "jdbc:mysql://localhost:3306/java_demo1";
    // 定义数据库用户名
    private static String username = "root";
    // 定义数据库密码
    private static String password = "root";
​
    /**
     * 建立数据库连接的方法
     * @return 返回一个数据库连接对象
     */
    public static Connection getConn() {
        Connection connection = null;
        try {
            // 加载数据库驱动
            Class.forName(driver);
            // 获取数据库连接
            connection = DriverManager.getConnection(url, username, password);
        } catch (Exception e) {
            // 如果出现异常,抛出运行时异常
            throw new RuntimeException(e);
        }
        return connection;
    }
​
    /**
     * 关闭资源的方法,包括关闭ResultSet、Statement和Connection
     * @param connection 数据库连接对象
     * @param statement Statement对象
     * @param resultSet ResultSet对象
     */
    public static void close(Connection connection, Statement statement, ResultSet resultSet) {
        // 关闭ResultSet
        if (resultSet != null) {
            try {
                resultSet.close();
            } catch (SQLException e) {
                throw new RuntimeException(e);
            }
        }
​
        // 关闭Statement
        if (statement != null) {
            try {
                statement.close();
            } catch (SQLException e) {
                throw new RuntimeException(e);
            }
        }
​
        // 关闭Connection
        if (connection != null) {
            try {
                connection.close();
            } catch (SQLException e) {
                throw new RuntimeException(e);
            }
        }
    }
}

6 调用工具类了执行sql语句

import com.sun.corba.se.spi.monitoring.StatisticMonitoredAttribute;
import com.zzb.util.ConnectionUtil;
​
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
​
public class test {
    public static void main(String[] args) {
​
        boolean flag = login("李四6","111111'");
        System.out.println(flag);
    }
​
    public static boolean login(String username,String password){
        String sql = "select name,age from user where name='"+username+"' and password ='"+password+"'";
        Connection connection = ConnectionUtil.getConn();//建连接
        Statement statement = null;
        ResultSet resultSet = null;
        try {
            statement = connection.createStatement();
            resultSet = statement.executeQuery(sql);
            if(resultSet.next()){
                System.out.println("成功");
                return true;
            }
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }finally {
            ConnectionUtil.close(connection,statement,resultSet);
        }
        return false;
    }
​
}
​

输出结果

  • 19
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值