首页 > 数据库 >Java实现基本MySQL连接 - 数据的基本操作

Java实现基本MySQL连接 - 数据的基本操作

时间:2022-12-20 19:46:23浏览次数:37  
标签:execute Java String static statement MySQL services 基本操作 id

import java.sql.*;

public class Main {
    // MySQL 8.0 以下版本 - JDBC 驱动名及数据库 URL
    //static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
    //static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB";

    // MySQL 8.0 以上版本 - JDBC 驱动名及数据库 URL
    static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
    static final String DB_URL = "jdbc:mysql://localhost:3306/?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";


    // 数据库的用户名与密码,需要根据自己的设置
    static final String USER = "root";
    static final String PASS = "aaa.1236";

    public static void main(String[] args) {
        Connection connection = null;
        Statement statement = null;
        ResultSet resultSet = null;
        String sql = "";
        try {
            // 注册 JDBC 驱动
            Class.forName(JDBC_DRIVER);
            // 打开链接
            connection = DriverManager.getConnection(DB_URL, USER, PASS);
            // 实例化Statement对象
            statement = connection.createStatement();
            // 删除数据库
            statement.execute("DROP DATABASE IF EXISTS `services`;");
            // 新建数据库
            statement.execute("CREATE DATABASE `services` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';");
            // 删除数据表
            statement.execute("DROP TABLE IF EXISTS `services`.`websites`;");
            // 新建数据表
            statement.execute("CREATE TABLE `services`.`websites`  (\n" +
                    "  `id` int(2) NOT NULL COMMENT 'id',\n" +
                    "  `name` varchar(255) NOT NULL,\n" +
                    "  `url` varchar(255) NOT NULL,\n" +
                    "  PRIMARY KEY (`id`),\n" +
                    "  UNIQUE INDEX(`id`)\n" +
                    ") ENGINE = InnoDB;");
            // 插入记录
            statement.execute("INSERT INTO `services`.`websites`(`id`,`name`,`url`) VALUES ('1','百度','https://www.baidu.com/');");
            statement.execute("INSERT INTO `services`.`websites`(`id`,`name`,`url`) VALUES ('2','博客园','https://www.cnblogs.com/');");
            // 查询记录
            statement.execute("SELECT `id`,`name`,`url` FROM `services`.`websites`;");
            resultSet = statement.getResultSet();
            ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
            int cols = resultSetMetaData.getColumnCount();
            // 输出所有字段名
            for (int i = 1; i <= cols; i++) {
                System.out.println(resultSetMetaData.getColumnName(i));
            }
            // 输出所有数据
            while (resultSet.next()) {
                System.out.println(resultSet.getString(1));
                System.out.println(resultSet.getString(2));
                System.out.println(resultSet.getString(3));
            }
            resultSet.close();
            statement.close();
            connection.close();
        } catch (SQLException se) {
            // 处理 JDBC 错误
            se.printStackTrace();
        } catch (Exception e) {
            // 处理 Class.forName 错误
            e.printStackTrace();
        } finally {

        }
        System.out.println("Goodbye!");
    }
}

标签:execute,Java,String,static,statement,MySQL,services,基本操作,id
From: https://www.cnblogs.com/immengxin/p/16994941.html

相关文章

  • 配置jndi服务,javax.naming.NamingException的四种情况
    1.当jndi服务没有启动,或者jndi服务的属性没有设置正确,抛出如下异常:javax.naming.CommunicationException:Can'tfindSerialContextProvider...2.如果InitialContextcla......
  • 用Java EE技术实现产品售后服务系统(论文+PPT+源码)
    目录摘要1Abstract11引言52.1系统需求分析72.2可行性分析82.3本系统采用的关键技术93系统概要设计124系统详细设计144.1后台数据库设计144.2系统E-R图184.3.2数......
  • MySQL-SQL审计工具SOAR
    OAR (SQLOptimizerAndRewriter)是一个对SQL进行优化和改写的自动化工具。由小米人工智能与云平台的数据库团队开发与维护一、简介1、功能特点跨平台支持(支持L......
  • 解决报错:Java 8 date/time type `java.time.Duration` not supported by default: add
    1、错误信息:Java8date/timetypejava.time.Durationnotsupportedbydefault:addModule"com.fasterxml.jackson.datatype:jackson-datatype-jsr310"toenableh......
  • JAVA微信公众号页面授权
    一、前提条件1.申请微信公众号测试号申请一个微信公众号测试号。测试号申请:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login2.扫码登陆注册,注册成功后......
  • 6-1 sdust-Java-模拟主板、USB口、TypeC口、PS2口设备 (30 分))
    @[TOC](6-1sdust-Java-模拟主板、USB口、TypeC口、PS2口设备(30分))题目描述使用Java编码设计实现模拟计算机硬件中的主板、USB口、TypeC口、PS2口及其组合方式。通常,计......
  • JAVA原子类 AtomicInteger
    JAVA原子类java原子类位于:JUC包(java.util.concurrent.atomic.Atomic*)中举例:classAtomicIntegerextendsNumberimplementsjava.io.Serializableimportjava.util.co......
  • re_mysql_20221212【进阶1】
    1.存储引擎1.1mysql结构体系连接层:处理客户端连接,授权认证校验权限等操作服务层:核心,sql接口、sql解析、sql优化等所有跨存储引擎的操作引擎层:索引;不同存储引擎的索......
  • Linux 安装 Mysql
    一、下载安装包安装包下载​​https://downloads.mysql.com/archives/community/​​选择自己要下载的版本下载二、上传到Linux机器进行解压tar-zxvfmysql-5.7.39-linux......
  • java—Cron表达式范例
    1.cronExpression配置说明字段允许值允许的特殊字符 秒0-59,-*/ 分0-59,-*/ 小时0-23,-*/ 日期1-31,-*?/LWC 月份1-12或者JAN-DEC,-......