select identity(int ,1,1) as id,a,b,c,d into #tmp from mytable where
得到的#tmp临时表中就包括mytable的列,以及一个自增长的列 ID
sql server建表时设置ID字段自增的方法有两种:
1 、在SQL Server Management Studio中实现SQL Server自增字段
打开SQL Server Management Studio,打开数据库之后,在选中的表上点“修改”,在选中需要设置为自增的字段,在右下方的表设计器里选择“标识规范”,选“是”,就设定即可。
也可以在表的属性窗口中设置设置标识列:
2、使用SQL语句在程序或者查询分析器里面实现SQL Server自增字段
sql server 设置自增字段identity属性 (以新建数据表tablename中的id字段为例)
create table tablename
(
id int identity(1,1) //identity表示自增列的意思,而int identity(1,1)表示从1开始递增,每次自增1。
)
这样设置之后,tablename数据表中的id字段就是自增列。
如果想实现带前缀或者后缀的自动增加字段,不能用varchar,还是使用上面的方法创建字段,但是在读取的时候用增加前后缀的形式来显示想要的效果,例如如果希望得出结果是a001可以这么做select 'a'+convert(varchar(20),id) from tablename,这里的tablename是刚才建立的具体的表明。
表空间是有数据文件组成的,所以看表空间是否自增即看数据文件,如下查自增的表空间:
select tablespace_name,file_name,autoextensible from dba_data_files where autoextensible='YES';
autoextensible: YES/NO 即表示是否自增。
如果你是要在建表中就转化的话可以用楼上的就可以了,如果你要是想要基于表中建的话可以这样
create table a(id int identity primary key not null,name varchar(30))
alter table a add code varchar(30)
update a set code=bcode from a,(select id,ltrim('bh'+replace(CONVERT(varchar(30),STR(id,5,0)),' ','0'))as code from a)as b where aid=bid
结果:
id name code
1 张三 bh00001
2 张三 bh00002
3 张三 bh00003
4 张三 bh00004
5 张三 bh00005
6 张三 bh00006
7 张三 bh00007
8 张三 bh00008
9 张三 bh00009
10 张三 bh00010
11 张三 bh00011
12 张三 bh00012
13 张三 bh00013
14 张三 bh00014
15 张三 bh00015
16 张三 bh00016
很多时候我们需要重置某个表的自增列,让自增列重新从1开始记数。最蠢的方法当然是把该表删掉再重新建表了。其实,还有其它的方法可以重置自增列的值:
方法一:使用TRUNCATE TABLE语句:
TRUNCATE TABLE删除表中的所有行,而不记录单个行删除 *** 作,同时重置自增列。TRUNCATE TABLE 在功能上与没有WHERE子句的DELETE语句相同;但是,TRUNCATE TABLE 速度更快,使用的系统资源和事务日志资源更少。
方法二:使用DBCC CHECKIDENT语句:
DBCC CHECKIDENT在 SQL Server 2008 R2 中检查指定表的当前标识值,如有必要,则更改标识值。还可以使用 DBCC CHECKIDENT 为标识列手动设置新的当前标识值。
语法:
DBCC CHECKIDENT
(
table_name
[, { NORESEED | { RESEED [,new_reseed_value ] } } ]
)
[ WITH NO_INFOMSGS ]
参数:
table_name:是要对其当前标识值进行检查的表名。指定的表必须包含标识列。表名必须符合标识符规则。
NORESEED:指定不应更改当前标识值。
RESEED:指定应该更改当前标识值。
new_reseed_value:用作标识列的当前值的新值。
WITH NO_INFOMSGS:取消显示所有信息性消息。
示例:我们要重置表t1的当前标识值为1,sql如下:
dbcc checkident('t1',reseed,1)
看你的表没有适合做自增的列呀?
另外科普一下别再叫这个是DOS命令了。一眼被看出是门外汉。至少要交SQL语句。
你这个是DDL语句
SQL语句分类SQL语句主要可以划分为以下3个类别
DDL(Data Definition Languages)语句:数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象。常用的语句关键字主要包括create、drop、alter等。
DML(Data Manipulation Languages)语句:数据 *** 纵语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性。常用的语句关键字主要包括insert、delete、update和select等。
DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句,这些语句定义了数据库、表、字段、用户的访问权限和安全级别,主要的语句关键字包括grant、revoke等。
关于自增长主键关键字是AUTO_INCREMENT,在定义时加上就ok了
先加个id吧
/添加id/alter table `Student``id` add column `id` int(11) NULL;
/设置自增/
alter table `Student``id` change `id` `id` int(11) NOT NULL AUTO_INCREMENT, add primary key(`id`);
/创建表时定义/
CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) DEFAULT NULL,
UNIQUE KEY `id` (`id`)
)
以数据库为例。可以用如下方法:
1、先建表:
createtabletest
(idintnotnull,namevarchar(10))
2、在图形界面,找到test表:
3、右键此表名,选择“设计”。
4、右侧出现的页面,找到要设置主键的列,ID列,然后右键,选择“设置主键”。
5、下面一步是要设置自增,在左侧列表中,右键“id列”,然后选择“属性”。
6、其中,找到“标识规范”,标识增量为每次增加多少,标识种子代表起始数值大小。
一、通过T-SQL代码
代码如下:
alter table 表名 add 列名 int IDENTITY(1,1) NOT NULL
这里用到了identity关键字:indentity(a,b),a b均为正整数,a表示开始数,b表示步长,indentity(1,1)就代表从1开始,每次增加1
二、通过企业管理器
打开对象资源管理器,新建表,如下图
插入列,设置列属性,标识增量为步长,标识种子为开始数,如下图
以上就是关于如何在数据库查询时多一列自增列全部的内容,包括:如何在数据库查询时多一列自增列、sql server建表时怎么设置ID字段自增、ado.net怎么知道oracle数据库表自增列是哪一列等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)