一个sql文件里能不能放多个select,update等语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个sql文件里能不能放多个select,update等语句相关的知识,希望对你有一定的参考价值。

试了一下,多个sql文件可以,单个就不行
形如这样的
alter table ...
update ...
select ...
就不行

可以的。每个语句必须是完整的sql语句,并且update insert 和delete 的语句后一定要有 commit;

比如:
select * from table_name ;

update table_name
set name = 'a'
where id = 1 ;
commit ;

insert into table_name(id,name)
values(2,'b');
commit ;

alter table table_name
add age number(5) ;

delete table_name
where id = 1 ;
commit;

这些语句都可以在一个.sql文件中
参考技术A

    答案肯定是可以的

    不管你放多少条都行,每条语句之间用分号隔开就行

    不知道你为什么要放select语句,这个只是查询,如果你混合放这些查询和更新,那么你也是看不到查询的结果

    一般批量执行的sql存放的都是update语句

参考技术B 完全可以,而且可以一起执行,如果是sql server数据库 多条语句可以直接执行,如果是oracle数据库,语句间用;间隔开就可以一起执行

如果在代码中,可以直接将你的多条sql语句安装上面说的复制给你的strSql变量;
如果是在客户端查询工具中,如sql server 的查询分析器,或者oracle的第三方工具plsql中,可以用鼠标选中要执行的语句实现单挑语句执行
参考技术C 可以 没规定只能放一个 想放多少放多少号了 到时候执行的时候选择一下就行 参考技术D 完全可以,每行后得要个";"号结束.

SQL之检索数据(select语句)

1.keywords(关键字)

关键字不能用作表或者列的名字。

2.1检索单个列

select prod_name
from Products; 

上述语句从Products表中检索一个名为prod_name的列。Select关键字后面是列名,from关键字后面是表名。

多条SQL语句必须用分号(;)间隔,单条SQL最好后面也加上分号。

SQL语句是不区分大小写的。所有的空格都是被忽略的。

2.2检索多个列

select prod_id,prod_name,prod_price
from Products; 

多个列时,列名之间加上逗号。但是最后一个列不加。

2.3 检索所有列

select *
from Products; 

*号代表所有项,但是最好不要使用,一般会造成性能问题。

2.4 检索不同值

select DISTINCT vent_id
from Products; 

DISTINCT只返回不同的具有唯一性的vent_id行。

注意:不能部分使用DISTINCT,这个关键字会作用于所有的列,不仅仅是跟在后面的那一列。

3 限制结果

在SQL Server和Access中

select TOP 5 prod_name
from Products; 

使用TOP关键字来限制最多返回多少行。

如果使用MySQL,MariaDB或者SQLite,则使用LIMIT关键字。

select prod_name
from Products
limit 5; 

如果想指定从第几行开始。

select prod_name
from Products
limit 5 offset 5; 

这代表从第5行起的5行数据。

注意:第一个被检索的是第0行,而不是第1行。所以Limit 1 offset 1 会检索第2行,而不是第1行。

以上是关于一个sql文件里能不能放多个select,update等语句的主要内容,如果未能解决你的问题,请参考以下文章

redis里能不能针对set数据的每个member设置过期时间

sql server profiler 的使用

Linux的配置文件为啥放在/etc?

真奇怪了,结构体里不能带结构体吗?

MyBatis的Mapper.xml怎么同时执行多个sql语句

MyBatis的Mapper.xml怎么同时执行多个sql语句