SQL server 自增ID--序号自动增加的字段操作
1、SQL server中创建表,带有自增列。
create table Test_Table(Id int Identity(1,1), Name varchar(20));
这里用到了IDENTITY 关键字。IDENTITY(a,b),a b均为正整数,a表示开始数,b表示步长。
IDENTITY(1,1)就代表从1开始,每次增加1。
现在插入两条数据:
insert into Test_Table(Name) values ('Mr.Tom');
insert into Test_Table(Name) values ('Mr.Jackson');
查询结果:
补充知识:SQL SERVER——给已有数据的表增加自增字段。
问题描述:我有一个已存在数据的表,现在需要增加一个ID列,并设置为自增长。
我添加ID列之后,需要从1开始递增把已有的数据行的ID字段填充,才可以设置为自增长的主键。
不说了,上SQL语句块
DECLARE @i int SET @i=0 UPDATE table1 SET @i=@i+1,ID=@i
当然,用游标也是可以的,那就有些大材小用了。
以上这篇SQL server 自增ID--序号自动增加的字段操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
SqlServer生成连续数字根据指定的数字操作
需求是使用sqlserver根据指定的数字和表生成一串连续的数字,类似于oracle中ROWNUM的功能,具体实现如下: 一.Oracle使用ROWNUM实现方式 SELECT ROWNUM number_list FROM 表名 WHERE ROWNUM <= 10; 二.SqlServer实现上述功能的三种方式 1.使用MASTER-spt_values方式 SELECT number FROM MASTER..spt_values WHERE TYPE = 'P' AND number >
-
SQL Server如何通过创建临时表遍历更新数据详解
前言: 前段时间新项目上线为了赶进度很多模块的功能都没有经过详细的测试导致了生成环境中的数据和实际数据对不上,因此需要自己手写一个数据库脚本来更新下之前的数据.(线上数据库用是SQL Server2012)关于数据统计汇总的问题肯定会用到遍历统计汇总,那么问题来了数据库中如何遍历呢?好像并没有for和foreach这种类型的功能呀,不过关于数据库遍历最常见的方法当然是大家经常会想到的游标啦,但是这次我并没有使用游标,而是通过创建临时表的方式来更新遍历数据的. 为什么不使用游标,而使用创建临时表?
-
SQL Server中row_number函数的常见用法示例详解
一.SQL Server Row_number函数简介 ROW_NUMBER()是一个Window函数,它为结果集的分区中的每一行分配一个连续的整数. 行号以每个分区中第一行的行号开头. 以下是ROW_NUMBER()函数的语法实例: select *,row_number() over(partition by column1 order by column2) as n from tablename 在上面语法中: PARTITION BY子句将结果集划分为分区. ROW_NUMBER()函
-
SQL Server中identity(自增)的用法详解
一.identity的基本用法 1.含义 identity表示该字段的值会自动更新,不需要我们维护,通常情况下我们不可以直接给identity修饰的字符赋值,否则编译时会报错 2.语法 列名 数据类型 约束 identity(m,n) m表示的是初始值,n表示的是每次自动增加的值 如果m和n的值都没有指定,默认为(1,1) 要么同时指定m和n的值,要么m和n都不指定,不能只写其中一个值,不然会出错 3.实例演示 不指定m和n的值 create table student1 ( sid int p
-
SQL Server 开窗函数 Over()代替游标的使用详解
前言: 今天在优化工作中遇到的sql慢的问题,发现以前用了挺多游标来处理数据,这样就导致在数据量多的情况下,需要一行一行去遍历从而计算需要的数据,这样处理的结果就是数据慢,容易卡死. 语法介绍: 1.与Row_Number() 函数结合使用,对结果进行排序,这个是我们使用的非常多的 2.与聚合函数结合使用,利用over子句的分组和排序,对需要的数据进行操作 例如:SUM() Over() 累加值.AVG() Over() 平均数 MAX() Over() 最大值.MIN() Over() 最小值
-
SQL Server 使用join all优化 or 查询速度
比如:,master,test, 表示 该用户为 test 的下级代码,test登录后可以看到 test名下的业务和所有下级代理的业务.相关表的结构如下: user表 大约10万条记录 |-uid-|-user-|----site------| | 1 | test | ,master, | | 2 | user | ,master,test,| product表 大约30万条记录 |-pid-|-product-|-puser-| | 1 | order01 | test | | 2 | or
-
SQL server 自增ID--序号自动增加的字段操作
1.SQL server中创建表,带有自增列. create table Test_Table(Id int Identity(1,1), Name varchar(20)); 这里用到了IDENTITY 关键字.IDENTITY(a,b),a b均为正整数,a表示开始数,b表示步长. IDENTITY(1,1)就代表从1开始,每次增加1. 现在插入两条数据: insert into Test_Table(Name) values ('Mr.Tom'); insert into Test_Tab
-
SQL Server实现将特定字符串拆分并进行插入操作的方法
本文实例讲述了SQL Server实现将特定字符串拆分并进行插入操作的方法.分享给大家供大家参考,具体如下: --循环执行添加操作 declare @idx as int While Len(@UserList) > 0 Begin Set @idx = Charindex(',', @UserList); --只有一条数据 If @idx = 0 and Len(@UserList) > 0 Begin Insert Into BIS_MsgCenterInfo(ID,MsgID,UserI
-
SQL Server附加数据库报错无法打开物理文件,操作系统错误5的图文解决教程
问题描述: 附加数据时,提示无法打开物理文件,操作系统错误5.如下图: 问题原因:可能是文件访问权限方面的问题. 解决方案:找到数据库的mdf和ldf文件,赋予权限即可.如下图: 找到mdf和ldf文件,本演示以ldf为例. 1.点击文件右键属性-->安全-->编辑 2.编辑-->添加 3.添加-->高级 4.高级-->立即查找-->搜索结果中找到-->Everyone-->确定-->确定 5.确定-->默认选中的Everyone用户-->
-
django restframework serializer 增加自定义字段操作
在使用django restframework serializer 序列化在django中定义的model时,有时候我们需要额外在serializer中增加一些model中没有的字段.有两种方法实现这个目的. 假设现在有一个Animal模型,其中有name, type, country字段,country为外键.我们在序列化Animal时,需要额外增加外键country的area信息. 方法一修改数据库,利用model 这里就不多解释,主要来说第二种,不修改django的model,直接使用S
-
SQL Server 2008数据库设置定期自动备份的方法
1.说明 日常工作中利用SQL SQLSERVER 2008的维护计划对数据库进行定期自动备份,这样一方面可以对数据库进行备份保证数据安全,另一方面也可以减轻对维护人员的负担.SQL Server2008 本身具有定期自动备份功能,我们只需要通过简单的配置就可以实现非常简单高效的自动备份功能. 下面话不多说了,来一起看看详细的介绍吧 2.打开SQL Server代理服务 要实现自动备份功能,首先要保证SQL Server的"SQL Server(代理)"服务已经打开. 如果没有看到这个
-
SQL SERVER 自增列
declare @Table_name varchar(60) set @Table_name = ''; if Exists(Select top 1 1 from sysobjects Where objectproperty(id, 'TableHasIdentity') = 1 and upper(name) = upper(@Table_name) ) select 1else select 0 -- or if Ex
-
Sql Server 数据库索引整理语句,自动整理数据库索引
在一个大型数据库中,数据的更改是非常频繁的. 而建立在这些数据上的索引也是需要经常去维护的. 否则这这些数据索引就起不到起应起的作用.甚至会成为数据库本身的负担. 我们就要定期的对数据库的索引进行维护 我在MSDN上发现了这个脚本不过其中有些小问题我已经修正 大家可以使用这个脚本对数据库的索引进行日常维护 复制代码 代码如下: SET NOCOUNT ON; DECLARE @objectid int; DECLARE @indexid int; DECLARE @partitioncount
-
浅谈SQL Server中统计对于查询的影响分析
而每次查询分析器寻找路径时,并不会每一次都去统计索引中包含的行数,值的范围等,而是根据一定条件创建和更新这些信息后保存到数据库中,这也就是所谓的统计信息. 如何查看统计信息 查看SQL Server的统计信息非常简单,使用如下指令: DBCC SHOW_STATISTICS('表名','索引名') 所得到的结果如图1所示. 图1.统计信息 统计信息如何影响查询 下面我们通过一个简单的例子来看统计信息是如何影响查询分析器.我建立一个测试表,有两个INT值的列,其中id为自增,ref上建立非聚集索引
-
关于喜忧参半的SQL Server触发器详解
前言 SQL Server触发器在非常有争议的主题.它们能以较低的成本提供便利,但经常被开发人员.DBA误用,导致性能瓶颈或维护性挑战. 本文简要回顾了触发器,并深入讨论了如何有效地使用触发器,以及何时触发器会使开发人员陷入难以逃脱的困境. 虽然本文中的所有演示都是在SQL Server中进行的,但这里提供的建议是大多数数据库通用的.触发器带来的挑战在MySQL.PostgreSQL.MongoDB和许多其他应用中也可以看到. 什么是触发器 可以在数据库或表上定义SQL Server触发器,它允
-
SQL Server 表变量和临时表的区别(详细补充篇)
一.表变量 表变量在SQL Server 2000中首次被引入.表变量的具体定义包括列定义,列名,数据类型和约束.而在表变量中可以使用的约束包括主键约束,唯一约束,NULL约束和CHECK约束(外键约束不能在表变量中使用).定义表变量的语句是和正常使用Create Table定义表语句的子集.只是表变量通过DECLARE @local_variable语句进行定义. 表变量的特征: 1.表变量拥有特定作用域(在当前批处理语句中,但不在任何当前批处理语句调用的存储过程和函数中),表变量在批处理结束
随机推荐
- Angular使用 ng-img-max 调整浏览器中的图片的示例代码
- 正则表达式匹配用户密码
- bat定时自动关机,bat自动结束任务关闭程序,dos自动结束程序后关机
- Java全面解析XML格式串(JDOM解析)
- 基于js的变量提升和函数提升(详解)
- SpringMVC处理Form表单实例
- 扩展ASP.NET MVC三层框架且使用StructureMap实现依赖注入1-Model层
- PHP初学者头疼问题总结
- 微信小程序加载更多 点击查看更多
- 当文本框的值发生改变时,触发事件,在IE中有效
- 如何用矩形法(梯形法)求定积分
- Js动态设置rem来实现移动端字体的自适应代码
- SQL Server修改标识列方法 如自增列的批量化修改
- 获取下拉列表框的值是数组,split,$.inArray示例
- java使用dom4j生成与解析xml文档的方法示例
- QQ密码破解与对策全攻略
- 解决ssh远程登陆linux显示-bash-4.1$的问题
- 实战 LAMP 服务器配置 完整篇
- 虚拟主机安全设置
- Java反射之静态加载和动态加载的简单实例