方法如下:
創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站制作、成都做網(wǎng)站與策劃設(shè)計,哈爾濱網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:哈爾濱等地區(qū)。哈爾濱做網(wǎng)站價格咨詢:18982081108
例如:
create table student(
Sno int identity(1,1) primary key,
Sname varchar(100)
)
這樣我們的Sno字段就可以實現(xiàn)自增了,第一個參數(shù)是標(biāo)識種子(就是開始的值),第二個參數(shù)是標(biāo)識增值(每次增加多少)
這里我們開始為1,每次增加1
如果做插入的話,則:
insert into student values('李四')
注意values里面不要寫自增字段名的值,因為數(shù)據(jù)庫會自動幫你生成。
例如第一行為 1 小明
insert into student values('李四')
變?yōu)?1 小明
2 李四
擴(kuò)展資料
SQL SERVER幾種數(shù)據(jù)遷移
使用數(shù)據(jù)庫客戶端(SSMS)的界面工具。右鍵選擇要導(dǎo)出數(shù)據(jù)的數(shù)據(jù)庫,選擇“任務(wù)”——“導(dǎo)出數(shù)據(jù)”,而導(dǎo)入則相反,導(dǎo)入時,SQLServer會默認(rèn)創(chuàng)建一張新表,字段名也默認(rèn)跟導(dǎo)入的Excel標(biāo)題一樣,并且會默認(rèn)字段數(shù)據(jù)類型等。
當(dāng)然在可以在向?qū)нM(jìn)行修改。需要注意的是如果標(biāo)題不是英文而是中文,默認(rèn)創(chuàng)建字段名也是中文,這將給后面數(shù)據(jù)更新操作帶來麻煩,所以最好還是以有意義的英文字段名。把數(shù)據(jù)導(dǎo)入后,再通過執(zhí)行語句,把數(shù)據(jù)插入/更新到業(yè)務(wù)表。
從SQLServer2005開始,可以直接在SSMS上查詢出來的結(jié)果復(fù)制,然后粘貼到Excel上,對于少量數(shù)據(jù)來說,是非??焖俜奖愕?,需要注意的是長數(shù)字可能會變成科學(xué)記數(shù)法的形式,提前在Excel上指定列的格式為文本即可。
導(dǎo)入的話,ctrl + c 復(fù)制Excel上的數(shù)據(jù),然后在選擇相關(guān)表,編輯數(shù)據(jù),把數(shù)據(jù)直接粘貼上去即可。但是不建議直接粘貼到業(yè)務(wù)表(如果表是空白沒有數(shù)據(jù),并且字段順序?qū)?yīng),可以這樣操作),而是建議先粘貼到一個新建的中間表中,然后再通過語句,把數(shù)據(jù)插入/更新到業(yè)務(wù)表。
這種方法的導(dǎo)出導(dǎo)入,適合于少量的數(shù)據(jù),如5000行以內(nèi)的記錄,大于5000行以上就不建議了,速度較慢,如果數(shù)據(jù)過大,還一定成功。
參考資料
百度百科——SQL
SqlServer有3種方式設(shè)置自增列,
SSMS中在圖形化界面中建表時,設(shè)置自動增長的其實值及每次增量。
2. --語句建表時設(shè)置自增列,從1開始增長,每次增加1
create table test(col1 int indentity(1,1,))。
3. --修改列為從1開始增長,每次增加10
alter table test alter col1 int indentity(1,10)。
操作
1、創(chuàng)建一個表?movie,設(shè)置字段 id?具有 identity(1,1),
注:identity(start,step),中的參數(shù)start表示從start開始標(biāo)號,step表示每次遞增的步長數(shù)量
2、當(dāng)我們進(jìn)行插入操作的時候,便會報如下的錯誤;
注:mysql?上是可以這么操作的;
3、解決方法是,在使用前添加一句
SET IDENTITY_Insert movie ON;
注:SET IDENTITY_Insert?table switch?表示是否允許table表中的
identity?字段的插入操作,On表示允許,Off表示不允許
4、有時候為了安全性,會習(xí)慣性的在操作前,允許,操作后不允許:
5、注:mssql?目前只允許同時只對一張表進(jìn)行
SET IDENTITY_Insert table?ON;
操作,所以如果考慮到在不同的表之間進(jìn)行操作的話,
需要先把前一張表給OFF?掉;
identity值
查看當(dāng)前表的indentity的值:
dbcc checkident(table, NORESEED)
其中 table?表示的要查看的表, NORESEED表示不會修改該值,
如下圖查詢到的結(jié)果是3
修改當(dāng)前表的 identity?的值
dbcc checkident(table,RESEED,value)
其中:
table?表示的是要修改的表;
RESEED?表示的是identity的值會被修改;
value?表示的是修改后的值;
如下圖所示,是把值修改成1后,查詢的結(jié)果:
創(chuàng)建表的時候可以 比如ID列自增
create table T1
(
id int identity(1,1),
ccode varchar(10),
cname varchar(100)
)