0

0

SqlServer数据库的语句及一些操作整理

php中文网

php中文网

发布时间:2016-06-07 15:40:25

|

1429人浏览过

|

来源于php中文网

原创

临近年终,在工作之余对工作和学习中遇到的问题以及常用的一些知识点做了些整理,以备后用。本文涉及的内容为数据库,算是对开发总结(1)---数据库一文的补充。 1 对于主键设置了Identity的表,在删除表中数据后再往表中插入数据,Identity列不是从1起始了,如

临近年终,在工作之余对工作和学习中遇到的问题以及常用的一些知识点做了些整理,以备后用。本文涉及的内容为数据库,算是对开发总结(1)---数据库一文的补充。

1 对于主键设置了Identity的表,在删除表中数据后再往表中插入数据,Identity列不是从1起始了,如果想删除数据后Indentity列仍从1起始,可以用下面代码来删除数据。

truncate table tablename
DBCC CHECKIDENT(tablename,RESEED,1)

2 判断指定表在数据库中是否存在

if exists(select name from sysobjects where name='tablename' and type='u')

3 判断指定列在指定表中是否存在

if exists(select * from sys.columns,sys.tables 
      where sys.columns.object_id = sys.tables.object_id
      and sys.tables.name='tablename' and sys.columns.[name]='columnname')

4 在编写代码生成器之类的程序的时候,通常需要取出数据库中所有的表名以及表中字段的一些基本信息,如字段长度、字段类型、描述等。实现上面要求的sql语句如下:

--取数据库中表的集合
select * from sysobjects where xtype='u' order by name

--取表中字段的一些基本信息
select 
    sys.columns.name,  --字段名
    sys.types.name as typename, --字段类型
    sys.columns.max_length,    --字段长度
    sys.columns.is_nullable,    --是否可空
    (select 
        count(*) 
    from 
        sys.identity_columns 
    where 
        sys.identity_columns.object_id = sys.columns.object_id 
    and 
        sys.columns.column_id = sys.identity_columns.column_id
    ) as is_identity ,--是否自增

    (select 
        value 
    from 
        sys.extended_properties 
    where 
        sys.extended_properties.major_id = sys.columns.object_id 
    and 
        sys.extended_properties.minor_id = sys.columns.column_id
    ) as description  --注释
from 
    sys.columns, sys.tables, sys.types
where 
    sys.columns.object_id = sys.tables.object_id 
and 
    sys.columns.system_type_id=sys.types.system_type_id 
and 
    sys.tables.name='tablename'
order by sys.columns.column_id

5 在存储过程中使用事务

create procedure procname
as
begin tran  
    --执行sql语句

if @@ERROR!=0  
begin  
    rollback tran   --失败
end  
else  
begin  
    commit tran   --成功
end  

6 清除数据库日志

DUMP TRANSACTION DatabseName WITH NO_LOG
BACKUP LOG DatabseName WITH NO_LOG 
DBCC  SHRINKFILE(DatabseLogName,1) 
--DatabseName为数据库名称
--DatabseLogName为日志文件名,可以通过下面语句得到
--select name from sysfiles 

还有一种比较简单的方法是分离数据库,删除日志文件,再附加数据库,这样产生的日志文件只有500多k。

95Shop仿醉品商城
95Shop仿醉品商城

95Shop可以免费下载使用,是一款仿醉品商城网店系统,内置SEO优化,具有模块丰富、管理简洁直观,操作易用等特点,系统功能完整,运行速度较快,采用ASP.NET(C#)技术开发,配合SQL Serve2000数据库存储数据,运行环境为微软ASP.NET 2.0。95Shop官方网站定期开发新功能和维护升级。可以放心使用! 安装运行方法 1、下载软件压缩包; 2、将下载的软件压缩包解压缩,得到we

下载

下面介绍几个常用的系统存储过程和函数

7 db_name()  得到数据库名称

select db_name()    
Test
(1 行受影响)

8 object_id 可以得到对象在系统中的编号,对象包括表、视图、存储过程等。如果不存在返回null,所以也可以用来判断表是否存在。

select object_id('objectname')
--判断表是否存在
if  object_id('tablename') is not null

9 sp_helptext 用来得到视图、存储过程等对象的文本,可以很快速找到,不过会改变视图或存储过程的格式。所以这个系统存储过程我通常都是用来查看,如果要修改一个存储过程我还是会通过树形菜单去找到存储过程然后修改保存。

sp_helptext 'objectname'

10 parsename,可以得到对象名称的指定部分,该函数有两个参数,第一个为对象名称,第二个为指定部分的代号。

select parsename('oec2003.databasename.dbo.tablename',1)    
--对象名称返回tablename
select parsename('oec2003.databasename.dbo.tablename',2)    
--Schema名称返回dbo
select parsename('oec2003.databasename.dbo.tablename',3)    
--数据库名称返回databasename
select parsename('oec2003.databasename.dbo.tablename',4)    
--服务器名称返回oec200

先就写这么多吧,后面整理出来的会陆续补上。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
go语言 注释编码
go语言 注释编码

本专题整合了go语言注释、注释规范等等内容,阅读专题下面的文章了解更多详细内容。

2

2026.01.31

go语言 math包
go语言 math包

本专题整合了go语言math包相关内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

go语言输入函数
go语言输入函数

本专题整合了go语言输入相关教程内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

golang 循环遍历
golang 循环遍历

本专题整合了golang循环遍历相关教程,阅读专题下面的文章了解更多详细内容。

0

2026.01.31

Golang人工智能合集
Golang人工智能合集

本专题整合了Golang人工智能相关内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

76

2026.01.31

高干文在线阅读网站大全
高干文在线阅读网站大全

汇集热门1v1高干文免费阅读资源,涵盖都市言情、京味大院、军旅高干等经典题材,情节紧凑、人物鲜明。阅读专题下面的文章了解更多详细内容。

73

2026.01.31

无需付费的漫画app大全
无需付费的漫画app大全

想找真正免费又无套路的漫画App?本合集精选多款永久免费、资源丰富、无广告干扰的优质漫画应用,涵盖国漫、日漫、韩漫及经典老番,满足各类阅读需求。阅读专题下面的文章了解更多详细内容。

67

2026.01.31

漫画免费在线观看地址大全
漫画免费在线观看地址大全

想找免费又资源丰富的漫画网站?本合集精选2025-2026年热门平台,涵盖国漫、日漫、韩漫等多类型作品,支持高清流畅阅读与离线缓存。阅读专题下面的文章了解更多详细内容。

19

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 8.2万人学习

Django 教程
Django 教程

共28课时 | 3.7万人学习

Excel 教程
Excel 教程

共162课时 | 14.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号