问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

数据库中常用的sql语句有哪些

发布网友 发布时间:2022-04-22 16:04

我来回答

3个回答

懂视网 时间:2022-04-29 22:56

begin

if 2*@A+4*(35-@A)=96

begin

print ‘鸡的数量‘+cast(@A as char(5))

print ‘兔的数量‘+cast(35-@A as char(5))

end

set @A=@A+1

end

--游标的原理:是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。



--====================数据库开发经典


--(1)按姓氏笔画排序:

Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as //从少到多


---(2)数据库加密

select encrypt(‘原始密码‘)

select pwdencrypt(‘原始密码‘)

select pwdcompare(‘原始密码‘,‘加密后密码‘) = 1--相同;否则不相同 encrypt(‘原始密码‘)

select pwdencrypt(‘原始密码‘)

select pwdcompare(‘原始密码‘,‘加密后密码‘) = 1--相同;否则不相同


--(3)生成本地表

select * into 表 from openrowset( ‘SQLOLEDB ‘, ‘sql服务器名 ‘; ‘用户名 ‘; ‘密码 ‘,数据库名.dbo.表名)


 

--(4)把本地表导入远程表

insert openrowset( ‘SQLOLEDB ‘, ‘sql服务器名 ‘; ‘用户名 ‘; ‘密码 ‘,数据库名.dbo.表名)



                                      经 典 sql 


(1)创建一张带动态时间的表


--效果: DATA_aa2013-5-14

--用到技术:存储过程,系统函数


IF EXISTS(SELECT * FROM sys.objects where name = ‘DATA_aa‘ and type = ‘P‘)

DROP PROCEDURE [dbo].[SelectT_PolicyCommon]

GO

-- 使用说明:EXEC [dbo].[DATA_aa]

CREATE PROC [dbo].[DATA_aa]


AS

BEGIN


--创建数据库:AA

--use AA


declare @tablename nvarchar(100) set  @tablename=‘表名‘ +convert(char(8),getdate(),112)  --动态生成一张带当前时间的表

if exists(select * from sysobjects where name=@tablename)  --如果这张表存在就bengin 删除

begin

declare @dropTable nvarchar(1000) set @dropTable =‘drop table ‘+@tablename

execute sp_executesql @dropTable

end  ---否则就添加这张动态表 (id 为主键要加:primary key )

declare @createTable nvarchar(1000) set @createTable =‘create table ‘+@tablename+‘( int AA .....全是这张表的字段 )‘ 

execute sp_executesql @createTable

END

GO





(2)将相同的列,数据用逗号分开合并成一列

---用到技术:函数法


----原本的表

--it                   it1

--it                   it2

--it                   it3

--it2                  aa

--it2                  aac


---应该要得到的表

--it            it1,it2,it3

--it2           aa, aac


-----------------------函数法

select * from sysobjects where name=‘fun‘

--删除 fun 表

drop function fun


--新建表 fun

Create function [dbo].[fun](@type nvarchar(10),@Cabin_Name nvarchar(10))

returns nvarchar(200)

as

begin


declare @re nvarchar(200)

declare @code nvarchar(200)

set @re=‘‘

set @code=‘‘

select @re=@re+Id+‘,‘  from S_Cabin where Comp_ID=@type and Cabin_Name=@Cabin_Name group by Id

select @re=left(@re, len(@re)-1)

--返回@re

return @re

end


--查询fun 表

select Comp_ID,dbo.fun(Comp_ID,Cabin_Name),Cabin_Name from (select  Comp_ID,Cabin_Name from S_Cabin group by Comp_ID,Cabin_Name) A



--查询表S_Cabin的结果

select Cabin_Name from S_Cabin




(3)快速删除一张表sql

      truncate table 要删除的表名









本文出自 “金典sql” 博客,转载请与作者联系!

常用SQL

标签:sql

热心网友 时间:2022-04-29 20:04

1.检索数据
SELECT prod_nameFROM Procts;
#检索单列

SELECT prod_id, prod_name, prod_priceFROMProcts;
#检索多列

SELECT * FROM Procts;
#检索所有列

SELECT DISTINCTvend_id FROMProcts;
#检索不同的值

SELECTprod_name FROM Procts LIMIT 5;
#返回不超过5行数据

SELECTprod_name FROM Procts LIMIT 5 OFFSET 5;
#返回从第5行起的5行数据。LIMIT指定返回的行数,LIMIT带的OFFSET指定从哪儿开始。
2.排序检索数据
SELECTprod_name
FROMProcts
ORDER BYprod_name;
#排序数据

SELECT prod_id, prod_price, prod_name
FROMProcts
ORDER BY prod_price, prod_name;
#按多个列排序

SELECT prod_id, prod_price, prod_name
FROMProcts
ORDER BY 2, 3;
#按列位置排序,第三行表示先按prod_price, 再按prod_name进行排序

SELECT prod_id, prod_price, prod_name
FROMProcts
ORDER BY prod_priceDESC, prod_name;
#prod_price列以降序排序,而prod_name列(在每个价格内)仍然按标准的升序排序

3.过滤数据
SELECT prod_name, prod_price
FROMProcts
WHERE prod_price< 10;
#检查单个值

SELECT prod_name, prod_price
FROMProcts
WHERE vend_id <> ‘DLL01’;
#不匹配检查

SELECT prod_name, prod_price
FROMProcts
WHERE prod_priceBETWEEN 5 AND 10;
#范围值检查

SELECT cust_name
FROMCUSTOMERS
WHERE cust_emailIS NULL;
#空值检查

4.高级数据过滤
SELECTprod_id, prod_price, prod_name
FROMProcts
WHERE vend_id = ‘DLL01’ANDprod_price <= 4;
#AND操作符

SELECTprod_name, prod_price
FROMProcts
WHEREvend_id=’DLL01’ OR vend_id=’BRS01’;
#OR操作符

SELECTprod_name, prod_price
FROMProcts
WHERE (vend_id = ’DLL01’ORvend_id=’BRS01’)
ANDprod_price >= 10;
#求值顺序 AND的优先级高于OR

SELECTprod_name, prod_price
FROMProcts
WHERE vend_idIN (‘DLL01’,’BRS01’)
ORDER BY prod_name;
#IN操作符

SELECT prod_name
FROMProcts
WHERE NOTvend_id = ‘DLL01’
ORDER BY prod_name;
#NOT 操作符

SELECT prod_name
FROMProcts
WHEREvend_id <> ‘DLL01’
ORDER BY prod_name;
#NOT 操作符

热心网友 时间:2022-04-29 21:22

select
into
from语句
要求目标表table_4不存在,因为在插入时会自动创建表table_4,并将table_3中指定字段数据复制到table_4中。
可以考虑使用如下语句:
insert
into
dbo.table_4
(sname,
semail)
(select
sname,
semail
from
table_3);
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
厂口银杏园地址在哪里? 昆明银杏大道在什么地方 昆明哪些地方有银杏树 从二月河“帝王三部曲”看90年代的文学场(一) 二月河《落霞三部曲》读书札记 安装织梦CMS到新浪SAE,这数据库主机,用户都是什么?这个是安装在新浪SE... SAE上的mySql初始化了怎么用啊,java怎么连上去啊,地址,端口号,账号... 金鱼尾部出现血丝,怎么办? 金鱼尾鳍上有血丝,急躁不安是什么病 请问?家里养的金鱼,一夜过来,金鱼尾巴上面都有红色血丝是怎么回事... 关于好又多超市购物卡的问题 早上起来耳朵根后面疼 佛山好又多超市在哪里 新市好又多超市的东西真不真啊? 耳朵根后面痛肿大,是什么原因啊 好又多被沃尔玛收购? 好又多连锁超市 “好又多”超市不开发票,我该怎么办? 好又多究竟是哪个国家的 好又多购物怎么样? 好又多超市跟沃尔玛的关系是什么样子? 好又多的介绍 好又多方便面,你知道在那里可以买到吗? 好又多购物券怎么用? 好又多购物广场有限公司怎么样? 拼多多上面的东西便宜是真的吗? 好又多官方网站 好又多购物怎么样 好又多网络购物问题请教 WIN7系统怎么组建无线局域网(要具体过程) 求好又多超市更多相关介绍 关于耳后根疼痛与什么有关的问题 好又多连锁超市有限公司的历史沿革 耳后疼痛是什么原因? SQL数据库语句 数据库SQL语言 耳后根疼痛,导致头皮都也跟着痛,是什么原因 感冒时耳朵根后面会有阵阵疼痛是为什么? 耳后根神经痛是怎么回事? 数据库语言SQL是一种什么语言? 耳后根疼痛是什么原因 sql数据库语言 什么是SQL 还有什么SQL语言 数据库的是什么? 关于SQL数据库语言的问题 SQL语句怎么写 电脑线稿如何去白色背景 Photoshop:怎么保留线条,擦掉白色背景? 在photoshop中线稿和背景色怎么样分离? ps怎么能把素描线稿变成白色 ps怎么提取线稿并更改线稿颜色