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";// 定义数据库连接URLprivate 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) {// 关闭ResultSetif (resultSet != null) {try {resultSet.close();} catch (SQLException e) {throw new RuntimeException(e);}}
​// 关闭Statementif (statement != null) {try {statement.close();} catch (SQLException e) {throw new RuntimeException(e);}}
​// 关闭Connectionif (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;}
​
}
​

输出结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/26769.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【python】通行网格地图四叉树化 (leeccode 427)

【python】通行网格地图四叉树化 受到Leecode 427题的启发,427. 建立四叉树 想将由0和1组成的网格地图绘制为四叉树地图,0表示可通行网格,1表示不可通行网格。 import matplotlib.pyplot as plt import matplotlib.patches as patches …

【数学建模】MATLAB入门教程:插值与拟合(下)

前言 插值与拟合在数据处理和科学计算中扮演着非常重要的角色&#xff0c;它们用于估算未知数据点的值&#xff0c;帮助我们理解和预测数据趋势 一、一维插值 1、一维插值定义 已知n1个节点(,)(j0,1,...,n,其中互不相同&#xff0c;不妨设a<<...<b),求任一插值点(…

鸿蒙开发:任务(Mission)与启动模式

任务&#xff08;Mission&#xff09;与启动模式 如前文所述&#xff0c;一个UIAbility实例对应一个任务。UIAbility实例个数与UIAbility配置的启动模式有关。在FA模型下&#xff0c;通过config.json配置文件中的“launchType”属性配置&#xff1b;在Stage模型下&#xff0c;…

C#聊天室②

客户端 桌面 MyClient client;public Form1(){InitializeComponent();}// 进入聊天室按钮方法private void button1_Click(object sender, EventArgs e){if (!string.IsNullOrEmpty(textBox1.Text)){// 开始连接服务器 封装一个自定义客户端类client new MyClient(); // 给cl…

基于jeecgboot-vue3的Flowable流程-流程处理(一)

因为这个项目license问题无法开源&#xff0c;更多技术支持与服务请加入我的知识星球。 这部分修正一些流程处理中VForm3线上的一些bug问题 1、初始化流程提交与现实的前端页面代码 <!--初始化流程加载默认VForm3表单信息--><el-col :span"16" :offset&qu…

nlp学习笔记

目录 很多入门例子 bert chinese 很多入门例子 https://github.com/lansinuote/Huggingface_Toturials bert chinese import torch import torch.nn as nn from transformers import AutoTokenizer, AutoModel, BertModel, TFBertModel, BertTokenizer# youpath = D:/bert-…

【Mybatis】动态SQL的绑定和公共sql语句片段

Mybatis还有三个标签&#xff0c;分别是bind&#xff0c;sql和include ①bind&#xff1a;这个标签作用就是将OGNL标签里的值&#xff0c;进行二次加工&#xff0c;在绑定到另一个变量里&#xff0c;供其他标签使用&#xff0c;举个例子 调用getUsers方法的时候&#xff0c;我…

网络编程(二)TCP

一、TCP网络编程 网络编程模型&#xff1a; C/S模型&#xff1a;客户端服务器模型 优点&#xff1a; 客户端可以缓存一些数据&#xff0c;使用时直接在本地读取&#xff0c;无需每次重新下载&#xff1b; 由于客户端和服务器都是自己开发的&#xff0c;可以自定义协议 缺点&a…

文案提取小帮手轻松将视频为转文字!而且不限时长

作为一个自媒体的资深用户总在一个一个的敲字真的太慢了&#xff0c;而且很多创作者都知道追热点是和时间赛跑。如果你嫌弃自己手抄效率太低&#xff0c;看视频又嫌时间太长。 今天叫教你一个可以将视频转文字的工具&#xff0c; 这个工具就叫文案提取小帮手&#xff0c;而且…

Vue前端ffmpeg压缩视频再上传(全网唯一公开真正实现)

1.Vue项目中安装插件ffmpeg 1.1 插件版本依赖配置 两个插件的版本 "ffmpeg/core": "^0.10.0", "ffmpeg/ffmpeg": "^0.10.1"package.json 和 package-lock.json 都加入如下ffmpeg的版本配置&#xff1a; 1.2 把ffmpeg安装到项目依…

Java老人护理上门服务类型系统小程序APP源码

&#x1f338; 老人上门护理服务系统&#xff1a;温暖与专业并存 &#x1f338; 一、&#x1f3e0; 走进老人上门护理服务系统 随着社会的快速发展&#xff0c;我们越来越关注老年人的生活质量。老人上门护理服务系统应运而生&#xff0c;它结合了现代科技与人性化服务&#…

最小生成树prim算法详解

prim算法解决的是最小生成树问题&#xff0c;即在一个给定的无向图G中求一棵生成树T&#xff0c;使得这棵树拥有图G中的所有顶点&#xff0c;且所有边都是来自图G中的边&#xff0c;并且满足整棵树的边权之和最小。 prim算法的基本思想是对图G设置集合S来存放已被访问的顶点&a…

【源码】【Spring+SpringMVC+MyBatis】电子商城网上购物平台的设计与开发

学生成绩管理系统 系统功能开发环境开发技术前端技术后端技术 系统展示登录界面注册界面系统首页商品详情页下单界面付款界面购物车界面 源码获取↓↓↓↓&#xff1a; 源码可在后台私信联系博主或文末添加博主微信获取帮助 系统功能 登录、注册模块&#xff1a;如果用户第一次…

基于Java+Swing+mysql幼儿园信息管理系统V2

博主介绍&#xff1a; 大家好&#xff0c;本人精通Java、Python、C#、C、C编程语言&#xff0c;同时也熟练掌握微信小程序、Php和Android等技术&#xff0c;能够为大家提供全方位的技术支持和交流。 我有丰富的成品Java、Python、C#毕设项目经验&#xff0c;能够为学生提供各类…

【网络编程】基于UDP的服务器端/客户端

UDP可看作是信件邮寄&#xff0c;邮寄过程可能会信件丢失&#xff0c;是一种不可靠的数据传输服务。 但UDP性能更高&#xff0c;实现更加简洁。流控制是区分UDP和TCP的最重要标志。 IP的作用就是让离开主机B的UDP数据包传递给主机B&#xff0c;UDP根据端口号将传到主机的数据包…

Python - OS模块+sys模块

一、OS模块基本用法&#xff1a; import osprint(os.getcwd()) # 获取当前工作目录os.chdir(data) # 改变当前脚本工作目录&#xff1b;相当于终端里面的cd命令 print(os.getcwd()) # 获取当前工作目录 运行结果&#xff1a; D:\__TC22008_VBF\FOTA-vFlash-AutoTest D:\__TC22…

conda虚拟环境报错总结

创建conda虚拟环境 文章前景&#xff08;小白篇&#xff09;为什么要安装Anaconda&#xff1f;&#xff1f;&#xff1f; Conda创建虚拟环境遇到的错误总结错误1&#xff1a;jupyter 里面没有显示我的虚拟环境怎么办&#xff1f;错误2&#xff1a;配置pycharm的时候conda虚拟环…

破解发展难题 台山这家合作社以农业社会化服务助推乡村振兴

风吹稻田千层浪&#xff0c;眼下&#xff0c;台山四九镇的早稻长势喜人&#xff0c;沉甸甸的稻穗迎风而动&#xff0c;已进入破口抽穗的关键期&#xff0c;即将在6月底陆续迎来丰收。在台山市明华汇种养专业合作社管理的稻田里&#xff0c;合作社负责人梁明喜正仔细观察着稻苗的…

山东大学软件学院项目实训-创新实训-基于大模型的旅游平台(三十二)- 微服务(12)

目录 12.8 RestClient查询文档 12.8.1 快速入门 12.8.2 match&#xff0c; term&#xff0c;bool&#xff0c;range查询 12.8.3 排序和分页 12.8.4 高亮 12.8 RestClient查询文档 12.8.1 快速入门 Testvoid testMatchALL() throws IOException {// 1. 准备requestSearchReq…

以bert为例,了解Lora是如何添加到模型中的

以bert为例,了解Lora是如何添加到模型中的 一.效果图1.torch.fx可视化A.添加前B.添加后 2.onnx可视化A.添加前B.添加后 3.tensorboard可视化A.添加前B.添加后 二.复现步骤1.生成配置文件(num_hidden_layers1)2.运行测试脚本 本文以bert为例,对比了添加Lora模块前后的网络结构图…