五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > 自增字段的SQL語句解決方案

自增字段的SQL語句解決方案

文章來源:365jz.com     點擊數(shù):756    更新時間:2009-11-13 23:25   參與評論

 create table [表名]
(
[自動編號字段] int IDENTITY (1,1) PRIMARY KEY ,
[字段1] nVarChar(50) default '默認(rèn)值' null ,
[字段2] ntext null ,
[字段3] datetime,
[字段4] money null ,
[字段5] int default 0,
[字段6] Decimal (12,4) default 0,
[字段7] image null ,
)

刪除表:
Drop table [表名]

插入數(shù)據(jù):
INSERT INTO [表名] (字段1,字段2) VALUES (100,'51WINDOWS.NET')

刪除數(shù)據(jù):
DELETE FROM [表名] WHERE [字段名]>100

更新數(shù)據(jù):
UPDATE [表名] SET [字段1] = 200,[字段2] = '51WINDOWS.NET' WHERE [字段三] = 'HAIWA'

新增字段:
ALTER TABLE [表名] ADD [字段名] NVARCHAR (50) NULL

刪除字段:
ALTER TABLE [表名] DROP COLUMN [字段名]

修改字段:
ALTER TABLE [表名] ALTER COLUMN [字段名] NVARCHAR (50) NULL

重命名表:(Access 重命名表,請參考文章:在Access數(shù)據(jù)庫中重命名表)
sp_rename '表名', '新表名', 'OBJECT'

新建約束:
ALTER TABLE [表名] ADD CONSTRAINT 約束名 CHECK ([約束字段] <= '2000-1-1')

刪除約束:
ALTER TABLE [表名] DROP CONSTRAINT 約束名

新建默認(rèn)值
ALTER TABLE [表名] ADD CONSTRAINT 默認(rèn)值名 DEFAULT '51WINDOWS.NET' FOR [字段名]

刪除默認(rèn)值
ALTER TABLE [表名] DROP CONSTRAINT 默認(rèn)值名

刪除Sql Server 中的日志,減小數(shù)據(jù)庫文件大小
dump transaction 數(shù)據(jù)庫名 with no_log
backup log 數(shù)據(jù)庫名 with no_log
dbcc shrinkdatabase(數(shù)據(jù)庫名)
exec sp_dboption '數(shù)據(jù)庫名', 'autoshrink', 'true'

自增列不能直接修改,必須將原有ID列刪除,然后重新添加一列具有identity屬性的ID字段,語句如下

alter table 表名
drop column ID

alter table 表名
add ID int identity(1,1)

修改日期字段為Datatime類型,首先要保證表中無數(shù)據(jù),或現(xiàn)有數(shù)據(jù)可以直接轉(zhuǎn)換為datetime類型,否則修改字段類型就會失敗。
alter table 表名
alter column 日期字段名 datetime

1, 使用一個數(shù)據(jù)庫之前要引用他:use 數(shù)據(jù)庫名
2, exists()判斷子查詢的結(jié)果是否存在,返回true or false
3, object_id('對象名') 返回該對象名對應(yīng)的Id,該id存儲在sysobjects表中。
4, 建表時自動建立主鍵約束:create table a(b char(4),c int,constraint 主鍵名 primary key(c))
或者:create table a(a char(4) cint primary key) 或者:create table a(a char(4) cint constraint 主鍵名 primary key)
5, 創(chuàng)建索引:create index 索引名 on 表名(字段名)
6, 為一個表添加外鍵:alter table 表名 add constraint 外鍵名 foreign key(字段)references 表名(字段)
7, identity(seed,range) 創(chuàng)建一個標(biāo)識列,與null,not null并列。seed表示種子,即初始值;range表示增長幅度。
8, 局部臨時表 #xxx ,只能被當(dāng)前會話訪問,在該會話結(jié)束后自動消失。
9, 全局臨時表 ##xx , 可以供多個用戶使用,在該會話結(jié)束后自動消失。

10,為表 添加/修改/刪除列 :alter table 表名 add 列名 type/alter column 列名 newtype/drop 列名
11,可以通過多次安裝sqlserver為其創(chuàng)建多個實例
12,用系統(tǒng)過程 sp_reZGXX_XM 重新命名表和列:
sp_reZGXX_XM 原表名,新表名
sp_reZGXX_XM "表名.原列名",新列名
13,如果想顯示的在identity列中插入值,則需要先設(shè)置:set identity_insert 表名 on
插入完畢后最好設(shè)置:set identity_insert 表名 off
14, 利用writetext往text 或 image列中寫入值:

declare @var varbinary(16)
select @var=textptr(c) from test where a=10
writetext test.c @var 'zhongguo '

注意:使用Writetext,一般需要首先這樣設(shè)置:sp_dboption 數(shù)據(jù)庫名,'SELECT into/bulkcopy',true
15, truncate table 表名 刪除表格的所有數(shù)據(jù),速度很快。
16,統(tǒng)計函數(shù)中除了count(*) 之外,都忽略空值(null).
17, 由于text和image類型數(shù)據(jù)很長,在查詢之前可以通過設(shè)置全局變量textsize來指定返回數(shù)據(jù)的長度,set textsize 50
如果想查閱全局變量textsize的值:select @@textsize

18, 通過reaDtext 讀取text的數(shù)據(jù):

declare @var varbinary(16)
select @var=textptr(c) from test where a=10
readtext test.c @var 4 3
此例返回第5,6,7個字符。應(yīng)為長度要求是3,起始是0,所以4表示從第五個字符讀起。
其中textptr是返回指定的text,ntext,image列的指針,一般保存到varbinary類型的變量中
19, like 語句中,可以指定簡單的正則表達(dá)式,[a-z]表示一個任意字母,[^a-z]表示一個非字母字符
20,like 也是唯一可以在text列上使用的操作符
21,邏輯操作符優(yōu)先級:NOT > AND > OR
22, 在group by 一個記錄集時,所有的null組成一組。
23,帶有g(shù)roup by 子句的 select中可以有where子句,但是where 子句必須放在group by 前面。
24,如果group by 子句中用了all,即 group by all xxx ,則不符合檢索條件的記錄也顯示,但不參與統(tǒng)計。
25,having 中,只能包含 group by子句中 指定的列,也可以包含統(tǒng)計函數(shù)。where中可指定任何列,但是不能用統(tǒng)計函數(shù)
26, having 子句從最終結(jié)果中將不滿足該條件的分組去掉
27,不帶group by子句時也可以使用having子句,并將整個查詢結(jié)果作為一個組,但是,由于出現(xiàn)在選擇列表中的列
和出現(xiàn)在having子句中的列必須是group by 子句中的列,所以,當(dāng)不帶group by子句時,不能在having子句和
選擇列表中直接使用列名,只能使用統(tǒng)計函數(shù)。
28,當(dāng)在group by子句后指定order by子句時,只能在order by子句中指定group by子句中的列或者統(tǒng)計函數(shù)
29,在進行union運算時,自動刪除結(jié)果中的重復(fù)行,如果使用all選項 ,則可以將所有行顯示在結(jié)果中:union all
30, 在union時,合并結(jié)果集中的列名有第一個查詢給出,所以后面進行排旬時一定要注意order by 子句中的字段名
31,可以通過 select fieldslist into 新表名 from 表名,來創(chuàng)建一個新表,并將當(dāng)前表中的數(shù)據(jù)全部插入到新
表中,但是做這個操作之前需要保證數(shù)據(jù)庫選項 select into/bulkcopy 設(shè)置為true。方法如下:
use master /*設(shè)置命令必須在master數(shù)據(jù)庫中進行*/
sp_dboption 數(shù)據(jù)庫a名,"select into/bulkcopy",true /*設(shè)置數(shù)據(jù)庫選項*/
use 數(shù)據(jù)庫a名
checkpoint /*使設(shè)置結(jié)果生效*/

如果要將統(tǒng)計結(jié)果或者計算結(jié)果插入到新表中,必須以標(biāo)題的形式給出列名,如:
select a,b=avg(c) into mm from nn group by a
32, 隨即取出N條記錄的方法:select top N * from 表名 order by newid()

33,創(chuàng)建唯一約束:create table a(b int not nul constraint 約束名 unique,c char(10) null)
或者:create table a(b int,c char(10),constraint 約束名 unique(b))

34,在sql server表格選定一個單元格,ctrl+0即可將單元格的值置為null

35,為變量賦值方法:set @xxx=??? ,如果變量的值取自一個查詢的話,需要用select, 如:select @xxx=??? from ??? where ????
如果要返回一個記錄集,但是不是從一個表格,而是全部是系統(tǒng)變量或自定義變量組成。則不必寫from子句:select ??,??,??
36,創(chuàng)建一個返回一張表的函數(shù):
create function fn_Tree(@Id int)
returns table @tb (id int ,fid int)
as
begin
insert @tb select id,fid from tablename where fid=@id
while exists (select 1 from tablename where fid in (select id from @tb)
and id not in (select id from @tb) )
insert @tb select id,fid from tablename where fid in (select id from @tb)
and id not in (select id from @tb)
return
end

表的字段為id,fid
insert @tb select 語句,將查詢結(jié)果插入到當(dāng)前的表格(@tb)中

調(diào)用:
select * from dbo.fn_Tree(0)
go
select * from dbo.fn_Tree(1
go
37,一個日期格式轉(zhuǎn)換的例子,一般可以用convert,cast等函數(shù)轉(zhuǎn)換,但是這個例子沒有:
declare @a varchar(50)
declare @b varchar(50)
declare @c int
declare @d varchar(50)
declare @e varchar(50)

set @a='1/20/03 10:06:41:59'
set @b=reverse(@a)
set @c=charindex('/',@b)
set @d=stuff(@b,@c,0,'02')
set @e=reverse(@d)
select @a,@b,@c
select @d,@e

如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會為你解答??! 點擊進入論壇

發(fā)表評論 (756人查看,0條評論)
請自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動的言論。
昵稱:
最新評論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號