sql語句自動編號
兩種方法:
1、用Truncate
TRUNCATETABLEname可以刪除表內所慶帆有值並重置標識值
2、用DBCCCHECKIDENT
DBCCCHECKIDENT('table_name',RESEED,new_reseed_value)如dbcccheckident("bc_pos",reseed,1)即可,
但如果表內有數據,則重設的值如果小於最大值可能會有問題,這時可以用dbcccheckident("bc_pos",reseed)即可自動重設值。
注意:
只能為不允許空值且數據類型為decimal、int、numeric、smallint、bigint或tinyint的判念列設置標識屬性。此外,不能為主鍵列設置標識屬性。
(1)sql語句自動編號擴展閱讀:
關於上述標識列的引用
如果在SQL語句中引用標識列,可用關鍵字IDENTITYCOL代替,例如,若要查詢上例中ID等於1的行,
以下兩條查詢語句譽沖雹是等價的:
1、SELECT*FROMT_testWHEREIDENTITYCOL=1
2、SELECT*FROMT_testWHERE
❷ 使用SQL語句向表插入一條學生記錄:(其中學號的值為自動編號)如何實現
insert into 表名(欄位名逗號隔開(不用寫自動增長談鄭友那列)) values(對應的值也是逗號隔開)
要是每個欄位都要插入那就可以寫成
insert into 表名 values(順序寫值,每個欄位都要寫(不包括自動增長列))
into可以省略不寫
insert into語句可以有兩種編寫形式:
1、無需指定要插入數據叢游的列名,只需提供被插入的值即可:
insert into table_name
values (value1,value2,value3,...);
2、需要指定列名及被插入的值:
insert into table_name (column1,column2,column3,...)
values (value1,value2,value3,...);
(2)sql語句自動編號擴展閱讀
SQL常用語句
查所有資料庫 show databases;
創建資料庫 create database db1;
查看資料庫 show create database db1;
創建資料庫指定字元集 create database db1 character set utf8/gbk
刪除資料庫 drop database db1;
使用資料庫 use db1;
創建表 create table t1(id int,name varchar(10));
查看所含槐有表 show tables;
查看單個表屬性 show create table t1;
查看錶欄位 desc t1;
創建表指定引擎和字元集 create table t1(id int,name varchar(10)) engine=myisam/innodb charset=utf8/gbk;
❸ SQL 自定義的自動編號求助
查詢時加序號
a:沒有主鍵的情形:
Select identity(int,1,1) as iid,* into #tmp from TableName
Select * from #tmp
Drop table #tmp
b:有主鍵的情形:
Select (Select sum(1) from TableName where KeyField <= a.KeyField) as iid,* from TableName a
eg:
select (select sum(1) from user_Admin where id<=a.id) as ID,id,displayName from user_Admin a order by a.ID asc
結果:
------------------------------------------------------------
USE 北風貿易;
GO
/* 方法一*/
SELECT 序號= (SELECT COUNT(客戶編號) FROM 客戶 AS LiMing
WHERE LiMing.客戶編號<= Chang.客戶編號),
客戶編號, 公司名稱
FROM 客戶 AS Chang ORDER BY 1;
GO
/* 方法二: 使用SQL Server 2005 獨有的RANK() OVER () 語法*/
SELECT RANK() OVER (ORDER BY 客戶編號 DESC) AS 序號,
客戶編號, 公司名稱
FROM 客戶;
GO
/* 方法三*/
SELECT 序號= COUNT(*), LiMing.客戶編號, LiMing.公司名稱
FROM 客戶 AS LiMing, 客戶AS Chang
WHERE LiMing.客戶編號>= Chang.客戶編號
GROUP BY LiMing.客戶編號, LiMing.公司名稱
ORDER BY 序號;
GO
/* 方法四
建立一個「自動編號」的欄位,然後將數據新增至一個區域性暫存數據表,
然後由該區域性暫存數據表中,將數據選取出來,最後刪除該區域性暫存數據表
*/
SELECT 序號= IDENTITY(INT,1,1), 管道, 程序語言, 講師, 資歷
INTO #LiMing
FROM 問券調查一;
GO
SELECT * FROM #LiMing;
GO
DROP TABLE #LiMing;
GO
/*
方法五
使用 SQL Server 2005 獨有的ROW_NUMBER() OVER () 語法
搭配 CTE (一般數據表表達式,就是 WITH 那段語法)選取序號2 ~ 4 的數據
*/
WITH 排序後的圖書 AS
(SELECT ROW_NUMBER() OVER (ORDER BY 客戶編號 DESC) AS 序號,
客戶編號, 公司名稱
FROM 客戶)
SELECT * FROM 排序後的圖書
WHERE 序號 BETWEEN 2 AND 4;
GO
------------分頁使用---------------------------
SELECT RANK() OVER (ORDER BY id asc) AS no,* into #temp
FROM Bbs_reply select * from #temp where no between 1 and 100 drop table #temp
❹ sql 查詢語句自動增加序號
.使用臨時表實現
SQL的IDENTITY函數可以提供自增的序號,但只能用在帶有INTO table子句的SELECT語句中,所以如果可以使用臨時表的情況下可以使用這種實現方法。
eg:
SELECT IDENTITY(INT,1,1) as seq,field1,field2,...,fieldn INTO tmpTableName FROM srcTableName;
SELECT * FROM tmpTableName;
DROP TABLE tmpTableName;
❺ 如何在SQL中設置自動編號
在資料庫管理系統中(sql server)中,使用設計表,把標識改成'是'
通過語句
create table aaa
(id int IDENTITY(1,1) not null,
a char(10)
)
❻ sql server 2008怎麼自動編號
注意:只能為不允許空值且數據類型為 decimal、int、numeric、smallint、bigint 或 tinyint 的列設置標識屬性。此外,不能為主鍵列設置標識屬性。
一。通過SQL管理工具修改列的標識屬性
1.在對象資源管理器中,右鍵單擊要更改其數據類型的列所在的表,再單擊「修改」。此時,將在表設計器中打開該表。
2.清除要更改的列的「允許空」復選框。
3.在「列屬性」選項卡中,展開「標識規范」屬性。
4.單擊「是標識」子屬性的網格單元格,然後從下拉列表中選擇「是」。
5.在「標識種子」單元格中鍵入值。此值將賦給表中的第一行。默認情況下將賦值 1。
6.在「標識增量」單元格中鍵入值。此值是基於「標識種子」依次為每個後續行增加的增量。默認情況下將賦值 1。
二。SQL語句來創建
創建表時指定自動編號的欄位
CREATE TABLE [dbo].[UserInfor](
[UserID] [int] IDENTITY(100,2) NOT NULL, --此處可指定開始值及每次增長步長
[UserName] [nchar](10) NOT NULL, )
❼ sql 語句 對同組數據自動編號
不知道你用的是什麼資料庫,ORACLE 8i 後版本可以用函數實現
先假設你的表名為 T ,欄位為 num
語句如枯橋含下:消培
select row_number() over(order by num asc) 序號沒笑,num from t
❽ 創建自動編號欄位的sql語句怎麼寫
第一種方式:創建table的時候直接創建一個自增長的標識列,以這個標識列為編號;
第二種方式:查詢table的時候自動生成排知檔序編睜戚號,可悉猛陵以使用row_number()
over(),比如
SELECT
*,
Row_Number()
OVER
(partition
by
deptid
ORDER
BY
salary
desc)
rank
FROM
employee
❾ 關於SQL自動編號
在企業管理器中建表:
用企業管理器打開表後選擇修改欄位→把下面欄位屬性的【標識】選項選擇為【是】→如果需要定義【初始值(標識種子)】和【每次遞增值(標識遞增量)】的話定義一下就可以了
直接用sql建表
create
table
表名(
欄位名1
int
identity(1,1)
--這是從【一】開始每次自動加【一】的自動編號
欄位名2
int
identity(1,2)
--這是從【一】開始每次自動加【二】的自動編號
欄位名3
int
identity(2,2)
--這是從【二】開始每次自動加【二】的自動編號
)
---
以上,希望對你有所幫助。