news 2026/6/24 12:31:42

Java + MySQL + Navicat Lite打印输出数据库的表信息到控制台

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java + MySQL + Navicat Lite打印输出数据库的表信息到控制台

一、先确认你电脑有这 3 样东西

  1. Navicat Premium Lite(用来操作 MySQL)
  2. MySQL 服务(Navicat 只是可视化工具,必须装 MySQL 数据库服务)
  3. JDK(写 Java 的环境,没有先装 JDK8/JDK17)

第一步:安装 & 启动 MySQL(没有数据库一切白搭)

情况 1:没装 MySQL

去官网下载 MySQL 8.0 社区版,安装时记住:

  • 端口默认:3306
  • 用户名:root
  • 自己设一个密码,记死,后面代码要用

情况 2:装了但没启动

Windows:此电脑右键管理→服务→找到 MySQL80,右键启动。 启动成功后 Navicat 才能连上数据库。

第二步:Navicat Lite 创建数据库 + 测试表

  1. 打开 Navicat → 连接 → MySQL

    • 连接名:随便填(本地)
    • 主机名:localhost
    • 端口:3306
    • 用户:root
    • 密码:你装 MySQL 时设置的密码 点「测试连接」,显示成功再确定。
  2. 新建数据库 右键连接→新建数据库 数据库名:demo_db字符集:utf8mb4,排序规则 utf8mb4_unicode_ci → 确定

  3. 新建表 + 插入测试数据 双击打开 demo_db → 查询→新建查询,粘贴下面 SQL,点运行:

sql

-- 创建用户表 CREATE TABLE user( id INT PRIMARY KEY AUTO_INCREMENT COMMENT '主键id', username VARCHAR(30) COMMENT '用户名', age INT COMMENT '年龄' ); -- 添加2条测试数据 INSERT INTO user(username,age) VALUES ('小明',16), ('小红',17);

运行无报错,表就建好了。

第三步:下载 MySQL 驱动 jar 包(Java 连接数据库核心)

Java 本身不认 MySQL,需要驱动:mysql-connector-j-8.0.36.jar

  1. 百度搜索:mysql connector j 8.0 下载
  2. 下载 ZIP 解压,拿出里面.jar文件,放到你的 Java 项目文件夹里。

第四步:新建纯 Java 项目(两种方式,任选其一)

方式 A:记事本 + 命令行(最简单,不用 IDE)

  1. 桌面新建文件夹JdbcTest
  2. 把下载好的mysql-connector-j-8.0.36.jar丢进去
  3. 在文件夹里新建文本文档,改名TestDB.java(注意后缀从.txt 改成.java)

打开 TestDB.java,粘贴完整代码:

java

运行

import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; public class TestDB { public static void main(String[] args) { // ==================== 这里改成你自己的信息 ==================== String url = "jdbc:mysql://localhost:3306/demo_db?useSSL=false&serverTimezone=Asia/Shanghai"; String user = "root"; // MySQL账号 String pwd = "你自己的MySQL密码"; // 替换成你的密码 // ========================================================== Connection conn = null; Statement stmt = null; ResultSet rs = null; try { // 1.加载驱动 Class.forName("com.mysql.cj.jdbc.Driver"); // 2.获取连接 conn = DriverManager.getConnection(url, user, pwd); System.out.println("✅ 数据库连接成功!"); // 3.查询user表 stmt = conn.createStatement(); String sql = "select * from user"; rs = stmt.executeQuery(sql); // 打印表结构(字段名、类型) ResultSetMetaData meta = rs.getMetaData(); int colNum = meta.getColumnCount(); System.out.println("\n===== 数据表结构信息 ====="); for(int i=1;i<=colNum;i++){ System.out.println("字段"+i+":"+meta.getColumnName(i)+" | 类型:"+meta.getColumnTypeName(i)); } // 打印表中所有数据 System.out.println("\n===== 表内数据 ====="); while(rs.next()){ int id = rs.getInt("id"); String name = rs.getString("username"); int age = rs.getInt("age"); System.out.println("id:"+id+" 姓名:"+name+" 年龄:"+age); } } catch (ClassNotFoundException e) { System.out.println("❌ 找不到驱动jar包!"); } catch (SQLException e) { System.out.println("❌ 数据库连接失败,检查密码、库名、MySQL服务是否开启"); e.printStackTrace(); } finally { // 关闭资源 try { if(rs!=null) rs.close(); if(stmt!=null) stmt.close(); if(conn!=null) conn.close(); System.out.println("\n🔌 连接已关闭"); } catch (SQLException e) { e.printStackTrace(); } } } }

修改代码关键一步

找到String pwd = "你自己的MySQL密码";双引号里替换成你安装 MySQL 设置的密码。

第五步:编译运行(cmd 命令)

  1. 打开 cmd,cd 到你的文件夹 例:

plaintext

cd C:\Users\你的用户名\Desktop\JdbcTest
  1. 编译代码(把 jar 包一起带上)

plaintext

javac -cp mysql-connector-j-8.0.36.jar TestDB.java

执行完文件夹会多出 TestDB.class 文件。

  1. 运行程序

plaintext

java -cp ".;mysql-connector-j-8.0.36.jar" TestDB

成功输出示例

plaintext

✅ 数据库连接成功! ===== 数据表结构信息 ===== 字段1:id | 类型:INT 字段2:username | 类型:VARCHAR 字段3:age | 类型:INT ===== 表内数据 ===== id:1 姓名:小明 年龄:16 id:2 姓名:小红 年龄:17 🔌 连接已关闭
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/24 12:30:59

[C++]错误码与Try-catch

&#x1f48e;个人主页&#xff1a;星柚程 &#x1f680;精选文章&#xff1a;《MATLAB多目标优化》&#xff0c;《Kaggle:CV、Public LB 》、《我的第一次 Kaggle》、《C构造传参》、《蛇形机械臂的模拟退火优化》 &#x1f6e0;️专栏建设&#xff1a;|深度学习|、|Python量…

作者头像 李华
网站建设 2026/6/24 12:22:47

03. 从零带你学习Linux内核:proc

/proc/loadavg 这一节核心解决一个问题&#xff1a;load average 不是 CPU 使用率。它更像“系统当前有多少任务在排队等资源”。你之前学的 /proc/stat 是算 CPU 使用率&#xff1b;现在的 /proc/loadavg 是看系统负载压力。两者相关&#xff0c;但不是一个东西。1. 先看 /pro…

作者头像 李华
网站建设 2026/6/24 12:20:50

O-RAN中基于Transformer-ESN混合架构的KPI降维与预测优化

1. 项目背景与核心挑战 在6G和下一代网络架构演进中&#xff0c;开放无线接入网(O-RAN)通过解耦式架构和标准化接口&#xff0c;正在重塑无线通信网络的构建方式。这种架构将传统基带单元(BBU)拆分为分布式单元(DU)和集中式单元(CU)&#xff0c;并引入RAN智能控制器(RIC)实现灵…

作者头像 李华
网站建设 2026/6/24 12:16:09

基于Hadoop的番茄小说阅读量数据的分析与运用

摘要 在数字化时代&#xff0c;数据的分析与挖掘为各类行业带来了深远的影响&#xff0c;尤其是在小说阅读平台中&#xff0c;用户行为数据的分析显得尤为重要。番茄小说作为一个快速发展的在线阅读平台&#xff0c;其用户的阅读量数据蕴含着丰富的信息。通过Hadoop这一大数据处…

作者头像 李华
网站建设 2026/6/24 12:13:50

AI开发可观测性实践:构建成本追踪与代码质量监控体系

1. 项目概述&#xff1a;为什么AI开发需要“可观测性”&#xff1f; 最近几年&#xff0c;AI应用开发的热度有目共睹&#xff0c;从大模型API调用到Agent智能体编排&#xff0c;技术栈日新月异。但不知道你有没有发现一个现象&#xff1a;项目初期&#xff0c;大家热情高涨&…

作者头像 李华