Sqlserver常用sql语句
来源:互联网 发布:天正软件教学 编辑:程序博客网 时间:2024/05/03 21:36
1.Sqlserve的系统数据库是sys,其中一个很重要的表为sysobjects表(系统对象表),具体可以百度
2.通过sysobjects表我们可以获取某个数据库所有表名称:SELECT name FROM sys.sysobjects Where XType='U'
3.查找某个数据库非空数据表方法:
--这个根据存储区来判断 select B.name from sys.partitions A inner join sys.objects Bon A.object_id=B.object_id where B.type='U' and A.rows>0 --这个根据索引表来判断 select B.name from sysindexes A inner join sys.objects Bon A.id=B.object_id where B.type='U' And A.rows >0
4.查找某个字符串在哪张表的方法
use hswinrun2declare @str varchar(100) set @str='缺省利率组别' --要搜索的字符串 declare @s varchar(8000) declare tb cursor local for select s='if exists(select 1 from ['+b.name+'] where ['+a.name+'] like ''%'+@str+'%'') print ''所在的表及字段: ['+b.name+'].['+a.name+']''' from syscolumns a join sysobjects b on a.id=b.id where b.xtype='U' and a.status>=0 and a.xusertype in(175,239,231,167) open tb fetch next from tb into @s while @@fetch_status=0 begin exec(@s) fetch next from tb into @s end close tb deallocate tb
5.内连接、外连接、交叉连接
sql连接方式有:(inner)join(内连接)、left join(左连接)、right join( 右连接)、full join(全连接)、cross join(交叉连接)
其中left join(左连接)、right join( 右连接)、full join(全连接)属于外连接
inner join:列出双方共有的部分
left join:左边为主表全部显示,右边相等部分列出,不等部分用null表示
right join:右边为主表全部显示,左边相等部分列出,不等部分用null表示
full join:显示连个表的全部信息,不等的部分均用null表示
cross join:两个表的笛卡尔积
6.帮助语句
1.查看表结构 sp_help
2.查看生成视图的sql语句 sp_helptext
7sqlserver 中sql变量赋值有两种方法:set 和select
1.set 返回空值,则变量被赋null
2.select 返回空值,则变量保持原值
3.select 返回多值,保存最后一个
4.set 不可用于返回多值
8查询某个字段在那张表
use db_nameselect [name] from sysobjects where [id] in (select [id] from syscolumns where [name]='col_name')
其中 db_name 是待查的数据库名称,col_name 是待查列名
9.查询某表 某列 的长度
if exists(select * from sysobjects where name = 'sp_helpcol') drop procedure sp_helpcolgocreate procedure sp_helpcol @table_name varchar(255), @col_name varchar(255)as select @table_name =ISNULL(@table_name,''), @col_name =ISNULL(@col_name,'') select name,[length] from syscolumns where id=object_id(@table_name) and name=@col_name
使用方式如下:sp_helpcol 'loanrival','vc_rival_roles'
7.增加列后,可能存在约束这样 直接在sqlserver上删除约束或者列会不奏效,那么可以用sql语句删除 如
use hswinrun2declare @vc_table_name varchar(255), @vc_col_name varchar(255), @constrant varchar(255), @vc_sql varchar(8000)select @vc_table_name='intrustplanbasicinfo', @vc_col_name='vc_main_stock_no', @constrant='', @vc_sql='' select @constrant=c.name from sysconstraints a inner join syscolumns b on a.colid=b.colid inner join sysobjects c on a.constid=c.id where a.id=object_id(@vc_table_name) and b.name=@vc_col_nameset @vc_sql='alter table hswinrun2..'+@vc_table_name+' drop constraint '+@constrant exec(@vc_sql) -- 删除约束set @vc_sql='alter table hswinrun2..'+@vc_table_name+' drop column '+@vc_col_nameexec(@vc_sql) -- 删除字段go
5. 查找数据库实例包含的所有数据库(原因 排查死锁时 经常给的是数据库id 所以要查一下)
select * from master..sysdatabases
0 0
- Sqlserver常用sql语句
- SQLServer管理常用SQL语句
- SQLServer管理常用SQL语句
- ms sqlserver常用sql语句
- sqlserver常用sql语句汇总
- 常用sql语句记录--sqlserver
- 常用sql语句(sqlserver)
- SQLServer数据库管理的常用SQL语句
- sqlserver常用系统表及sql语句
- sqlserver面试中常用的sql语句
- ms sqlserver 常用T-sql语句与函数
- 常用的sqlServer字段相关的sql语句
- SqlServer和Oracle中一些常用的sql语句1
- SqlServer和Oracle中一些常用的sql语句2
- sqlserver常用语句-维护
- sqlserver常用语句
- SQLSERVER常用语句
- sqlserver常用的语句
- 主题模型-LDA小结
- weka中算法说明
- linux bash shell 简单记录
- C++
- 求二叉树中节点的最长距离
- Sqlserver常用sql语句
- 切换Eclipse中的svn用户
- .net处理JSON简明教程
- 【整理】字符串串串
- 有规范的代码和没有规范的代码对比
- SAP ABAP 的常用debug方式
- wordpress 主题(3) navigation 侧边栏
- MP算法和OMP算法及其思想
- 静态局部变量