使用JSQLParser解析SQL中涉及到的表】的更多相关文章

首先添加Maven依赖: <dependency> <groupId>com.github.jsqlparser</groupId> <artifactId>jsqlparser</artifactId> <version>1.2</version> </dependency> 然后使用下面的样例进行测试: package com.zifeiy.test.sqlaffair; import java.util.…
SQL中查看数据库各表的大小 编写人:CC阿爸 2014-6-17 在日常SQL数据库的操作中,如何快速的查询数据库中各表中数据的大小. 以下有两种方法供参考: 第一种: create table #t(name varchar(255), rows bigint, reserved varchar(20), data varchar(20), index_size varchar(20), unused varchar(20)) exec sp_MSforeachtable "insert i…
最近的项目需求中需要解析sql得表名,由于只需要表名我觉得应该用相对粗暴一点的方式来解析 初步思路: 1.转义字符:去除两个引号连在一起的 2.字符串: 去除所有被引号包裹的 3.括号:识别括号处理 4.关键字: 用关键字切割语句,去除与表名 无关的 5.解析与表名有关的切割分段得表名 先是粗暴的括号处理 def get_str(s): you = 0 st = [] re = '' max_you = 0 for ii in s: st.append(ii) while st: tmp = s…
有时候我们给表或者字段命名时,会无意中选择了一个SQL中的关键字进行命名,然后就报错了: ERROR:  syntax error at or near "limit" MySQL解决方法: 在MySQL中需要添加 `` create table `order` (id int, `limit` int); # 由于order和limit都是MySQL中的关键字,必须加上``才能使用 PostgreSQL解决方法: 在PostgreSQL中需要添加 "" creat…
using System; using System.IO; using System.Collections.Generic; namespace SQLProcess { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!" + DateTime.Now.ToString("yyyyMMdd")); Dictionary<string, stri…
今天遇到一个数据表的两个列数据要互换,在网上找到并记录下. 直接用Sql就可以搞定,语法如下 --将数据表中两个列数据互换的语法-- update tabName set field1=field2,field2=field1 我们来模拟验证一下,在数据库建立一个这样的表 第一步:创建数据表 --1.创建数据表-- create table Student( StuId ,) primary key, StuCode ) not null, StuName ) not null, Notes )…
SQL Update多表联合更新的方法(1) sqlite 多表更新方法//----------------------------------update t1 set col1=t2.col1from table1 t1inner join table2 t2 on t1.col2=t2.col2这是一个非常简单的批量更新语句 在SqlServer中支持此语法 sqlite中却不支持 sqlite中可转换为 如下语法 update table1 set col1=(select col1 f…
摘自: http://www.111cn.net/database/mssqlserver/39107.htm sql判断存储过程是否存在 判断数据库教程是否存在 Sql代码 if exists (select * from sys.databases where name = ’数据库名’) drop database [数据库名] if exists (select * from sys.databases where name = ’数据库名’) drop database [数据库名]…
http://www.linuxidc.com/Linux/2012-08/68035.htm 1.简介 在关系型数据库中,join操作是将不同的表中的数据联合在一起时非常通用的一种做法.首先让我们看看join是如何操作的,然后我们探索一下当join和where语句同时存在的时候的执行顺序问题,最后来谈一谈不同类型的join的顺序问题. 2.建立初始的测试表结构(建表语句到这里下载) 表建立完之后,将会看到如下三个表. 我们将通过以上三个表来演示join操作.这三个表都是用来做演示的,所以我并没…
--判断数据库是否存在 IF EXISTS (SELECT * FROM MASTER..sysdatabases WHERE NAME = '库名')    PRINT 'exists ' else     PRINT 'not exists' --   判断要创建的表名是否存在 IF EXISTS (Select * From sysObjects Where Name ='表名' And Type In ('S','U')) PRINT 'exists'ELSE PRINT 'not ex…