当前位置:首页 » 编程语言 » 如何用sql语句选择命名参数
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

如何用sql语句选择命名参数

发布时间: 2022-06-13 10:47:24

sql中在做查询时怎样给某一个字段重命名

sql 重命名专业术语是 别名,用 AS 语句实现。

例:给sc_table表中的age字段重命名为st_age,则:

selectageasst_age
fromsc_table

类似的还可以给表起别名

例如:查询sc_student表所有行并重命名为student,则:

select*
fromsc_studentasstudent

Ⅱ SQL查询中如何使用参数

这样就只能通过动态拼成SQL了。
begin
declare @sql varchar(max)
set @sql ='SELECT PERSON, POSITION
FROM TABLE_'+变量+'
WHERE TIME>1514156400'
exec (@sql)
end

Ⅲ 如何使PreparedStatement支持命名参数

所谓命名参数,使用.net的人应该比较熟,很方便,参数多的时候不容易出错,搞不懂java为什么就不支持。如果没有使用过,或者对于命名参数不知所云,请看下面的说明。
PreparedStatement中参数都是使用下标传值,如:

PreparedStatement p = con.prepareStatement("select * from people where

(first_name = ? or last_name = ?) and address = ?");

p.setString(1, name);

p.setString(2, name);

p.setString(3, address);
但是如果查询语句复杂,或者修改了sql,要跟踪每个参数的下标将变得非常麻烦并且容易出错,如果使用名称来命名参数就可以解决这个问题,如:

PreparedStatement p = con.prepareStatement("select * from people where

(first_name =:name or last_name =:name) and address =:address");

p.setString("name", name);

p.setString("address", address);
正文
最近认真学习了一下正则表达式,发现使用正则表达式可以很好的解决这个问题。
思路如下:
以命名参数的形式写好SQL语句,然后使用正则表达式提取出所有参数,使用Map记录,然后将参数替换成?(也就是java要求的标准形式),使用标准的SQL语句来创建PreparedStatement,最后根据Map来设置PreparedStatement的参数。
好了,废话少说。贴一下代码,我个人觉得实现的比较得比较简单、优雅。没有仔细测试,如发现问题,欢迎交流([email protected])。

import java.sql.PreparedStatement;

import java.util.HashMap;

import java.util.Map;

import java.util.Map.Entry;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

import org.apache.commons.logging.Log;

import org.apache.commons.logging.LogFactory;

/**

* 用来模拟实现命名参数功能

* <br/>

* 编码:wallimn时间:2009-1-8下午12:11:34<br/>

* 版本:V1.0<br/>

*/

public class NamedParamSqlUtil {

static final Log log = LogFactory.getLog(NamedParamSqlUtil.class);

private Map<Integer,String> paramsMap=new HashMap<Integer,String>();

public Map<Integer,String> getParamsMap(){

return paramsMap;

}

public void emptyMap(){

paramsMap.clear();

}

/**

Ⅳ sql语句加参数

你需要了解sql语句的拼接和一般字符串的拼接的异同.
例如:在sql脚本语句中,字符串用单引号'',这些在C#语句中拼接"sql语句"字符串时需要注意.
你可以在vs.net中写一个用字符串拼接的sql语句,最后把它赋值给一个字符串对象.然后用断点调试区查看生成的sql语句的结果,一般sql语句较长,验证的方式都是把这段sql语句到sql sever的脚本文件(.sql)中去执行一下,就知道是否正确了.当然也有先在sql server 中调试好拼接字符串后再到程序代码中去修改的.具体方式不定.
(以上是介绍的拼接sql语句方法,不过这种方式的安全性不高,常见的sql注入式攻击就是利用的拼接sql语句的缺陷.)
你还可以考虑使用带参数的存储过程来实现,这个就需要了解存储过程的一些知识了,具体的方法我就不介绍了,关于带参数的存储过程,网上有很多例子参考.

Ⅳ sql数据库如何重命名

1、首先需要从开始菜单中找到【SQL Server 配置管理器】。

Ⅵ SQL语句:表重命名

sql语句重命名表名和列名
ylb:sql语句重命名表名和列名返回顶部
一、更改数据库名
sp_renamedb 更改数据库的名称。
语法: sp_renamedb [ @dbname = ] ' old_name ' , [ @newname = ] ' new_name '
参数: [ @dbname = ] ' old_name ' 是数据库的当前名称。old_name 为 sysname 类型,无默认值。
[ @newname = ] ' new_name ' 是数据库的新名称。 new_name 必须遵循标识符规则。new_name 为 sysname 类型,无默认值。
返回代码值: 0 (成功)或非零数字(失败)
权限: 只有 sysadmin 和 dbcreator 固定服务器角色的成员才能执行 sp_renamedb。
示例: 下例将数据库 accounting 改名为 financial。
EXEC sp_renamedb ' accounting ' , ' financial '
二、更改表名或列名
sp_rename [ @objname = ] ' object_name ' ,
[ @newname = ] ' new_name '
[ , [ @objtype = ] ' object_type ' ]
A. 重命名表:
下例将表 customers 重命名为 custs。
EXEC sp_rename ' customers ' , ' custs '

B. 重命名列:
下例将表 customers 中的列 contact title 重命名为 title。
EXEC sp_rename ' customers.[contact title] ' , ' title ' , ' COLUMN '

Ⅶ SQL创建储存过程的参数命名

就是一个特定的用法,就像加减乘除一样。

Ⅷ Oracle 动态SQL中如何参数化表名

表名可用变量,但一般需要用到动态sql,举例如下:
declare
v_date varchar2(8);--定义日期变量
v_sql varchar2(2000);--定义动态sql
v_tablename varchar2(20);--定义动态表名
begin
select to_char(sysdate,'yyyymmdd') into v_date from al;--取日期变量
v_tablename := 'T_'||v_date;--为动态表命名
v_sql := 'create table '||v_tablename||'
(id int,
name varchar2(20))';--为动态sql赋值
dbms_output.put_line(v_sql);--打印sql语句
execute immediate v_sql;--执行动态sql
end;
执行以后,就会生成以日期命名的表。

Ⅸ sql语句如何重命名表名和列名

一、更改数据库名

sp_renamedb 更改数据库的名称。

语法: sp_renamedb [ @dbname = ] ' old_name ' , [ @newname = ] ' new_name '
参数: [ @dbname = ] ' old_name ' 是数据库的当前名称。old_name 为 sysname 类型,无默认值。
[ @newname = ] ' new_name ' 是数据库的新名称。 new_name 必须遵循标识符规则。new_name 为 sysname 类型,无默认值。
返回代码值: 0 (成功)或非零数字(失败)
权限: 只有 sysadmin 和 dbcreator 固定服务器角色的成员才能执行 sp_renamedb。

示例: 下例将数据库 accounting 改名为 financial。
EXEC sp_renamedb ' accounting ' , ' financial '

二、更改表名或列名

sp_rename [ @objname = ] ' object_name ' ,
[ @newname = ] ' new_name '
[ , [ @objtype = ] ' object_type ' ]

A. 重命名表:
下例将表 customers 重命名为 custs。
EXEC sp_rename ' customers ' , ' custs '

B. 重命名列:
下例将表 customers 中的列 contact title 重命名为 title。
EXEC sp_rename ' customers.[contact title] ' , ' title ' , ' COLUMN '