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

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

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

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

 create table [表名]
(
[自動(dòng)編號(hào)字段] 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 重命名表,請(qǐng)參考文章:在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類型,否則修改字段類型就會(huì)失敗。
alter table 表名
alter column 日期字段名 datetime

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

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

如果要將統(tǒng)計(jì)結(jié)果或者計(jì)算結(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表格選定一個(gè)單元格,ctrl+0即可將單元格的值置為null

35,為變量賦值方法:set @xxx=??? ,如果變量的值取自一個(gè)查詢的話,需要用select, 如:select @xxx=??? from ??? where ????
如果要返回一個(gè)記錄集,但是不是從一個(gè)表格,而是全部是系統(tǒng)變量或自定義變量組成。則不必寫from子句:select ??,??,??
36,創(chuàng)建一個(gè)返回一張表的函數(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,一個(gè)日期格式轉(zhuǎn)換的例子,一般可以用convert,cast等函數(shù)轉(zhuǎn)換,但是這個(gè)例子沒有:
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

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

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

其它欄目

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

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

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

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

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