JSqlParser生成修改表定义SQL语句

依赖

        <dependency><groupId>com.github.jsqlparser</groupId><artifactId>jsqlparser</artifactId><version>4.3</version></dependency>

删除表

import net.sf.jsqlparser.schema.Table;
import net.sf.jsqlparser.statement.drop.Drop;public class DropTableDemo {public static void main(String[] args) {Drop drop = new Drop();drop.setIfExists(true);drop.setType("TABLE");Table table = new Table("t_one");drop.setName(table);System.out.println(drop);}
}

语句:

DROP TABLE IF EXISTS t_one

修改字段定义

import net.sf.jsqlparser.schema.Table;
import net.sf.jsqlparser.statement.alter.Alter;
import net.sf.jsqlparser.statement.alter.AlterExpression;
import net.sf.jsqlparser.statement.alter.AlterOperation;
import net.sf.jsqlparser.statement.create.table.ColDataType;import java.util.Collections;public class AlterTableDemo {public static void main(String[] args)throws Exception {Alter alter = new Alter();alter.setTable(new Table("t_one"));// 修改姓名ColDataType varchar = new ColDataType("VARCHAR");varchar.setArgumentsStringList(Collections.singletonList("128"));AlterExpression.ColumnDataType name = new AlterExpression.ColumnDataType("name", false, varchar, Collections.singletonList("COMMENT '道号'"));AlterExpression alterExpression = new AlterExpression();alterExpression.setOperation(AlterOperation.MODIFY);alterExpression.addColDataType(name);alter.addAlterExpression(alterExpression);// 修改仙龄ColDataType anInt = new ColDataType("INT");anInt.setArgumentsStringList(Collections.singletonList("10"));AlterExpression.ColumnDataType age = new AlterExpression.ColumnDataType("age", false, anInt, Collections.singletonList("COMMENT '仙龄'"));AlterExpression ageAlterexpression = new AlterExpression();ageAlterexpression.setOperation(AlterOperation.MODIFY);ageAlterexpression.addColDataType(age);alter.addAlterExpression(ageAlterexpression);System.out.println(alter);}
}

语句:

ALTER TABLE t_one MODIFY name VARCHAR (128) COMMENT '道号', MODIFY age INT (10) COMMENT '仙龄'

新增字段

import net.sf.jsqlparser.schema.Table;
import net.sf.jsqlparser.statement.alter.Alter;
import net.sf.jsqlparser.statement.alter.AlterExpression;
import net.sf.jsqlparser.statement.alter.AlterOperation;
import net.sf.jsqlparser.statement.create.table.ColDataType;import java.util.Collections;public class AddColumnDemo {public static void main(String[] args) {Alter alter = new Alter();alter.setTable(new Table("t_one"));AlterExpression alterExpression = new AlterExpression();alterExpression.setOperation(AlterOperation.ADD);ColDataType bigint = new ColDataType("BIGINT");bigint.setArgumentsStringList(Collections.singletonList("20"));AlterExpression.ColumnDataType fightingCapacity = new AlterExpression.ColumnDataType("fighting_capacity", false, bigint, Collections.singletonList("COMMENT '战力'"));alterExpression.addColDataType(fightingCapacity);alter.addAlterExpression(alterExpression);System.out.println(alter);}
}

语句:

ALTER TABLE t_one ADD fighting_capacity BIGINT (20) COMMENT '战力'

删除字段

import net.sf.jsqlparser.schema.Table;
import net.sf.jsqlparser.statement.alter.Alter;
import net.sf.jsqlparser.statement.alter.AlterExpression;
import net.sf.jsqlparser.statement.alter.AlterOperation;public class DropColumnDemo {public static void main(String[] args)throws Exception {Alter alter = new Alter();alter.setTable(new Table("t_one"));AlterExpression alterExpression = new AlterExpression();alterExpression.setOperation(AlterOperation.DROP);alterExpression.setColumnName("fighting_capacity");alter.addAlterExpression(alterExpression);System.out.println(alter);}
}

语句:

ALTER TABLE t_one DROP fighting_capacity

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

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

相关文章

Redis调试

启动Redis 管理工具-》服务-》Redis软件启动Redis 进入redis的安装目录下&#xff0c;在地址栏输入“cmd”&#xff0c;回车 2)然后会进入cmd界面&#xff0c;直接运行命令redis-server.exe redis.windows.conf。如果报错&#xff0c;依次执行第一条指令&#xff1a;redis-cli…

【ArcGIS绘图系列1】在ArcGIS中制作柱状图与饼状图

成图展示 图形出处&#xff1a;J2023-Assessment of agricultural drought based on multi-source remote sensing data in a major grain producing area of Northwest China 实现步骤 第一步 查看数据信息 数据输入到ArcGIS中&#xff1a;包含数据表和shp文件 1、shp文件…

Flink之Window窗口机制

窗口Window机制 窗口概述窗口的分类是否按键分区按键分区窗口非按键分区 按照驱动类型按具体分配规则滚动窗口Tumbling Windows滑动窗口 Sliding Windows会话窗口 Session Windows全局窗口 Global Windows 时间语义窗口分配器 Window Assigners时间窗口计数窗口例子 窗口函数 W…

C++设计模式之MVC

MVC&#xff08;Model-View-Controller&#xff09;是一种经典的软件架构模式&#xff0c;用于组织和分离应用程序的不同部分&#xff0c;以提高代码的可维护性、可扩展性和重用性。MVC模式将应用程序分为三个主要组成部分&#xff1a; Model&#xff08;模型&#xff09;&…

AI人工训练师,提升外呼机器人的运营效果

外呼机器人是企业客服和营销的重要工具&#xff0c;外呼机器人可以通过语音识别和语音合成技术&#xff0c;自动拨打电话并进行客户服务和营销推广等工作。由于外呼机器人错误识别和理解偏差容易影响外呼效果&#xff0c;许多外呼机器人厂商选择通过AI人工训练师的技术手段来提…

linux运行java jar包 linux运行jar包命令

linux运行java jar包 linux运行jar包命令 在linux下我们可以在后台运行jar包命令。那么它的具体方法是怎样的呢?下面由学习啦小编为大家整理了linux后台运行jar包命令的相关知识&#xff0c;希望对大家有所帮助。 Linux 运行jar包命令方法一 view plain copyjava -jar XXX.…

[opencv]图像和特征点旋转

本来说这是很简单的一个内容&#xff0c;图像旋转只需要使用opencv中自带的旋转函数即可完成&#xff0c;但是最近在做特征点旋转的时候发现使用内置rotate函数给图像旋转90度&#xff0c;再用getRotationMatrix2D得出的旋转矩阵对特征点旋转&#xff0c;画出来的特征点位置全部…

FIFO设计16*8,verilog,源码和视频

名称&#xff1a;FIFO设计16*8&#xff0c;数据显示在数码管 软件&#xff1a;Quartus 语言&#xff1a;Verilog 代码功能&#xff1a; 使用verilog语言设计一个16*8的FIFO&#xff0c;深度16&#xff0c;宽度为8。可对FIFO进行写和读&#xff0c;并将FIFO读出的数据显示到…

.NET验收

验收通用模板&#xff1a; 1.该资料计划看几天&#xff1f; 实际看了几天&#xff1f; 计划7天&#xff0c;实际看了9天 2.多少天一篇总结&#xff1f;将总结列出来。 一周总结一篇。 博客地址:3.这个资料相较于之前资料共同的内容是什么&#xff1f; 不同的(需要强化学习)…

linux 安装 docker

linux 安装 docker docker及版本一键安装docker(本人使用的是手动安装)Docker手动安装 docker及版本 Docker从17.03版本之后分为CE&#xff08;Community Edition: 社区版&#xff09;和EE&#xff08;Enterprise Edition: 企业版&#xff09;。相对于社区版本&#xff0c;企业…

openssl 之 RSA加密数据设置OAEP SHA256填充方式

背景 如题 环境 openssl 1.1.1l c centos7.9 代码 /** 思路&#xff1a;填充方式自己写&#xff0c;不需要使用库提供的&#xff0c;然后加密时选择不填充的方式加密 关键代码 */ int padding_result RSA_padding_add_PKCS1_OAEP_mgf1(buf, padding_len, (unsigned char*…

云计算认证有哪些?认证考了有什么用?

云计算作为一项快速发展的技术&#xff0c;对人才的需求持续增长。无论是男生还是女生&#xff0c;只要具备相关的技能和知识&#xff0c;都可以在云计算领域找到就业机会。 目前入行云计算最好最便捷的方式就是考证&#xff0c;拿到一个云计算相关的证书&#xff0c;就能开启…

SQLite Write-ahead Logging

1. 概述2. WAL如何工作 2.1 检验指示(Checkpointing)2.2 并发性(Concurrency)2.3 性能考虑(Performance Considerations)3. 激活并配置WAL模式 3.1 自动checkpoint3.2 应用开始的checkpoint3.3 WAL模式的持久性4. 只读数据库5. 避免过大的WAL文件6. WAL索引的共享内存应用7. 不…

DETR原理与代码超详细解读

文章目录 前言一、DETR论文原理1、DETR整体介绍2、DETR论文贡献3、DETR模型框架4、DETR基于二分图匹配的LOSS 二、DETR环境安装1、安装基础环境2、pycocotools安装3、其它环境安装4、环境验证5、训练与推理效果显示 三、数据准备1、coco 数据格式2、修改数据 四、DETR加载数据代…

【MATLAB源码-第48期】基于matlab的16QAM信号盲解调仿真。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 16QAM (16个象限幅度调制) 是一种广泛使用的数字调制技术。在无线和有线通信系统中&#xff0c;为了在固定的带宽内发送更多的信息&#xff0c;高阶调制如16QAM被使用。下面是16QAM盲解调的基本步骤、优缺点及应用场景。 16Q…

系统设计 - 我们如何通俗的理解那些技术的运行原理 - 第一部分:通信协议(1)

本心、输入输出、结果 文章目录 系统设计 - 我们如何通俗的理解那些技术的运行原理 - 第一部分&#xff1a;通信协议&#xff08;1&#xff09;前言通信协议REST API vs. GraphQL 对比GraphQL gRPC 运行原理步骤说明 什么是 WebHook &#xff08;网络钩子&#xff09;如何提升 …

【Jetson 设备】window10主机下使用VNC可视化控制Jetson Orin NX

文章目录 前言VNC连接搭建(WiFi模式)Jetson Orin NX操作本地主机操作 VNC连接搭建(以太网模式)Jetson Orin NX操作本地主机操作 总结 前言 最近需要使用Jetson Orin NX对一些深度学习算法进行测试&#xff0c;为了方便主机与Jetson Orin NX之间的数据的传输&#xff0c;以及方…

性能优化-卡顿优化-tarce抓取及分析

性能优化&#xff08;卡顿分析&#xff09; 文章目录 一、抓取trace的方法1.使用systrace抓取trace2.使用atrace抓取3.使用Perfetto抓取trace 二、trace文件的分析1.快捷操作1.1 导航操作1.2 快捷操作 2.chrome trace工具分析trace文件3.Prefetto分析trace文件 一、抓取trace的…

qt-C++笔记之清空QVBoxLayout中的QCheckBox

qt-C笔记之清空QVBoxLayout中的QCheckBox QVBoxLayout 和 QCheckBox 是两个类&#xff0c;都是 PyQt/PySide 中用于创建图形用户界面 (GUI) 的工具。它们通常与 Qt 库一起使用&#xff0c;Qt 是一个流行的跨平台 GUI 库&#xff0c;可以用于创建桌面应用程序。 QVBoxLayout: Q…

精益求精:使用Ansible集中式自动备份核心数据

1、引言 在当今数字化时代&#xff0c;数据是企业和组织的核心资产。为了确保数据的安全性和可恢复性&#xff0c;备份是至关重 要的。然而&#xff0c;手动备份数据可能会繁琐且容易出错&#xff0c;特别是在面对大规模和分布式的数据存储情况下。幸运的是&#xff0c;Ansibl…