执行sql语句,并将结果通过List返回。字段名统一大写

合集下载

软件测试常用的sql语句

软件测试常用的sql语句

软件测试常⽤的sql语句⼀.数据库基础(mysql)1.windows命令⾏连接服务器mysql -h&ip -p&port -u&⽤户名 -p-h (host) 连接的ip localhost-p (port) 端⼝号 3306-u (username) ⽤户名 root-p (password) 密码 123456如果在本地登录,直接写mysql -uroot -p2.数据库的执⾏原理数据服务器提供服务,客户端连接到数据库服务器。

向服务器发送sql语句,服务器执⾏SQL,返回结果。

3.字段类型整型整型占⽤字节范围范围tinyint1-27~27-1-128~127smallint2-215~215-1-32768~32767mediumint3-223~223-1-8388608~8388607int4-231~231-1 -2147483648~2147483647bigint8-263~263-1显⽰宽度:最⼩的显⽰位数,⽐如int(11),最少⽤11位数字显⽰值。

显⽰的时候不够11位以0填充显⽰宽度必须结合zerofill才起作⽤⽆符号数(unsigned)⽆符号数就是没有负数,⽆符号数的正数的范围是有符号数正数范围的2倍  create table t4( id tinyint(255)unsigned );unsigned的在sql中的使⽤⽅法: tinyint unsigned mediumint unsigned int unsigned;浮点数浮点数占⽤字节范围float(单精度)4-3.4E+38~3.4E+38double(双精度)8-1.8E+308~1.8E+308浮点数的声明:float(M,D),double(M,D) M:总位数 D:⼩数位数 M-D:整数位数 例如:float(9,3) ⼀共9位数,⼩数3位,整数6位. double(9,3) ⼀共9位数,⼩数3位,整数6位.精度问题:float 只有 6~7位可信数 double 有 14~15位可信数据定点型-保存⼩数主要⽤于存储⾦额decimal(M,D) 存D位⼩数,M-D位整数,总共M位M的最⼤值是65,D的最⼤值是30,默认是(10,0)4.字符型字符集:字符到⼆进制的编码的集合,叫字符集latin1 使⽤1个字节表⽰字符,gbk使⽤2个字节表⽰字符,utf8使⽤3个字节表⽰字符,如果有6个字节,在gbk中可以存3个汉字,utf8可以存两个汉字mysql⽀持 40种字符集,查询语法:show charset;客户端设置字符集是为了告诉服务器,我要⽤哪个字符集来跟服务器沟通,设置字符集:set names utf8;定长和变长字符串定长char(L):有多少空间就占⽤少空间,不会回收剩余的空间。

sql大写函数

sql大写函数

sql大写函数SQL(结构化查询语言)是用于管理和操作关系型数据库的标准编程语言。

它提供了多种函数和操作符来处理数据,包括字符串处理、数学计算、日期和时间处理等。

在SQL中,函数是一种可调用的操作,它接受零个或多个参数,并返回一个值。

函数可以在SQL语句中使用,用于查询、过滤和转换数据。

下面是一些常见的SQL函数,包括大写函数:1. UPPER函数:将指定的字符串转换为大写。

例如,`SELECTUPPER('hello')`会返回`HELLO`。

2. LOWER函数:将指定的字符串转换为小写。

例如,`SELECT LOWER('WORLD')`会返回`world`。

3. INITCAP函数:将指定的字符串转换为首字母大写,其他字母小写的格式。

例如,`SELECT INITCAP('johN DOe')`会返回`John Doe`。

4.UCASE函数:将指定的字符串转换为大写,与UPPER函数功能相同。

5.LCASE函数:将指定的字符串转换为小写,与LOWER函数功能相同。

6. CONCAT函数:将两个或多个字符串连接在一起。

例如,`SELECT CONCAT('hello', ' world')`会返回`hello world`。

7. SUBSTRING函数:返回指定字符串的一部分。

可以指定起始位置和长度。

例如,`SELECT SUBSTRING('abcdef', 2, 3)`会返回`bcd`。

8. REPLACE函数:将指定字符串中的所有出现的一些子字符串替换为另一个字符串。

例如,`SELECT REPLACE('hello world', 'world','everyone')`会返回`hello everyone`。

9. LENGTH函数:返回指定字符串的长度。

PLSQL怎么执行SQL语句

PLSQL怎么执行SQL语句

通过f5查看到的执行计划,其实是pl/sql developer工具内部执行查询 plan_table表然后格式化的结果。

select * from plan_table where statement_id=...。

其中description列描述当前的数据库操作,object owner列表示对象所属用户,object name表示操作的对象,cost列表示当前操作的代价(消耗),这个列基本上就是评价sql语句的优劣,cardinality列表示操作影响的行数,bytes列表示字节数篇二:plsqldeveloper工具使用教程plsql入门pl/sql的概述pl/sql的优势pl/sql是一种块结构的语言,允许你将业务逻辑封装在一起,这是到目前为止使用pl/sql的最大优势pl/sql是在服务器上运行,可以与数据库和sql引擎直接进行交互,pl/sql是什么?(procedural language/sql) 是oracle在标准的sql语言上的扩展,pl/sql不仅允许嵌入sql语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用列外处理各种错误,这样使得它的功能变得更加强大。

特性: 减少java程序的复杂性一.过程,函数,触发器是pl/sql编写的二.过程、函数、触发器是在oracle中三. pl/sql是非常强大的数据库过程语言四.过程,函数可以再java程序中调用为什么学?a) 提高应用程序的运行性能b) 模块化的设计思想[分页的过程,订单的过程,转账的过程]c) 减少网络传输量(传统的方法,用sql语句传输!现在就只需要调用存储过程) d) 提高安全性(传统sql 可以看到表名字段等…)不好:移植性不好,(你写好的存储过程,函数等当我们要换数据库时,这些东西就没用了)开发工具:1. sqlplus 开发工具是oracle公司提供的一个工具,这个因为我们在以前介绍过:2. pl/sql developer开发工具pl/sql developer是用于开发pl/sql块的集成开发环境(ide)它是一个独立的产品,而不是oracle的一个附带品,createprocedure sp_pro1//存储过程名字 isbegin---执行部分insert into mytest values(‘’,’’);end;/查看错误信息show error;调用过程:有两中方式1 exec 过程名(参数值1,参数值2…..)2 call 过程名用pl/sql developer--案例create or replace procedure简单分类pl/sql developer 工具的使用:plsql developer是一个为oracle数据库开发存储程序单元的集成开发环境,使用plsql developer你能方便的创建你的客户/服务器应用程序的服务器部分。

sql行列转换的函数

sql行列转换的函数

sql行列转换的函数在SQL中,行列转换是通过将一列数据转换为多列或者将多列数据转换为一列来实现的。

这种转换可以通过使用聚合函数、CASE语句和PIVOT/UNPIVOT操作来完成。

以下是行列转换的相关参考内容:1. 使用聚合函数:聚合函数是SQL中非常重要的函数之一,可以用于将多行数据合并为一行。

在行列转换中,常用的聚合函数有SUM、COUNT、MAX和MIN等。

可以使用这些聚合函数将多行数据转换为一列。

例如,可以使用SUM函数将多个订单金额合并为一个总金额。

2. 使用CASE语句:CASE语句是SQL中的条件语句,可以根据条件选择不同的结果。

在行列转换中,可以使用CASE语句根据某个条件将多列数据转换为一列。

例如,可以使用CASE语句根据客户的信用等级将客户的名称转换为不同的等级。

3. 使用PIVOT/UNPIVOT操作:PIVOT和UNPIVOT是SQL中用于行列转换的操作符。

PIVOT操作可以将多行数据转换为多列,而UNPIVOT操作可以将多列数据转换为多行。

这些操作非常有用,尤其是在需要将多个属性的值转换为列的情况下。

例如,可以使用PIVOT操作将每个地区的销售额转换为列,以便更容易进行比较和分析。

4. 使用临时表或者表变量:在行列转换中,有时候需要使用临时表或者表变量来处理数据。

可以将原始数据存储在一个临时表或者表变量中,然后使用INSERT INTO语句将数据转换为多列或者一列。

5. 使用动态SQL:动态SQL是一种在查询执行期间动态生成SQL语句的方法。

在行列转换中,可以使用动态SQL来生成不同的SELECT语句,以实现将多列转换为一列或者将一列转换为多列。

总结:行列转换是SQL中非常常见和重要的操作之一。

通过使用聚合函数、CASE语句、PIVOT/UNPIVOT操作、临时表或者表变量以及动态SQL等方法,可以实现将一列数据转换为多列或者将多列数据转换为一列。

这些方法在实际应用中非常有用,可以大大提高数据的可读性和分析能力。

执行sql语句并将结果通过List返回字段名统一大写

执行sql语句并将结果通过List返回字段名统一大写

/**‎‎*获取其‎他数据库连‎接‎ * @‎p aram‎addr‎e ss 数‎据库ip地‎址‎ * @‎p aram‎port‎数据库端‎口号‎ * ‎@para‎m dbN‎a me 数‎据库名‎ *‎@par‎a m us‎e rNam‎e用户名‎‎* @p‎a ram ‎p assW‎o rd 密‎码‎ * @‎p aram‎dbTy‎p e 数据‎库类型 1‎:orac‎l e ,2‎:mysq‎l,3:‎s ql20‎00‎ * ‎@retu‎r n 数据‎库连接‎ *‎@thr‎o ws j‎a va.l‎a ng.E‎x cept‎i on‎ *‎/‎publ‎i c Co‎n nect‎i on g‎e tHos‎S qlCo‎n(Str‎i ng a‎d dres‎s,Str‎i ng p‎o rt,S‎t ring‎dbNa‎m e,St‎r ing ‎u serN‎a me,S‎t ring‎pass‎W ord,‎i nt d‎b Type‎) thr‎o ws E‎x cept‎i on {‎‎ C‎o nnec‎t ion ‎c on =‎null‎;‎‎S trin‎g dri‎v er =‎"";‎‎ St‎r ing ‎u rl =‎"";‎‎ tr‎y{‎‎‎s witc‎h(dbT‎y pe){‎‎‎‎ cas‎e 1:‎‎‎‎‎d rive‎r="or‎a cle.‎j dbc.‎d rive‎r.Ora‎c leDr‎i ver"‎;‎‎‎‎ url‎="jdb‎c:ora‎c le:t‎h in:@‎"+add‎r ess+‎":"+p‎o rt+"‎:"+db‎N ame;‎‎‎‎‎brea‎k;‎‎‎ c‎a se 2‎:‎‎‎‎ dri‎v er="‎o rg.g‎j t.mm‎.mysq‎l.Dri‎v er";‎‎‎‎‎url=‎"jdbc‎:mysq‎l://"‎+addr‎e ss+"‎:"+po‎r t+"/‎"+dbN‎a me;‎‎‎‎‎b reak‎;‎‎‎ ca‎s e 3:‎‎‎‎‎driv‎e r="c‎o m.mi‎c roso‎f t.jd‎b c.sq‎l serv‎e r.SQ‎L Serv‎e rDri‎v er";‎‎‎‎‎url=‎"jdbc‎:micr‎o soft‎:sqls‎e rver‎://"+‎a ddre‎s s+":‎"+por‎t+";D‎a taba‎s eNam‎e="+d‎b Name‎;‎‎‎‎ bre‎a k;‎‎‎}‎‎‎C lass‎.forN‎a me(d‎r iver‎);‎‎‎c on =‎Driv‎e rMan‎a ger.‎g etCo‎n nect‎i on(u‎r l, u‎s erNa‎m e, p‎a ssWo‎r d);‎‎ } ‎c atch‎(Exc‎e ptio‎n ex)‎{‎‎‎t hrow‎new ‎E xcep‎t ion(‎"无法获得‎数据库连接‎!");‎‎ }‎‎ re‎t urn ‎c on;‎ }‎‎/**‎‎*远程连‎接其他数据‎库执行sq‎l语句,并‎将结果通过‎L ist返‎回。

sql查询排序语句 -回复

sql查询排序语句 -回复

sql查询排序语句-回复SQL查询排序语句- 从基础到高级级别的完整指南在SQL中,排序是一项非常常见和重要的任务。

排序可以让我们按照指定的条件对查询结果进行排序,从而更好地组织和展示数据。

无论是按照字母顺序、数字大小还是按照日期进行排序,SQL都提供了一些强大的功能来满足我们的需求。

在本篇文章中,我们将一步一步地深入研究SQL查询排序语句。

我们将从SQL的基础知识开始,逐渐介绍到更高级的排序功能。

让我们开始吧。

第一步:了解SQL的基础在开始学习SQL查询排序语句之前,我们需要掌握一些基础知识。

首先,我们需要了解什么是关系型数据库和表。

关系型数据库是通过表(table)来组织和存储数据的。

每个表由行(rows)和列(columns)组成,行代表单个数据记录,列代表数据的属性。

我们将在表中执行SQL查询。

此外,我们还需要了解SQL的基本语法。

SQL的语法包括关键字、函数、操作符和数据类型等。

在进行排序之前,我们首先需要编写一个查询语句,该语句包括使用SELECT关键字从表中选择所需的列。

以下是一个示例查询语句:SELECT column1, column2, ...FROM table_nameWHERE conditions;这是一个基本的SELECT语句,它选择表中的列,并指定选择的条件。

现在,我们将向这个查询语句中添加排序功能。

第二步:使用ORDER BY子句排序查询结果在SQL中,我们使用ORDER BY子句来对查询结果进行排序。

ORDER BY子句按指定的列对结果进行排序,默认按升序排序。

下面是一个包含ORDER BY子句的示例查询语句:SELECT column1, column2, ...FROM table_nameWHERE conditionsORDER BY column1;在这个查询语句中,我们通过在ORDER BY子句中指定列名来对结果进行排序。

请注意,这个示例查询将按照列column1的升序进行排序。

关于数字金额转换大写金额,oracle sql语句

关于数字金额转换大写金额,oracle sql语句

关于数字金额转换大写金额,oracle sql语句在Oracle SQL中,可以使用以下语句将数字金额转换为大写金额:```sqlSELECT TO_CHAR(TO_DATE(<数字金额>, 'J'), 'JSP') AS大写金额FROM DUAL;```其中,`<数字金额>`是要转换为大写金额的数值。

此语句将数字金额转换为大写金额并将其作为字符串返回。

在转换之前,数字金额会被转换为相应的日期,使用'J'作为日期格式。

然后,使用函数`TO_CHAR`将转换后的日期转换为大写金额格式,使用'JSP'作为显示格式。

需要注意的是,Oracle SQL中,大写金额转换功能并非直接内置于语法中。

上述语句利用日期格式化函数和显示格式来实现此功能。

若需要将金钱数额转换为大写金额,可以通过开发自定义函数来实现。

以下是一个示例:```sqlCREATE OR REPLACE FUNCTIONconvert_to_upper_amount(p_amount IN NUMBER)RETURN VARCHAR2ISv_upper_amount VARCHAR2(200);BEGINSELECT TO_CHAR(TO_DATE(p_amount, 'J'), 'JSP')INTO v_upper_amountFROM DUAL;RETURN v_upper_amount;END;/```通过创建以上函数,可以将数字金额作为参数传入,然后返回对应的大写金额。

使用示例如下:```sqlSELECT convert_to_upper_amount(1234.56) AS大写金额FROM DUAL;```此语句将返回数字金额1234.56对应的大写金额。

需要注意的是,大写金额转换功能通常在数据库层面进行辅助,而更常见的做法是在应用程序或前端界面中进行处理。

解决mybatis用Map返回的字段全变大写的问题

解决mybatis用Map返回的字段全变大写的问题

解决mybatis⽤Map返回的字段全变⼤写的问题
mybatis通常情况都是⽤javabean作为resultType的对象,但是有时也可以使⽤Map去接收。

<select id="execute" parameterType="String" resultType="java.util.HashMap">
${value}
</select>
如果使⽤Map,返回来的字段名全是⼤写,处理⽅法
Select name as "name" from v_zhyl_zxzf_hqyzflb
加上字段别名加上双引号就可以了
补充知识:Mybatis 查询返回类型为Map 空值字段不显⽰
项⽬使⽤的SpringBoot、Mybatis-plus
问题描述如题:
执⾏sql:select userId,name,address,mobile from user
当address为空时,返回结果map中只有三个字段,userId、name、address
解决⽅法:
修改yml⽂件中Mybatis的配置,设置call-setters-on-nulls为true即可
mybatis-plus:
mapper-locations: classpath:mapper/**/*.xml
configuration:
call-setters-on-nulls: true
以上这篇解决mybatis⽤Map返回的字段全变⼤写的问题就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。

sql语句进阶

sql语句进阶

--语句功能--数据操作SELECT --从数据库表中检索数据行和列INSERT --向数据库表添加新数据行DELETE --从数据库表中删除数据行UPDATE --更新数据库表中的数据--数据定义CREATE TABLE --创建一个数据库表DROP TABLE --从数据库中删除表ALTER TABLE --修改数据库表结构CREATE VIEW --创建一个视图DROP VIEW --从数据库中删除视图CREATE INDEX --为数据库表创建一个索引DROP INDEX --从数据库中删除索引CREATE PROCEDURE --创建一个存储过程DROP PROCEDURE --从数据库中删除存储过程CREATE TRIGGER --创建一个触发器DROP TRIGGER --从数据库中删除触发器CREATE SCHEMA --向数据库添加一个新模式DROP SCHEMA --从数据库中删除一个模式CREATE DOMAIN --创建一个数据值域ALTER DOMAIN --改变域定义DROP DOMAIN --从数据库中删除一个域--数据控制GRANT --授予用户访问权限DENY --拒绝用户访问REVOKE --解除用户访问权限--事务控制COMMIT --结束当前事务ROLLBACK --中止当前事务SET TRANSACTION --定义当前事务数据访问特征--程序化SQLDECLARE --为查询设定游标EXPLAN --为查询描述数据访问计划OPEN --检索查询结果打开一个游标FETCH --检索一行查询结果CLOSE --关闭游标PREPARE --为动态执行准备SQL 语句EXECUTE --动态地执行SQL 语句DESCRIBE --描述准备好的查询---局部变量declare @id char(10)--set @id = '10010001'select @id = '10010001'---全局变量---必须以@@开头--IF ELSEdeclare @x int @y int @z intselect @x = 1 @y = 2 @z=3if @x > @yprint 'x > y' --打印字符串'x > y'else if @y > @zprint 'y > z'else print 'z > y'--CASEuse panguupdate employeeset e_wage =casewhen job_level = ‘1‘ then e_wage*1.08 when job_level = ‘2‘ then e_wage*1.07 when job_level = ‘3‘ then e_wage*1.06 else e_wage*1.05end--WHILE CONTINUE BREAKdeclare @x int @y int @c intselect @x = 1 @y=1while @x < 3beginprint @x --打印变量x 的值while @y < 3beginselect @c = 100*@x + @yprint @c --打印变量c 的值select @y = @y + 1endselect @x = @x + 1select @y = 1end--WAITFOR--例等待1 小时2 分零3 秒后才执行SELECT 语句waitfor delay ‘01:02:03‘select * from employee--例等到晚上11 点零8 分后才执行SELECT 语句waitfor time ‘23:08:00‘select * from employee***SELECT***select *(列名) from table_name(表名) where column_name operator value ex:(宿主)select * from stock_information where stockid = str(nid)stockname = 'str_name'stockname like '% find this %'stockname like '[a-zA-Z]%' --------- ([]指定值的范围)stockname like '[^F-M]%' --------- (^排除指定范围)--------- 只能在使用like关键字的where子句中使用通配符)or stockpath = 'stock_path'or stocknumber < 1000and stockindex = 24not stock*** = 'man'stocknumber between 20 and 100stocknumber in(10,20,30)order by stockid desc(asc) --------- 排序,desc-降序,asc-升序order by 1,2 --------- by列号stockname = (select stockname from stock_information where stockid = 4) --------- 子查询--------- 除非能确保内层select只返回一个行的值,--------- 否则应在外层where子句中用一个in限定符select distinct column_name form table_name --------- distinct指定检索独有的列值,不重复select stocknumber ,"stocknumber + 10" = stocknumber + 10 from table_name select stockname , "stocknumber" = count(*) from table_name group by stockname --------- group by 将表按行分组,指定列中有相同的值having count(*) = 2 --------- having选定指定的组select *from table1, table2where table1.id *= table2.id -------- 左外部连接,table1中有的而table2中没有得以null表示table1.id =* table2.id -------- 右外部连接select stockname from table1union [all] ----- union合并查询结果集,all-保留重复行select stockname from table2***insert***insert into table_name (Stock_name,Stock_number) value ("xxx","xxxx")value (select Stockname , Stocknumber from Stock_table2)---value为select语句***update***update table_name set Stockname = "xxx" [where Stockid = 3]Stockname = defaultStockname = nullStocknumber = Stockname + 4***delete***delete from table_name where Stockid = 3truncate table_name ----------- 删除表中所有行,仍保持表的完整性drop table table_name --------------- 完全删除表***alter table*** --- 修改数据库表结构alter table database.owner.table_name add column_name char(2) null .....sp_help table_name ---- 显示表已有特征create table table_name (name char(20), age smallint, lname varchar(30)) insert into table_name select ......... ----- 实现删除列的方法(创建新表)alter table table_name drop constraint Stockname_default ---- 删除Stockname的default约束***function(/*常用函数*/)***----统计函数----AVG --求平均值COUNT --统计数目MAX --求最大值MIN --求最小值SUM --求和--AVGuse panguselect avg(e_wage) as dept_avgWagefrom employeegroup by dept_id--MAX--求工资最高的员工姓名use panguselect e_namefrom employeewhere e_wage =(select max(e_wage)from employee)--STDEV()--STDEV()函数返回表达式中所有数据的标准差--STDEVP()--STDEVP()函数返回总体标准差--VAR()--VAR()函数返回表达式中所有值的统计变异数--VARP()--VARP()函数返回总体变异数----算术函数----/***三角函数***/SIN(float_expression) --返回以弧度表示的角的正弦COS(float_expression) --返回以弧度表示的角的余弦TAN(float_expression) --返回以弧度表示的角的正切COT(float_expression) --返回以弧度表示的角的余切/***反三角函数***/ASIN(float_expression) --返回正弦是FLOAT 值的以弧度表示的角ACOS(float_expression) --返回余弦是FLOAT 值的以弧度表示的角ATAN(float_expression) --返回正切是FLOAT 值的以弧度表示的角ATAN2(float_expression1,float_expression2)--返回正切是float_expression1 /float_expres-sion2的以弧度表示的角DEGREES(numeric_expression)--把弧度转换为角度返回与表达式相同的数据类型可为--INTEGER/MONEY/REAL/FLOAT 类型RADIANS(numeric_expression) --把角度转换为弧度返回与表达式相同的数据类型可为--INTEGER/MONEY/REAL/FLOAT 类型EXP(float_expression) --返回表达式的指数值LOG(float_expression) --返回表达式的自然对数值LOG10(float_expression)--返回表达式的以10 为底的对数值SQRT(float_expression) --返回表达式的平方根/***取近似值函数***/CEILING(numeric_expression) --返回>=表达式的最小整数返回的数据类型与表达式相同可为--INTEGER/MONEY/REAL/FLOAT 类型FLOOR(numeric_expression) --返回<=表达式的最小整数返回的数据类型与表达式相同可为--INTEGER/MONEY/REAL/FLOAT 类型ROUND(numeric_expression) --返回以integer_expression 为精度的四舍五入值返回的数据--类型与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型ABS(numeric_expression) --返回表达式的绝对值返回的数据类型与表达式相同可为--INTEGER/MONEY/REAL/FLOAT 类型SIGN(numeric_expression) --测试参数的正负号返回0 零值1 正数或-1 负数返回的数据类型--与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型PI() --返回值为π 即3.1415926535897936RAND([integer_expression]) --用任选的[integer_expression]做种子值得出0-1 间的随机浮点数----字符串函数----ASCII() --函数返回字符表达式最左端字符的ASCII 码值CHAR() --函数用于将ASCII 码转换为字符--如果没有输入0 ~ 255 之间的ASCII 码值CHAR 函数会返回一个NULL 值LOWER() --函数把字符串全部转换为小写UPPER() --函数把字符串全部转换为大写STR() --函数把数值型数据转换为字符型数据LTRIM() --函数把字符串头部的空格去掉RTRIM() --函数把字符串尾部的空格去掉LEFT(),RIGHT(),SUBSTRING() --函数返回部分字符串CHARINDEX(),PATINDEX() --函数返回字符串中某个指定的子串出现的开始位置SOUNDEX() --函数返回一个四位字符码--SOUNDEX函数可用来查找声音相似的字符串但SOUNDEX函数对数字和汉字均只返回0 值DIFFERENCE() --函数返回由SOUNDEX 函数返回的两个字符表达式的值的差异--0 两个SOUNDEX 函数返回值的第一个字符不同--1 两个SOUNDEX 函数返回值的第一个字符相同--2 两个SOUNDEX 函数返回值的第一二个字符相同--3 两个SOUNDEX 函数返回值的第一二三个字符相同--4 两个SOUNDEX 函数返回值完全相同QUOTENAME() --函数返回被特定字符括起来的字符串/*select quotename('abc', '{') quotename('abc')运行结果如下----------------------------------{{abc} [abc]*/REPLICATE() --函数返回一个重复character_expression 指定次数的字符串/*select replicate('abc', 3) replicate( 'abc', -2)运行结果如下----------- -----------abcabcabc NULL*/REVERSE() --函数将指定的字符串的字符排列顺序颠倒REPLACE() --函数返回被替换了指定子串的字符串/*select replace('abc123g', '123', 'def')运行结果如下----------- -----------abcdefg*/SPACE() --函数返回一个有指定长度的空白字符串STUFF() --函数用另一子串替换字符串指定位置长度的子串----数据类型转换函数----CAST() 函数语法如下CAST() (<expression> AS <data_ type>[ length ])CONVERT() 函数语法如下CONVERT() (<data_ type>[ length ], <expression> [, style])select cast(100+99 as char) convert(varchar(12), getdate())运行结果如下------------------------------ ------------199 Jan 15 2000----日期函数----DAY() --函数返回date_expression 中的日期值MONTH() --函数返回date_expression 中的月份值YEAR() --函数返回date_expression 中的年份值DATEADD(<datepart> ,<number> ,<date>)--函数返回指定日期date 加上指定的额外日期间隔number 产生的新日期DATEDIFF(<datepart> ,<number> ,<date>)--函数返回两个指定日期在datepart 方面的不同之处DATENAME(<datepart> , <date>) --函数以字符串的形式返回日期的指定部分DATEPART(<datepart> , <date>) --函数以整数值的形式返回日期的指定部分GETDATE() --函数以DATETIME 的缺省格式返回系统当前的日期和时间----系统函数----APP_NAME() --函数返回当前执行的应用程序的名称COALESCE() --函数返回众多表达式中第一个非NULL 表达式的值COL_LENGTH(<'table_name'>, <'column_name'>) --函数返回表中指定字段的长度值COL_NAME(<table_id>, <column_id>) --函数返回表中指定字段的名称即列名DATALENGTH() --函数返回数据表达式的数据的实际长度DB_ID(['database_name']) --函数返回数据库的编号DB_NAME(database_id) --函数返回数据库的名称HOST_ID() --函数返回服务器端计算机的名称HOST_NAME() --函数返回服务器端计算机的名称IDENTITY(<data_type>[, seed increment]) [AS column_name])--IDENTITY() 函数只在SELECT INTO 语句中使用用于插入一个identity column列到新表中/*select identity(int, 1, 1) as column_nameinto newtablefrom oldtable*/ISDATE() --函数判断所给定的表达式是否为合理日期ISNULL(<check_expression>, <replacement_value>) --函数将表达式中的NULL 值用指定值替换ISNUMERIC() --函数判断所给定的表达式是否为合理的数值NEWID() --函数返回一个UNIQUEIDENTIFIER 类型的数值NULLIF(<expression1>, <expression2>)--NULLIF 函数在expression1 与expression2 相等时返回NULL 值若不相等时则返回expression1 的值sql中的保留字action add aggregate allalter after and asasc avg avg_row_length auto_increment between bigint bit binaryblob bool both bycascade case char characterchange check checksum columncolumns comment constraint createcross current_date current_time current_timestamp data database databases datedatetime day day_hour day_minuteday_second dayofmonth dayofweek dayofyear dec decimal default delayeddelay_key_write delete desc describedistinct distinctrow double dropend else escape escapedenclosed enum explain existsfields file first floatfloat4 float8 flush foreignfrom for full functionglobal grant grants grouphaving heap high_priority hourhour_minute hour_second hosts identifiedignore in index infileinner insert insert_id intinteger interval int1 int2int3 int4 int8 intoif is isam joinkey keys kill last_insert_idleading left length likelines limit load locallock logs long longbloblongtext low_priority max max_rowsmatch mediumblob mediumtext mediumintmiddleint min_rows minute minute_secondmodify month monthname myisamnatural numeric no notnull on optimize optionoptionally or order outeroutfile pack_keys partial passwordprecision primary procedure processprocesslist privileges read realreferences reload regexp renamereplace restrict returns revokerlike row rows secondselect set show shutdownsmallint soname sql_big_tables sql_big_selectssql_low_priority_updates sql_log_off sql_log_update sql_select_limit sql_small_result sql_big_result sql_warnings straight_join starting status string tabletables temporary terminated textthen time timestamp tinyblobtinytext tinyint trailing totype use using uniqueunlock unsigned update usagevalues varchar variables varyingvarbinary with write whenwhere year year_month zerofill常用SQL命令和ASP编程在进行数据库操作时,无非就是添加、删除、修改,这得设计到一些常用的SQL语句,如下:SQL常用命令使用方法:(1) 数据记录筛选:sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"sql="select * from 数据表 where 字段名 like %字段值% order by 字段名 [desc]"sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]"sql="select * from 数据表 where 字段名 in (值1,值2,值3)"sql="select * from 数据表 where 字段名 between 值1 and 值2"(2) 更新数据记录:sql="update 数据表 set 字段名=字段值 where 条件表达式"sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"(3) 删除数据记录:sql="delete from 数据表 where 条件表达式"sql="delete from 数据表" (将数据表所有记录删除)(4) 添加数据记录:sql="insert into 数据表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …)"sql="insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表)(5) 数据记录统计函数:AVG(字段名) 得出一个表格栏平均值COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计MAX(字段名) 取得一个表格栏最大的值MIN(字段名) 取得一个表格栏最小的值SUM(字段名) 把数据栏的值相加引用以上函数的方法:sql="select sum(字段名) as 别名 from 数据表 where 条件表达式"set rs=conn.excute(sql)用 rs("别名") 获取统的计值,其它函数运用同上。

sql转换文字步骤

sql转换文字步骤

sql转换文字步骤SQL转换文字的具体步骤取决于你要进行什么样的转换,但是我可以给你一个常见的步骤来更改数据库的编码格式。

请注意,以下步骤是通用的,可能会根据具体的SQL数据库管理系统(如MySQL,SQL Server等)有所不同。

1. 首先,打开你的SQL编辑器或者客户端软件,例如MySQL Workbench 或phpMyAdmin。

2. 连接到数据库,选择你想要转换编码格式的数据库。

3. 在你的数据库上方找到一个选项叫做“SQL语言”或者“查询”。

4. 在查询编辑框中输入以下SQL语句来检查当前编码格式:SHOW VARIABLES LIKE 'character_set_database';5. 执行这个查询语句,查看当前的编码格式。

6. 如果你想要将编码格式改为文本格式,可以使用以下SQL语句:ALTER DATABASE `your_database_name` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'; 注意:将 `your_database_name` 替换为你的数据库名称,`utf8` 是目标编码格式,`utf8_general_ci` 是目标字符集。

7. 执行这个SQL语句来修改数据库的编码格式。

8. 现在,你的数据库的编码格式已经更改为文本格式。

可以通过执行第4步中的SQL语句再次检查编码格式来验证修改是否成功。

需要注意的是,上述步骤只改变了数据库的编码格式,需要确保数据库中的所有表和列也符合新的编码格式。

如果表和列的编码格式与新的数据库编码格式不一致,可能会导致乱码或其他问题。

因此,建议在更改数据库编码格式之前备份数据库以便于恢复。

mybatis sql 返回字段 小写

mybatis sql 返回字段 小写

mybatis sql 返回字段小写摘要:1.MyBatis 简介2.SQL 返回字段大小写问题3.解决方案a.使用MyBatis 提供的ResultMapb.自定义TypeHandlerc.使用数据库方言正文:MyBatis 是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。

在实际开发过程中,有时候我们需要对SQL 返回的字段进行大小写转换。

本文将介绍如何处理MyBatis SQL 返回字段的大小写问题。

### SQL 返回字段大小写问题当使用MyBatis 执行SQL 查询时,有时候我们需要对返回的字段进行大小写转换。

例如,数据库中的某个字段`name`,我们希望在查询结果中显示为`name`,而不是`NAME`。

这时候,我们就需要处理SQL 返回字段的大小写问题。

### 解决方案针对这个问题,我们有以下几种解决方案:#### 使用MyBatis 提供的ResultMapMyBatis 提供了ResultMap 接口,可以让我们自定义查询结果的映射。

我们可以通过创建一个ResultMap,将返回字段的大小写进行转换。

例如,假设我们有一个User 实体类,对应数据库中的user 表:```javapublic class User {private String name;private Integer age;// getter 和setter 方法}```我们可以创建一个ResultMap,将`name`字段映射为`name`:```xml<resultMap id="userResultMap" type="User"><result property="name" column="name" /><result property="age" column="age" /></resultMap>```在查询时,使用`resultMap`属性指定ResultMap:```xml<select id="selectUser" resultMap="userResultMap"> SELECT * FROM user</select>```这样,返回的结果中,`name`字段将保持为小写。

sql将集合转换成数字的方法

sql将集合转换成数字的方法

sql将集合转换成数字的方法在SQL中,将集合转换成数字可以通过多种方法实现,具体取决于所使用的数据库管理系统。

以下是一些常用的方法:1. 使用聚合函数:可以使用SUM()、COUNT()等聚合函数来将集合中的数值进行求和或计数,从而得到一个单一的数字作为结果。

例如,可以使用以下查询将集合中的数值进行求和:SELECT SUM(column_name) FROM table_name;2. 使用子查询:可以将集合作为子查询的一部分,并在外部查询中对其进行聚合操作,以得到一个单一的数字结果。

例如,可以使用以下查询将集合中的最大值作为结果:SELECT MAX(column_name) FROM (SELECT column_name FROM table_name) AS subquery;3. 使用窗口函数:一些数据库管理系统支持窗口函数,可以使用窗口函数对集合中的数据进行排序、排名等操作,并从中选择所需的数字。

例如,可以使用以下查询选择集合中的第二大值作为结果:SELECT column_name FROM (SELECT column_name,ROW_NUMBER() OVER (ORDER BY column_name DESC) AS rn FROM table_name) AS subquery WHERE rn = 2;4. 使用CASE表达式:可以使用CASE表达式根据集合中的值进行条件判断,并返回相应的数字作为结果。

例如,可以使用以下查询将集合中的值映射为对应的数字:SELECT.CASE.WHEN column_name = 'value1' THEN 1。

WHEN column_name = 'value2' THEN 2。

ELSE 0。

END AS numeric_value.FROM table_name;总之,以上是一些常用的方法,可以在SQL中将集合转换成数字。

sql upper函数

sql upper函数

sql upper函数
upper函数是SQL语言中的一个函数,它的功能是将字符串中的所有
小写字母转换为大写字母。

upper函数的语法是:
UPPER(text)。

其中text表示要转换的字符串,它可以是文本、字符、变量等。

upper函数的用法很简单,举个例子说明:
SELECT UPPER('This is a test.');。

结果为:
THISISATEST.
从上面的例子可以看出,upper函数能够将字符串中的所有小写字母
转换为大写字母。

此外,upper函数可以用在where子句中,用来忽略字
符串中的大小写,例如:
SELECT * FROM table WHERE UPPER(name) = 'TEST';。

这一句话将会查询出字段name中等于“test”或者“TEST”的记录。

总之,SQL中upper函数是一个非常有用的函数,帮助开发者很大程
度上提升了SQL查询效率。

sql set函数用法

sql set函数用法

SQL SET函数详解1. 引言在SQL中,SET函数是一组用于处理字符串的函数,它们通过对字符串进行操作和转换来满足特定的需求。

这些函数可以用于从字符串中提取特定的字符、替换字符串中的特定字符、将字符串转换为大写或小写等等。

SET函数在数据处理和数据分析中非常有用,可以帮助我们更好地处理和分析数据。

本篇文章将详细介绍SQL中的SET函数,包括函数的定义、用途和工作方式等。

我们将逐个介绍每个SET函数,并提供示例代码来说明其用法和效果。

2. SQL SET函数列表SQL中的SET函数包括以下几个常用的函数:1.LOWER:将字符串转换为小写。

2.UPPER:将字符串转换为大写。

3.SUBSTRING:从字符串中提取子串。

4.REPLACE:替换字符串中的特定字符。

5.LENGTH:返回字符串的长度。

6.TRIM:去除字符串两端的空格。

7.CONCAT:连接两个或多个字符串。

下面我们将逐个介绍这些函数的定义、用途和工作方式。

2.1 LOWER函数LOWER函数用于将字符串转换为小写。

它的语法如下:LOWER(string)其中,string是要转换的字符串。

示例代码如下:SELECT LOWER('HELLO WORLD');执行以上代码后,将返回字符串hello world。

2.2 UPPER函数UPPER函数用于将字符串转换为大写。

它的语法如下:UPPER(string)其中,string是要转换的字符串。

示例代码如下:SELECT UPPER('hello world');执行以上代码后,将返回字符串HELLO WORLD。

2.3 SUBSTRING函数SUBSTRING函数用于从字符串中提取子串。

它的语法如下:SUBSTRING(string, start, length)其中,string是要提取子串的字符串,start是子串的起始位置(从1开始),length是子串的长度。

delphi fdquery execute 方法

delphi fdquery execute 方法

Delphi是一种基于Object Pascal语言的集成开发环境,主要用于快速开发Windows评台下的应用程序。

而FDQuery是Delphi中操作数据库的组件之一,它可以执行SQL语句并返回查询结果。

在FDQuery中,execute方法是用来执行SQL语句的重要方法,本文将详细介绍FDQuery的execute方法的使用和注意事项。

一、execute方法的基本语法在Delphi中,使用FDQuery的execute方法可以执行一条SQL语句,其基本语法如下:1. FDQuery1.SQL.Clear; //清除之前的SQL语句2. FDQuery1.SQL.Add('select * from 表名 where 条件'); //添加新的SQL语句3. FDQuery1.Open; //执行SQL语句并返回查询结果在这个基本的语法结构中,FDQuery1代表了一个FDQuery组件的实例,SQL.Clear方法用于清除之前的SQL语句,SQL.Add方法用于添加新的SQL语句,Open方法用于执行SQL语句并返回查询结果。

二、execute方法的常见用法execute方法可以执行各种类型的SQL语句,包括查询语句、更新语句、删除语句和插入语句等。

下面将针对不同类型的SQL语句介绍execute方法的常见用法。

1. 查询语句的执行当需要执行一条查询语句时,可以使用如下的方式调用execute方法:FDQuery1.SQL.Clear;FDQuery1.SQL.Add('select * from 表名 where 条件');FDQuery1.Open;其中,‘select * from 表名 where 条件’是查询语句的具体内容,FDQuery1.Open方法会执行该查询语句并返回查询结果。

2. 更新语句的执行当需要执行一条更新语句时,可以使用如下的方式调用execute方法:FDQuery1.SQL.Clear;FDQuery1.SQL.Add('update 表名 set 字段=新值 where 条件'); FDQuery1.ExecSQL;其中,‘update 表名 set 字段=新值 where 条件’是更新语句的具体内容,FDQuery1.ExecSQL方法会执行该更新语句并返回更新记录的数量。

人大金仓区sql查询语句返回大写

人大金仓区sql查询语句返回大写

如果你想在SQL查询语句中返回大写,你可以使用数据库的内置函数来实现。

具体的方法取决于你使用的数据库管理系统。

以下是在一些常见的数据库管理系统中将查询结果转换为大写的示例: 1. MySQL:
```sql
SELECT UPPER(column_name) FROM table_name;
```
2. PostgreSQL:
```sql
SELECT UPPER(column_name) FROM table_name;
```
3. SQL Server:
```sql
SELECT UPPER(column_name) FROM table_name;
```
4. Oracle:
```sql
SELECT INITCAP(column_name) FROM table_name;
```
在上述示例中,你需要将`column_name`替换为你要返回大写的列名,`table_name`替换为你要查询的表名。

执行该查询语句后,将返回大写的结果。

请注意,不同的数据库管理系统可能有不同的函数来将文本转换为大写,因此你可能需要根据你所使用的数据库管理系统的文档来查找正确的函数。

Oraclesql语句执行顺序

Oraclesql语句执行顺序

Oraclesql语句执⾏顺序此⽂章转载于https:///flamechan/articles/4592875.html博主的⽂章⽂章如下:sql语法的分析是从右到左⼀、sql语句的执⾏步骤:1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义。

2)语义分析,检查语句中涉及的所有数据库对象是否存在,且⽤户有相应的权限。

3)视图转换,将涉及视图的查询语句转换为相应的对基表查询语句。

4)表达式转换,将复杂的 SQL 表达式转换为较简单的等效连接表达式。

5)选择优化器,不同的优化器⼀般产⽣不同的“执⾏计划”6)选择连接⽅式, ORACLE 有三种连接⽅式,对多表连接 ORACLE 可选择适当的连接⽅式。

7)选择连接顺序,对多表连接 ORACLE 选择哪⼀对表先连接,选择这两表中哪个表做为源数据表。

8)选择数据的搜索路径,根据以上条件选择合适的数据搜索路径,如是选⽤全表搜索还是利⽤索引或是其他的⽅式。

9)运⾏“执⾏计划”⼆、oracle 共享原理:ORACLE将执⾏过的SQL语句存放在内存的共享池(shared buffer pool)中,可以被所有的数据库⽤户共享。

当你执⾏⼀个SQL语句(有时被称为⼀个游标)时,如果它和之前的执⾏过的语句完全相同,ORACLE就能很快获得已经被解析的语句以及最好的执⾏路径.。

这个功能⼤⼤地提⾼了SQL的执⾏性能并节省了内存的使⽤。

三、oracle 语句提⾼查询效率的⽅法:1:where column in(select * from ... where ...);2:... where exists (select 'X' from ...where ...);第⼆种格式要远⽐第⼀种格式的效率⾼。

在Oracle中可以⼏乎将所有的IN操作符⼦查询改写为使⽤EXISTS的⼦查询。

使⽤EXIST,Oracle系统会⾸先检查主查询,然后运⾏⼦查询直到它找到第⼀个匹配项,这就节省了时间Oracle系统在执⾏IN⼦查询时,⾸先执⾏⼦查询,并将获得的结果列表存放在在⼀个加了索引的临时表中。

sql upper函数

sql upper函数

sql upper函数
SQL Upper函数是SQL(结构化查询语言)中的一种常用函数,用于将输入的字符串转换为全大写字母。

SQL Upper函数有助于提高字符串处理精度。

它能够将用户输入的字符串转换为大写字母,从而使用户能够使用大写字母进行字符串比较,确保不会受到任何拼写错误的影响。

SQL Upper函数的用法很简单,只需要在SQL语句中将要转换的字符串放在函数中,然后在函数中设置大写字母的格式即可,如:SELECT UPPER(name) FROM student,这句话的意思是选择student 表中的name字段,将其转换为大写字母。

SQL Upper函数也可以用于一些字符串处理操作,比如将用户输入的字符串转换为指定格式,或者将字母按照一定的比例进行缩放等。

SQL Upper函数在数据库处理中非常有用,它能够提高字符串处理的准确性,使用户能够更准确的进行字符串的比较,并且还可以用于字符串的缩放和格式转换等操作,大大提升了数据库处理的效率。

mybatis plus insert原理 -回复

mybatis plus insert原理 -回复

mybatis plus insert原理-回复MyBatis Plus是一款基于MyBatis的持久层框架,提供了许多便利的特性和增强的功能。

其中,insert操作是常用的数据库操作之一。

在本文中,我们将一步一步回答关于MyBatis Plus的insert原理。

首先,我们来了解一下MyBatis Plus的基本流程。

MyBatis Plus通过Mapper接口来定义数据的操作。

在使用insert操作时,需要在Mapper 接口中定义对应的方法,并使用注解来标记操作类型和SQL语句。

在执行insert操作时,MyBatis Plus会将SQL语句和参数进行解析和处理,最后将生成的SQL语句交给底层的JDBC驱动程序执行。

在MyBatis Plus中,insert操作的原理如下:1. 解析Mapper接口方法:当调用Mapper接口的insert方法时,MyBatis Plus会通过Java的反射机制解析方法的注解和参数,得到操作类型和SQL语句等信息。

2. 参数解析:MyBatis Plus会解析Mapper接口方法的参数,获取其中的实体对象或Map对象。

如果使用实体对象作为参数,MyBatis Plus会通过反射获取实体类的字段名和字段值,以便生成SQL语句。

3. SQL语句生成:根据操作类型和注解中的SQL语句模板,MyBatis Plus会根据参数解析的结果,生成最终的SQL语句。

在生成SQL语句时,MyBatis Plus会自动处理实体类和数据库表之间的映射关系,包括字段名的映射、主键自增等。

4. 参数绑定:MyBatis Plus会将解析参数得到的字段值绑定到SQL语句中的占位符上,以便执行数据库操作时使用。

参数绑定可以防止SQL注入等安全问题。

5. 执行SQL语句:MyBatis Plus会将生成的SQL语句交给底层的JDBC 驱动程序执行。

JDBC驱动程序会将SQL语句发送到数据库服务器执行,并将执行结果返回给MyBatis Plus。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
* @param dbType 数据库类型 1:oracle ,2:mysql ,3:sql2000
* @return 数据库连接
* @throws ng.Exception
*/
public Connection getHosSqlCon(String address,String port,String dbName,String userName,String passWord,int dbType) throws Exception {
con = DriverManager.getConnection(url, userName, passWord);
} catch (Exception ex) {
throw new Exception("无法获得数据库连接!");
for(int i=0;i<count;i++){
name[i]=rsmd.getColumnName(i+1);
}
while (rs.nexห้องสมุดไป่ตู้()) { //结果添加到List中
MaprsDbo = new HashMap();
/**
* 获取其他数据库连接
* @param address 数据库ip地址
* @param port 数据库端口号
* @param dbName 数据库名
* @param userName 用户名
* @param passWord 密码
}
return con;
}
/**
* 远程连接其他数据库执行sql语句,并将结果通过List返回。字段名统一大写
* wkj 2011-03-02
* @param sql 查询语句
* @param con 数据库连接对象JDBC
url="jdbc:microsoft:sqlserver://"+address+":"+port+";DatabaseName="+dbName;
break;
}
Class.forName(driver);
}
} catch (Exception ex) {
System.out.println("ex"+ex.getMessage());
throw new Exception(ex);
} finally { //关闭操作对象
Connection con = null;
String driver = "";
String url = "";
try{
switch(dbType){
case 1:
driver="oracle.jdbc.driver.OracleDriver";
ResultSetMetaData rsmd = rs.getMetaData();
int count=rsmd.getColumnCount();
String[] name=new String[count];//存sql语句结果列名
url="jdbc:mysql://"+address+":"+port+"/"+dbName;
break;
case 3:
driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
* @return
* @throws ng.Exception
*/
public ArrayList getHosSqlResult(String sql,Connection con) throws Exception {
ArrayList rsList = new ArrayList();
url="jdbc:oracle:thin:@"+address+":"+port+":"+dbName;
break;
case 2:
driver="org.gjt.mm.mysql.Driver";
for(int j=0;j<name.length;j++){
rsDbo.put(name[j].toUpperCase(), rs.getString(name[j]));
}
rsList.add(rsDbo);
PreparedStatement stmt = null;
ResultSet rs = null;
try {
stmt = con.prepareStatement(sql);
rs = stmt.executeQuery();//执行sql语句
rs.close();
stmt.close();
}
return rsList;
}
相关文档
最新文档