當前位置:首頁 » 編程語言 » sqlserve語句
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sqlserve語句

發布時間: 2022-08-24 00:28:17

『壹』 初學者sql server 語句怎麼寫

--有點亂。你自己粘貼好捋一捋。

use master
go


--判斷資料庫是否存在,存在則刪除
if exists(select * from sysdatabases where name='MySchool') --判斷MySchool是否存在
drop DATABASE MySchool --如果資料庫存在則刪掉資料庫
GO


--創建資料庫
create DATABASE MySchool
on
PRIMARY --創建主資料庫文件
(
name='MyScool',
filename='E:DataBaseTestMySchoolMySchool.mdf',
size=5MB,
Maxsize=20MB,
FileGrowth=1MB
)
log on --創建日誌文件
(
name='MySchoolLog',
filename='E:DataBaseTestMySchoolMySchool.ldf',
size=5MB,
maxsize=20MB,
FileGrowth=1MB
)
GO


use MySchool
go


--------------------------創建表----------------------------------
--創建表Student
IF EXISTS (SELECT * FROM sysobjects WHERE name='Student' )
DROP TABLE Student
GO
create table Student
(
StudentNo nvarchar(50) not null,
LoginPwd nvarchar(20) not null,
StudentName nvarchar(50) not null,
Sex char(2) not null,
GradeId int not null,
Phone nvarchar(20) not null,
Address nvarchar(255) null,
BornDate datetime null,
Email nvarchar(50) null
)
GO
--創建表Subject
IF exists (select * from sysobjects where name='Subject')
Drop table Subject
Go
create table Subject
(
SubjectId int identity(1,1) not null,
SubjectName nvarchar(20) not null,
ClassHour int not null,
GradeId int not null
)
go
--創建表Result
If exists(select * from sysobjects where name='Result')
drop table Result
GO
create table Result
(
Id int identity(1,1) not null,
StudentNo nvarchar(50) not null,
SubjectId int not null,
StudentResult int not null,
ExamDate smalldatetime not null
)
go
--創建年級表Grade
if exists(select * from sysobjects where name='Grade')
drop table Grade
go
create table Grade
(
GradeId int identity(1,1) not null,
GradeName nvarchar(50) not null
)
------------------------------------------------------------------


-------------------------為表添加約束-----------------------------


--為年級表Grade表添加約束
alter table Grade --主鍵約束
add constraint PK_Grade_GradeId Primary key(GradeId)


--為Student表添加約束
alter table Student --主鍵約束
add constraint PK_Student_StudentNo Primary key(StudentNo)
alter table Student --長度約束
add constraint CK_Student_LoginPwd check( len (LoginPwd)>=6)
alter table Student --密碼默認約束
add constraint DF_Student_LoginPwd default ('123456') for LoginPwd
alter table Student --地址默認約束
add constraint DF_Student_Address default ('學生宿舍') for Address
alter table Student --檢查約束
add constraint CK_Student_sex check (sex = ('男') or sex = ('女'))
alter table Student --外鍵約束
add constraint FK_Student_GradeId
foreign key (GradeId) references Grade(GradeId)
go
alter table Student --Email約束
add constraint CK_Student_Email check (email like ('%@%'))


--為Subject表添加約束
alter table Subject --主鍵約束
add constraint PK_Student_SubjectId Primary key(SubjectId)
alter table Subject --大於0
add constraint CK_Subject_ClassHour check (ClassHour > 0)


--為Result表添加約束
alter table Result --主鍵約束
add constraint PK_Result_Id Primary key(Id)
alter table [dbo].[Result] --必須在0~100之間
add constraint CK_Result_StudentResult check(StudentResult > 0 and StudentResult < 100)


exec sp_helpconstraint 'Student' --查詢所有約束


----------------------添加數據------------------------------------


--為Grade表添加數據
insert Grade(GradeName) --使用insert...select語句一次插入多行數據
select 'S1' union
select 'S2' union
select 'Y2'
--為Student表添加數據
insert into Student(StudentNo, LoginPwd, StudentName, Sex, GradeId, Phone, Address, BornDate, Email)
values('S1201302001','zhangsan','張三','男',1,'01062768866','解放路','1991-1-1','[email protected]')


insert into Student(StudentNo, LoginPwd, StudentName, Sex, GradeId, Phone, Address, BornDate)
values('S1201302002','lisi89','李四','男',1,'13812345678','長江路路','1996-2-1')

insert into Student(StudentNo, LoginPwd, StudentName, Sex, GradeId, Phone, Address, BornDate)
values('S1201302003',default,'王五','男',1,'13912345678',default,'1995-5-3')

insert into Student(StudentNo, LoginPwd, StudentName, Sex, GradeId, Phone, Address, BornDate, Email)
values('S1201302004','wanglili','王麗麗','女',1,'1311245678',default,'1994-6-2','[email protected]')

insert into Student(StudentNo, LoginPwd, StudentName, Sex, GradeId, Phone, Address, BornDate)
values('S1201302005',default,'張峰','男',1,'1321234678',default,'1991-8-8')
------------------------------------------------------------------


use MySchool
go
-------------------------修改-------------------------------------
--根據學號修改地址
update Student
set Address = '山東省濟南市文化路1號院'
where StudentNo = 'S1201302004'
--根據學號修改年級
update Student
set GradeId=2
where StudentNo='S1201302005'
--根據課程修改學時
update Subject
set ClassHour='55'
where SubjectName='走進Java編程世界'
--根據考試時間加分
update Result
set StudentResult=StudentResult+5
where StudentResult<60
--根據學號修改學生在特定時間考試的某一科分數
update Result
set StudentResult='55'
where StudentNo='S1201302002' and ExamDate='2013-10-18' and SubjectId=2
--將電子郵件為空的學生統一修改為"未知@"
update Student
set Email='未知@'
where Email is null
------------------------------------------------------------------


use MySchool
go
------------將表數據導向另一個不存在的表--------------------------
--通訊錄表Address_IS(使用insret select語句,該表必須事先存在)
create table Address_IS
(
Id int Primary key identity(1,1) not null,
SName nvarchar(50) not null,
Phone nvarchar(255) not null,
Address nvarchar(255) null,
Email nvarchar(50) null
)
insert into Address_IS(SName,Phone,Address,Email)
select Student.StudentName,Student.Phone,Student.Address,Student.Email
from Student
--通訊錄表Address_SI(使用select into語句,該表不能預先存在)
Select Student.StudentName,Student.Phone,Student.Address,Student.Email
into Address_SI
from Student
------------------------------------------------------------------


use MySchool
go
--------------------刪除記錄--------------------------------------
--刪除1997年7月1日之後入學的學生
delete from Student
where BornDate>'1997-7-1'
------------------------------------------------------------------


use MySchool
go
------------向Subject表插入數據-----------------------------------
insert Subject(SubjectName, ClassHour, GradeId)
select '走進Java編程世界',40,1 union
select 'HTML和CSS網頁技術',60,1 union
select 'C#語言和資料庫技術',70,1
------------------------------------------------------------------


use MySchool
go
--------------------增加成績紀錄----------------------------------
insert Result(StudentNo, SubjectId, StudentResult, ExamDate)
select 'S1201302001',1,80,'2013-9-13' union
select 'S1201302002',1,45,'2013-9-13' union
select 'S1201302001',2,90,'2013-10-18' union
select 'S1201302002',2,60,'2013-10-18'
------------------------------------------------------------------


use MySchool
go
if exists(select * from sysobjects where name='Grade')
drop table Grade
if exists(select * from sysobjects where name='Result')
drop table Result
if exists(select * from sysobjects where name='Student')
drop table Student
if exists(select * from sysobjects where name='Subject')
drop table Subject
go
if exists(select * from databases where name='MySchool')
drop database MySchool
go

『貳』 SQL server語句所有的約束條件

1、主鍵約束(Primary Key constraint):要求主鍵列數據唯一,並且不允許為空。

2、唯一約束(Unique constraint):要求該列唯一,允許為空,但只能出現一個空值。

3、檢查約束(Check constraint):某列取值范圍限制,格式限制等,如有關年齡、郵箱(必須有@)的約束。

4、默認約束(Default constraint):某列的默認值,如在資料庫里有一項數據很多重復,可以設為默認值。

5、外鍵約束(Foreign Key constraint):用於在兩個表之間建立關系,需要指定引用主表的哪一列。

(2)sqlserve語句擴展閱讀:

對於存在外鍵約束的表,如果進行刪除非空的外鍵,可能會出現錯誤。 如果在 FOREIGN KEY 約束的列中輸入非 NULL 值,則此值必須在被引用的列中存在,否則將返回違反外鍵約束的錯誤信息。

列級 FOREIGN KEY 約束的 REFERENCES 子句僅能列出一個引用列,且該列必須與定義約束的列具有相同的數據類型。表級 FOREIGN KEY 約束的 REFERENCES 子句中引用列的數目必須與約束列列表中的列數相同。每個引用列的數據類型也必須與列表中相應列的數據類型相同。

『叄』 SQL SERVER 語句怎麼寫

select top 1 C from A where CONVERT(varchar(12) , B, 111 )=CONVERT(varchar(12) , getdate(), 111 ) order by id desc

『肆』 SQL Server里常用的語句 有那些按功能分

一、 簡單查詢
簡單的Transact-SQL查詢只包括選擇列表、FROM子句和WHERE子句。它們分別說明所查詢列、查詢的
表或視圖、以及搜索條件等。例如,下面的語句查詢testtable表中姓名為「張三」的nickname欄位和email欄位。
SELECT nickname,email
FROM testtable
WHERE name='張三'

(一) 選擇列表
選擇列表(select_list)指出所查詢列,它可以是一組列名列表、星號、表達式、變數(包括局部變數和全局變數)等構成。

1、選擇所有列
例如,下面語句顯示testtable表中所有列的數據:
SELECT *
FROM testtable

2、選擇部分列並指定它們的顯示次序查詢結果集合中數據的排列順序與選擇列表中所指定的列名排列順序相同。
例如:
SELECT nickname,email
FROM testtable

3、更改列標題
在選擇列表中,可重新指定列標題。定義格式為:
列標題=列名
列名 列標題如果指定的列標題不是標準的標識符格式時,應使用引號定界符,例如,下列語句使用漢字顯示列標題:
SELECT 昵稱=nickname,電子郵件=email
FROM testtable

4、刪除重復行
SELECT語句中使用ALL或DISTINCT選項來顯示表中符合條件的所有行或刪除其中重復的數據行,默認
為ALL。使用DISTINCT選項時,對於所有重復的數據行在SELECT返回的結果集合中只保留一行。

5、限制返回的行數
使用TOP n [PERCENT]選項限制返回的數據行數,TOP n說明返回n行,而TOP n PERCENT時,說明n是
表示一百分數,指定返回的行數等於總行數的百分之幾。
例如:
SELECT TOP 2 *
FROM testtable
SELECT TOP 20 PERCENT *
FROM testtable

(二)FROM子句
FROM子句指定SELECT語句查詢及與查詢相關的表或視圖。在FROM子句中最多可指定256個表或視圖,它們之間用逗號分隔。在FROM子句同時指定多個表或視圖時,如果選擇列表中存在同名列,這時應使用對象名限定這些列
所屬的表或視圖。例如在usertable和citytable表中同時存在cityid列,在查詢兩個表中的cityid時應
使用下面語句格式加以限定:
SELECT username,citytable.cityid
FROM usertable,citytable
WHERE usertable.cityid=citytable.cityid
在FROM子句中可用以下兩種格式為表或視圖指定別名:
表名 as 別名
表名 別名

(二) FROM子句
FROM子句指定SELECT語句查詢及與查詢相關的表或視圖。在FROM子句中最多可指定256個表或視圖,它們之間用逗號分隔。在FROM子句同時指定多個表或視圖時,如果選擇列表中存在同名列,這時應使用對象名限定這些列
所屬的表或視圖。例如在usertable和citytable表中同時存在cityid列,在查詢兩個表中的cityid時應使用下面語句格式加以限定:
SELECT username,citytable.cityid
FROM usertable,citytable
WHERE usertable.cityid=citytable.cityid
在FROM子句中可用以下兩種格式為表或視圖指定別名:
表名 as 別名
表名 別名
例如上面語句可用表的別名格式表示為:
SELECT username,b.cityid
FROM usertable a,citytable b
WHERE a.cityid=b.cityid
SELECT不僅能從表或視圖中檢索數據,它還能夠從其它查詢語句所返回的結果集合中查詢數據。
例如:
SELECT a.au_fname+a.au_lname
FROM authors a,titleauthor ta
(SELECT title_id,title
FROM titles
WHERE ytd_sales>10000
) AS t
WHERE a.au_id=ta.au_id
AND ta.title_id=t.title_id
此例中,將SELECT返回的結果集合給予一別名t,然後再從中檢索數據。

(三) 使用WHERE子句設置查詢條件
WHERE子句設置查詢條件,過濾掉不需要的數據行。例如下面語句查詢年齡大於20的數據:
SELECT *
FROM usertable
WHERE age>20
WHERE子句可包括各種條件運算符:
比較運算符(大小比較):>、>=、=、<、<=、<>、!>、!<
范圍運算符(表達式值是否在指定的范圍):BETWEEN…AND…
NOT BETWEEN…AND…
列表運算符(判斷表達式是否為列表中的指定項):IN (項1,項2……)
NOT IN (項1,項2……)
模式匹配符(判斷值是否與指定的字元通配格式相符):LIKE、NOT LIKE
空值判斷符(判斷表達式是否為空):IS NULL、NOT IS NULL
邏輯運算符(用於多條件的邏輯連接):NOT、AND、OR
1、范圍運算符例:age BETWEEN 10 AND 30相當於age>=10 AND age<=30
2、列表運算符例:country IN ('Germany','China')
3、模式匹配符例:常用於模糊查找,它判斷列值是否與指定的字元串格式相匹配。可用於char、
varchar、text、ntext、datetime和smalldatetime等類型查詢。
可使用以下通配字元:
百分號%:可匹配任意類型和長度的字元,如果是中文,請使用兩個百分號即%%。
下劃線_:匹配單個任意字元,它常用來限製表達式的字元長度。
方括弧[]:指定一個字元、字元串或范圍,要求所匹配對象為它們中的任一個。
[^]:其取值也[] 相同,但它要求所匹配對象為指定字元以外的任一個字元。
例如:
限制以Publishing結尾,使用LIKE '%Publishing'
限制以A開頭:LIKE '[A]%'
限制以A開頭外:LIKE '[^A]%'
4、空值判斷符例WHERE age IS NULL
5、邏輯運算符:優先順序為NOT、AND、OR
(四)查詢結果排序
使用ORDER BY子句對查詢返回的結果按一列或多列排序。ORDER BY子句的語法格式為:
ORDER BY {column_name [ASC|DESC]} [,…n]
其中ASC表示升序,為默認值,DESC為降序。ORDER BY不能按ntext、text和image數據類型進行排
序。
例如:
SELECT *
FROM usertable
ORDER BY age desc,userid ASC
另外,可以根據表達式進行排序。

二、 聯合查詢
UNION運算符可以將兩個或兩個以上上SELECT語句的查詢結果集合合並成一個結果集合顯示,即執行聯
合查詢。UNION的語法格式為:
select_statement
UNION [ALL] selectstatement
[UNION [ALL] selectstatement][…n]
其中selectstatement為待聯合的SELECT查詢語句。
ALL選項表示將所有行合並到結果集合中。不指定該項時,被聯合查詢結果集合中的重復行將只保留一行。聯合查詢時,查詢結果的列標題為第一個查詢語句的列標題。因此,要定義列標題必須在第一個查詢語句中定義。要對聯合查詢結果排序時,也必須使用第一查詢語句中的列名、列標題或者列序號。在使用UNION 運算符時,應保證每個聯合查詢語句的選擇列表中有相同數量的表達式,並且每個查詢選擇表達式應具有相同的數據類型,或是可以自動將它們轉換為相同的數據類型。在自動轉換時,對於數值類
型,系統將低精度的數據類型轉換為高精度的數據類型。在包括多個查詢的UNION語句中,其執行順序是自左至右,使用括弧可以改變這一執行順序。例如:
查詢1 UNION (查詢2 UNION 查詢3)

三、連接查詢通過連接運算符可以實現多個表查詢。連接是關系資料庫模型的主要特點,也是它區別於其它類型
資料庫管理系統的一個標志。
在關系資料庫管理系統中,表建立時各數據之間的關系不必確定,常把一個實體的所有信息存放在一個表中。當檢索數據時,通過連接操作查詢出存放在多個表中的不同實體的信息。連接操作給用戶帶
來很大的靈活性,他們可以在任何時候增加新的數據類型。為不同實體創建新的表,爾後通過連接進行
查詢。
連接可以在SELECT 語句的FROM子句或WHERE子句中建立,似是而非在FROM子句中指出連接時有助於
將連接操作與WHERE子句中的搜索條件區分開來。所以,在Transact-SQL中推薦使用這種方法。
SQL-92標准所定義的FROM子句的連接語法格式為:
FROM join_table join_type join_table
[ON (join_condition)]
其中join_table指出參與連接操作的表名,連接可以對同一個表操作,也可以對多表操作,對同一
個表操作的連接又稱做自連接。
join_type 指出連接類型,可分為三種:內連接、外連接和交叉連接。內連接(INNER JOIN)使用比
較運算符進行表間某(些)列數據的比較操作,並列出這些表中與連接條件相匹配的數據行。根據所使用
的比較方式不同,內連接又分為等值連接、自然連接和不等連接三種。
外連接分為左外連接(LEFT OUTER JOIN或LEFT JOIN)、右外連接(RIGHT OUTER JOIN或RIGHT JOIN)
和全外連接(FULL OUTER JOIN或FULL JOIN)三種。與內連接不同的是,外連接不只列出與連接條件相匹
配的行,而是列出左表(左外連接時)、右表(右外連接時)或兩個表(全外連接時)中所有符合搜索條件的
數據行。
交叉連接(CROSS JOIN)沒有WHERE 子句,它返回連接表中所有數據行的笛卡爾積,其結果集合中的
數據行數等於第一個表中符合查詢條件的數據行數乘以第二個表中符合查詢條件的數據行數。
連接操作中的ON (join_condition) 子句指出連接條件,它由被連接表中的列和比較運算符、邏輯
運算符等構成。
無論哪種連接都不能對text、ntext和image數據類型列進行直接連接,但可以對這三種列進行間接
連接。例如:
SELECT p1.pub_id,p2.pub_id,p1.pr_info
FROM pub_info AS p1 INNER JOIN pub_info AS p2
ON DATALENGTH(p1.pr_info)=DATALENGTH(p2.pr_info)

(一)內連接
內連接查詢操作列出與連接條件匹配的數據行,它使用比較運算符比較被連接列的列值。內連接分
三種:
1、等值連接:在連接條件中使用等於號(=)運算符比較被連接列的列值,其查詢結果中列出被連接
表中的所有列,包括其中的重復列。
2、不等連接: 在連接條件使用除等於運算符以外的其它比較運算符比較被連接的列的列值。這些
運算符包括>、>=、<=、<、!>、!<和<>。
3、自然連接:在連接條件中使用等於(=)運算符比較被連接列的列值,但它使用選擇列表指出查詢
結果集合中所包括的列,並刪除連接表中的重復列。
例,下面使用等值連接列出authors和publishers表中位於同一城市的作者和出版社:
SELECT *
FROM authors AS a INNER JOIN publishers AS p
ON a.city=p.city
又如使用自然連接,在選擇列表中刪除authors 和publishers 表中重復列(city和state):
SELECT a.*,p.pub_id,p.pub_name,p.country
FROM authors AS a INNER JOIN publishers AS p
ON a.city=p.city
(二)外連接
內連接時,返回查詢結果集合中的僅是符合查詢條件( WHERE 搜索條件或 HAVING 條件)和連接條件
的行。而採用外連接時,它返回到查詢結果集合中的不僅包含符合連接條件的行,而且還包括左表(左外
連接時)、右表(右外連接時)或兩個邊接表(全外連接)中的所有數據行。
如下面使用左外連接將論壇內容和作者信息連接起來:
SELECT a.*,b.* FROM luntan LEFT JOIN usertable as b
ON a.username=b.username
下面使用全外連接將city表中的所有作者以及user表中的所有作者,以及他們所在的城市:
SELECT a.*,b.*
FROM city as a FULL OUTER JOIN user as b
ON a.username=b.username

(三)交叉連接
交叉連接不帶WHERE 子句,它返回被連接的兩個表所有數據行的笛卡爾積,返回到結果集合中的數
據行數等於第一個表中符合查詢條件的數據行數乘以第二個表中符合查詢條件的數據行數。
例,titles表中有6類圖書,而publishers表中有8家出版社,則下列交叉連接檢索到的記錄數將等
於6*8=48行。
SELECT type,pub_name
FROM titles CROSS JOIN publishers
ORDER BY type

『伍』 sql server 簡單的語句

SQL語句大全
By
bob
發表於
2008-3-28
8:26:00
一、基礎
1、說明:創建資料庫
Create
DATABASE
database-name
2、說明:刪除資料庫
drop
database
dbname
3、說明:備份sql
server
---
創建
備份數據的
device
USE
master
EXEC
sp_admpdevice
'disk',
'testBack',
'c:\mssql7backup\MyNwind_1.dat'
---
開始
備份
BACKUP
DATABASE
pubs
TO
testBack
4、說明:創建新表
create
table
tabname(col1
type1
[not
null]
[primary
key],col2
type2
[not
null],..)
根據已有的表創建新表:
A:create
table
tab_new
like
tab_old
(使用舊表創建新表)
B:create
table
tab_new
as
select
col1,col2…
from
tab_old
definition
only
5、說明:刪除新表
drop
table
tabname
6、說明:增加一個列
Alter
table
tabname
add
column
col
type
註:列增加後將不能刪除。DB2中列加上後數據類型也不能改變,唯一能改變的是增加varchar類型的長度。
7、說明:添加主鍵:
Alter
table
tabname
add
primary
key(col)
說明:刪除主鍵:
Alter
table
tabname
drop
primary
key(col)
8、說明:創建索引:create
[unique]
index
idxname
on
tabname(col….)
刪除索引:drop
index
idxname
註:索引是不可更改的,想更改必須刪除重新建。
9、說明:創建視圖:create
view
viewname
as
select
statement
刪除視圖:drop
view
viewname
10、說明:幾個簡單的基本的sql語句
選擇:select
*
from
table1
where
范圍
插入:insert
into
table1(field1,field2)
s(1,2)
刪除:delete
from
table1
where
范圍
更新:update
table1
set
field1=1
where
范圍
查找:select
*
from
table1
where
field1
like
』%1%』
---like的語法很精妙,查資料!
排序:select
*
from
table1
order
by
field1,field2
[desc]
總數:select
count
as
totalcount
from
table1
求和:select
sum(field1)
as
sum
from
table1
平均:select
avg(field1)
as
avg
from
table1
最大:select
max(field1)
as
max
from
table1
最小:select
min(field1)
as
min
from
table1
11、說明:幾個高級查詢運算詞
A:
UNION
運算符
UNION
運算符通過組合其他兩個結果表(例如
TABLE1

TABLE2)並消去表中任何重復行而派生出一個結果表。當
ALL

UNION
一起使用時(即
UNION
ALL),不消除重復行。兩種情況下,派生表的每一行不是來自
TABLE1
就是來自
TABLE2。
B:
EXCEPT
運算符
EXCEPT
運算符通過包括所有在
TABLE1
中但不在
TABLE2
中的行並消除所有重復行而派生出一個結果表。當
ALL

EXCEPT
一起使用時
(EXCEPT
ALL),不消除重復行。
C:
INTERSECT
運算符
INTERSECT
運算符通過只包括
TABLE1

TABLE2
中都有的行並消除所有重復行而派生出一個結果表。當
ALL

INTERSECT
一起使用時
(INTERSECT
ALL),不消除重復行。
註:使用運算詞的幾個查詢結果行必須是一致的。
太多了,我建議你還是買本書看看吧

『陸』 常用標准Sql Server語句有哪些

sql語句分為四類:數據查詢、數據操縱、數據定義、數據控制,其中前三類常用。
數據查詢:select
數據操縱:insert(插入記錄)、update(更新記錄)、delete(刪除記錄)
數據定義:create table(創建表)、alter table(修改表結構)、 drop table(刪除表)
具體用法你可以參看sql server幫助。

『柒』 SQL server 語句大全

DDL—數據定義語言(CREATE,ALTER,DROP,DECLARE) DML—數據操縱語言(SELECT,DELETE,UPDATE,INSERT) DCL—數據控制語言(GRANT,REVOKE,COMMIT,ROLLBACK)首先,簡要介紹基礎語句:1、說明:創建資料庫CREATE DATABASE database-name2、說明:刪除資料庫drop database dbname3、說明:備份sql server--- 創建 備份數據的 deviceUSE masterEXEC sp_admpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'--- 開始 備份BACKUP DATABASE pubs TO testBack4、說明:創建新表create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)根據已有的表創建新表:A:create table tab_new like tab_old (使用舊表創建新表)B:create table tab_new as select col1,col2… from tab_old definition only5、說明:刪除新表:drop table tabname6、說明:增加一個列:Alter table tabname add column col type註:列增加後將不能刪除。DB2中列加上後數據類型也不能改變,唯一能改變的是增加varchar類型的長度。7、說明:添加主鍵:Alter table tabname add primary key(col)說明:刪除主鍵:Alter table tabname drop primary key(col)8、說明:創建索引:create [unique] index idxname on tabname(col….)刪除索引:drop index idxname註:索引是不可更改的,想更改必須刪除重新建。9、說明:創建視圖:create view viewname as select statement刪除視圖:drop view viewname10、說明:幾個簡單的基本的sql語句選擇:select * from table1 where 范圍插入:insert into table1(field1,field2) values(value1,value2)刪除:delete from table1 where 范圍更新:update table1 set field1=value1 where 范圍查找:select * from table1 where field1 like 』%value1%』 ---like的語法很精妙,查資料!排序:select * from table1 order by field1,field2 [desc]總數:select count * as totalcount from table1求和:select sum(field1) as sumvalue from table1平均:select avg(field1) as avgvalue from table1最大:select max(field1) as maxvalue from table1最小:select min(field1) as minvalue from table1 http://blog.csdn.net/hackervs/archive/2008/12/17/3537445.aspx

『捌』 常用標准Sql Server語句

(1) 數據記錄篩選:

sql="select * from 數據表 where 欄位名=欄位值 order by 欄位名 "
sql="select * from 數據表 where 欄位名 like 『%欄位值%『 order by 欄位名 "
sql="select top 10 * from 數據表 where 欄位名 order by 欄位名 "
sql="select * from 數據表 where 欄位名 in (『值1『,『值2『,『值3『)"
sql="select * from 數據表 where 欄位名 between 值1 and 值2"

(2) 更新數據記錄:

sql="update 數據表 set 欄位名=欄位值 where 條件表達式"
sql="update 數據表 set 欄位1=值1,欄位2=值2 …… 欄位n=值n where 條件表達式"

(3) 刪除數據記錄:

sql="delete from 數據表 where 條件表達式"
sql="delete from 數據表" (將數據表所有記錄刪除)

(4) 添加數據記錄:

sql="insert into 數據表 (欄位1,欄位2,欄位3 …) valuess (值1,值2,值3 …)"
sql="insert into 目標數據表 select * from 源數據表" (把源數據表的記錄添加到目標數據表)

(5) 數據記錄統計函數:

AVG(欄位名) 得出一個表格欄平均值
COUNT(*|欄位名) 對數據行數的統計或對某一欄有值的數據行數統計
MAX(欄位名) 取得一個表格欄最大的值
MIN(欄位名) 取得一個表格欄最小的值
SUM(欄位名) 把數據欄的值相加

引用以上函數的方法:

sql="select sum(欄位名) as 別名 from 數據表 where 條件表達式"
set rs=conn.excute(sql)

用 rs("別名") 獲取統的計值,其它函數運用同上。

(5) 數據表的建立和刪除:

CREATE TABLE 數據表名稱(欄位1 類型1(長度),欄位2 類型2(長度) …… )

例:CREATE TABLE tab01(name varchar(50),datetime default now())

DROP TABLE 數據表名稱 (永久性刪除一個數據表)

(6) 記錄集對象的方法:
rs.movenext 將記錄指針從當前的位置向下移一行
rs.moveprevious 將記錄指針從當前的位置向上移一行
rs.movefirst 將記錄指針移到數據表第一行
rs.movelast 將記錄指針移到數據表最後一行
rs.absoluteposition=N 將記錄指針移到數據表第N行
rs.absolutepage=N 將記錄指針移到第N頁的第一行
rs.pagesize=N 設置每頁為N條記錄
rs.pagecount 根據 pagesize 的設置返回總頁數
rs.recordcount 返回記錄總數
rs.bof 返回記錄指針是否超出數據表首端,true表示是,false為否
rs.eof 返回記錄指針是否超出數據表末端,true表示是,false為否
rs.delete 刪除當前記錄,但記錄指針不會向下移動
rs.addnew 添加記錄到數據表末端
rs.update 更新數據表記錄

判斷所填數據是數字型

if not isNumeric(request("欄位名稱")) then
response.write "不是數字"
else
response.write "數字"
end if