常用SQL语句
1、用什么的SQL语句来查的一个表中有相同的记录条数
select 相同条件的字段,count(*) from 表
group by 相同条件的字段
having count(*) >1
2、请问怎么查看数据库服务器IP地址
--得到服务器的IP地址
create table #ip(id int identity(1,1),re varchar(200))
declare @s varchar(1000)
set @s='ping '+left(@@servername,charindex('\',@@servername+'\')-1)+' -a -n 1 -l 1'
insert #ip(re) exec master..xp_cmdshell @s
select 服务器名=@@servername,IP地址=stuff(left(re,charindex(']',re)-1),1,charindex('[',re),')
from #ip
where id=2
drop table #ip
3、日期字段怎么只保存年月日,而不要时间?
CONVERT (varchar(10), Date, 112))
4、如何删除一个数据库?
if exists (select * from sysdatabases where name = 'dba')
drop database dba
GO
5、如何用SQL语句创建一个自动编号的字段?
create table mytable(
id int identity(1,1)
)
6、没有这样的sql语句,可以取从第x条到第y条的数据集?
查询第X页,每页Y条记录
最基本的处理方法(原理):
如果表中有主键(记录不重复的字段也可以),可以用类似下面的方法,当然y,(x-1)*y要换成具体的数字,不能用变量:
select top y * from 表 where 主键 not in(select top (x-1)*y 主键 from 表)
如果表中无主键,可以用临时表,加标识字段解决.这里的x,y可以用变量.
select id=identity(int,1,1),* into #tb from 表
select * from #tb where id between (x-1)*y and x*y-1
7、SQLServer中 如何取出一个表的所有列名?
方法如下:先从SYSTEMOBJECT系统表中取得数据表的SYSTEMID,然后再SYSCOLUMN表中取得该数据表的所有列名。
SQL语句如下:
declare @objid int,@objname char(40)
set @objname = 'tablename'
select @objid = id from sysobjects where id = object_id(@objname)
select 'Column_name' = name from syscolumns where id = @objid order by colid
8、用什么查询语句或函数可以知道是否存在一个数据库
if db_id(N'要检查的库名') is null
print '数据库不存在'
else
print '数据库存在'
9、删除一个数据表
if exists(select * from sysobjects where name='要删除的表名' and xtype='u')
Drop table 表名
go
10、SQL语句 两种求和
第一个:一行记录中 如何求 字段1 字段2 字段3 字段N 的和?
select column1+column2+......+column3 as 'totalnum' From Tablename
第二个:一列记录中 如何求 本字段所有记录 的和?
Select sum(字段名) From TableName
字段属性是数字(数值型、货币型都可)的时候才可以实现,如果有NULL值则被忽略。