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

sql中pad語句

發布時間: 2022-07-13 12:28:27

1. 寫一下簡單sql語句 見補充 快 在線

--1
CREATE TABLE [dbo].[學生情況表](
[學號] [char](7) COLLATE Chinese_PRC_CI_AS NOT NULL,
[姓名] [char](8) COLLATE Chinese_PRC_CI_AS NOT NULL,
[性別] [char](4) COLLATE Chinese_PRC_CI_AS NOT NULL CONSTRAINT [DF_學生情況表_性別] DEFAULT ('男'),
[出生日期] [smalldatetime] NOT NULL,
[班級] [char](5) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF_學生情況表_班級] DEFAULT ((1)),
[總學分] [tinyint] NULL CONSTRAINT [DF_學生情況表_總學分] DEFAULT ((0)),
[備注] [text] COLLATE Chinese_PRC_CI_AS NULL,
CONSTRAINT [PK_學生情況表] PRIMARY KEY CLUSTERED
(
[學號] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
--2
CREATE TABLE [dbo].[課程表](
[課程號] [char](3) COLLATE Chinese_PRC_CI_AS NOT NULL,
[課程名] [char](20) COLLATE Chinese_PRC_CI_AS NOT NULL,
[開課學期] [tinyint] NOT NULL CONSTRAINT [DF_課程表_開課學期] DEFAULT ((1)),
[學時] [tinyint] NOT NULL,
[學分] [tinyint] NOT NULL CONSTRAINT [DF_課程表_學分] DEFAULT ((0)),
CONSTRAINT [PK_課程表] PRIMARY KEY CLUSTERED
(
[課程號] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
--3
CREATE TABLE [dbo].[學生與課程表](
[學號] [char](7) COLLATE Chinese_PRC_CI_AS NOT NULL,
[課程號] [char](3) COLLATE Chinese_PRC_CI_AS NOT NULL,
[成績] [tinyint] NULL CONSTRAINT [DF_學生與課程表_成績] DEFAULT ((0)),
[學分] [tinyint] NULL CONSTRAINT [DF_學生與課程表_學分] DEFAULT ((0)),
CONSTRAINT [PK_學生與課程表] PRIMARY KEY CLUSTERED
(
[學號] ASC,
[課程號] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[課程表] WITH CHECK ADD CONSTRAINT [check_kkxq] CHECK (([開課學期]>=(1) AND [開課學期]<=(8)))
GO
ALTER TABLE [dbo].[課程表] CHECK CONSTRAINT [check_kkxq]
GO
ALTER TABLE [dbo].[學生與課程表] WITH CHECK ADD CONSTRAINT [FK_學生與課程表_課程表] FOREIGN KEY([課程號])
REFERENCES [dbo].[課程表] ([課程號])
GO
ALTER TABLE [dbo].[學生與課程表] CHECK CONSTRAINT [FK_學生與課程表_課程表]
GO
ALTER TABLE [dbo].[學生與課程表] WITH CHECK ADD CONSTRAINT [FK_學生與課程表_學生情況表] FOREIGN KEY([學號])
REFERENCES [dbo].[學生情況表] ([學號])
GO
ALTER TABLE [dbo].[學生與課程表] CHECK CONSTRAINT [FK_學生與課程表_學生情況表]
GO
ALTER TABLE [dbo].[學生與課程表] WITH CHECK ADD CONSTRAINT [check_score] CHECK (([成績]>=(0) AND [成績]<=(100)))
GO
ALTER TABLE [dbo].[學生與課程表] CHECK CONSTRAINT [check_score]

2. sql語句解釋

SET ANSI_NULLS ON--文字編碼ANSI_NULLS開
GO --執行
SET QUOTED_IDENTIFIER ON--文字必須由單引號分隔 開
GO--執行
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[messages]') AND type in (N'U'))--假如在系統目標表裡沒有一個用戶表叫做messages就做
BEGIN--if模塊開始
CREATE TABLE [dbo].[messages](--創建表messages
[id] [int] IDENTITY(1,1) NOT NULL, --列id,數字類型,從1開始,每次張一個,不能空著,自己長
[name] [varchar](20) NOT NULL,-- 列name,字元串20個,不能空著
[emails] [nchar](50) NOT NULL,--列emails,變換字元串50個,不能空著
[contents] [text] NOT NULL,--列contents,文本類型,不能空著
[datatimes] [datetime] NOT NULL CONSTRAINT [DF__mes__time__7D78A4E7] DEFAULT (getdate()),--列datatimes,不能空著,約束規則 [DF__mes__time__7D78A4E7] 默認日期為當天
CONSTRAINT [PK__mes__7C8480AE] PRIMARY KEY CLUSTERED --主鍵約束類型 [PK__mes__7C8480AE]
(
[id] ASC--列id升序排列
)WITH (PAD_INDEX = OFF, --指定索引填充關
STATISTICS_NORECOMPUTE = OFF,--指定是否重新計算分發統計信息關
IGNORE_DUP_KEY = OFF, --指定在插入操作嘗試向唯一索引插入重復鍵值時的錯誤響應關
ALLOW_ROW_LOCKS = ON, --指定是否允許行鎖開,就是允許行鎖
ALLOW_PAGE_LOCKS = ON --指定是否允許使用頁鎖開。
) ON [PRIMARY]--with里的重點完了
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]--允許一些超大值的東西放在文件組里。
END--if模塊結束

這是誰寫的啊!!寫那麼多開關!!!!!

我要是記錯了,或者寫錯了,別噴我。

3. 資料庫中常用的sql語句有哪些

1.檢索數據
SELECT prod_nameFROM Procts;
#檢索單列

SELECT prod_id, prod_name, prod_priceFROMProcts;
#檢索多列

SELECT * FROM Procts;
#檢索所有列

SELECT DISTINCTvend_id FROMProcts;
#檢索不同的值

SELECTprod_name FROM Procts LIMIT 5;
#返回不超過5行數據

SELECTprod_name FROM Procts LIMIT 5 OFFSET 5;
#返回從第5行起的5行數據。LIMIT指定返回的行數,LIMIT帶的OFFSET指定從哪兒開始。
2.排序檢索數據
SELECTprod_name
FROMProcts
ORDER BYprod_name;
#排序數據

SELECT prod_id, prod_price, prod_name
FROMProcts
ORDER BY prod_price, prod_name;
#按多個列排序

SELECT prod_id, prod_price, prod_name
FROMProcts
ORDER BY 2, 3;
#按列位置排序,第三行表示先按prod_price, 再按prod_name進行排序

SELECT prod_id, prod_price, prod_name
FROMProcts
ORDER BY prod_priceDESC, prod_name;
#prod_price列以降序排序,而prod_name列(在每個價格內)仍然按標準的升序排序

3.過濾數據
SELECT prod_name, prod_price
FROMProcts
WHERE prod_price< 10;
#檢查單個值

SELECT prod_name, prod_price
FROMProcts
WHERE vend_id <> 『DLL01』;
#不匹配檢查

SELECT prod_name, prod_price
FROMProcts
WHERE prod_priceBETWEEN 5 AND 10;
#范圍值檢查

SELECT cust_name
FROMCUSTOMERS
WHERE cust_emailIS NULL;
#空值檢查

4.高級數據過濾
SELECTprod_id, prod_price, prod_name
FROMProcts
WHERE vend_id = 『DLL01』ANDprod_price <= 4;
#AND操作符

SELECTprod_name, prod_price
FROMProcts
WHEREvend_id=』DLL01』 OR vend_id=』BRS01』;
#OR操作符

SELECTprod_name, prod_price
FROMProcts
WHERE (vend_id = 』DLL01』ORvend_id=』BRS01』)
ANDprod_price >= 10;
#求值順序 AND的優先順序高於OR

SELECTprod_name, prod_price
FROMProcts
WHERE vend_idIN (『DLL01』,』BRS01』)
ORDER BY prod_name;
#IN操作符

SELECT prod_name
FROMProcts
WHERE NOTvend_id = 『DLL01』
ORDER BY prod_name;
#NOT 操作符

SELECT prod_name
FROMProcts
WHEREvend_id <> 『DLL01』
ORDER BY prod_name;
#NOT 操作符

4. SQL 資料庫中常用的一些語句。。。歸類下

一、基礎
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) 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
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),不消除重復行。
註:使用運算詞的幾個查詢結果行必須是一致的。
12、說明:使用外連接
A、left outer join:
左外連接(左連接):結果集幾包括連接表的匹配行,也包括左連接表的所有行。
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
B:right outer join:
右外連接(右連接):結果集既包括連接表的匹配連接行,也包括右連接表的所有行。
C:full outer join:
全外連接:不僅包括符號連接表的匹配行,還包括兩個連接表中的所有記錄。
二、提升
1、說明:復製表(只復制結構,源表名:a 新表名:b) (Access可用)
法一:select * into b from a where 1<>1
法二:select top 0 * into b from a
2、說明:拷貝表(拷貝數據,源表名:a 目標表名:b) (Access可用)
insert into b(a, b, c) select d,e,f from b;
3、說明:跨資料庫之間表的拷貝(具體數據使用絕對路徑) (Access可用)
insert into b(a, b, c) select d,e,f from b in '具體資料庫' where 條件
例子:..from b in '"&Server.MapPath(".")&"\data.mdb" &"' where..
4、說明:子查詢(表名1:a 表名2:b)
select a,b,c from a where a IN (select d from b ) 或者: select a,b,c from a where a IN (1,2,3)
5、說明:顯示文章、提交人和最後回復時間
select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b
6、說明:外連接查詢(表名1:a 表名2:b)
select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
7、說明:在線視圖查詢(表名1:a )
select * from (SELECT a,b,c FROM a) T where t.a > 1;
8、說明:between的用法,between限制查詢數據范圍時包括了邊界值,not between不包括
select * from table1 where time between time1 and time2
select a,b,c, from table1 where a not between 數值1 and 數值2
9、說明:in 的使用方法
select * from table1 where a [not] in ('值1','值2','值4','值6')
10、說明:兩張關聯表,刪除主表中已經在副表中沒有的信息
delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1 )
11、說明:四表聯查問題:
select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where .....
12、說明:日程安排提前五分鍾提醒
SQL: select * from 日程安排 where datediff('minute',f開始時間,getdate())>5
13、說明:一條sql 語句搞定資料庫分頁
select top 10 b.* from (select top 20 主鍵欄位,排序欄位 from 表名 order by 排序欄位 desc) a,表名 b where b.主鍵欄位 = a.主鍵欄位 order by a.排序欄位
14、說明:前10條記錄
select top 10 * form table1 where 范圍
15、說明:選擇在每一組b值相同的數據中對應的a最大的記錄的所有信息(類似這樣的用法可以用於論壇每月排行榜,每月熱銷產品分析,按科目成績排名,等等.)
select a,b,c from tablename ta where a=(select max(a) from tablename tb where tb.b=ta.b)
16、說明:包括所有在 TableA 中但不在 TableB和TableC 中的行並消除所有重復行而派生出一個結果表
(select a from tableA ) except (select a from tableB) except (select a from tableC)
17、說明:隨機取出10條數據
select top 10 * from tablename order by newid()

19、說明:刪除重復記錄
Delete from tablename where id not in (select max(id) from tablename group by col1,col2,...)
20、說明:列出資料庫里所有的表名
select name from sysobjects where type='U'

23、說明:初始化表table1
TRUNCATE TABLE table1
24、說明:選擇從10到15的記錄
select top 5 * from (select top 15 * from table order by id asc) table_別名 order by id desc

5. 請問誰知道SQL語句有哪些、資料庫表及索引具體是什麼

嗯,我以前學習的時候做了些筆記,希望對你有幫助。
1、使用create database 命令建立簡單的資料庫:
Eg:create database 學生管理
On primary
(name=學生管理_data1,
Filename=』H:\SQL\學生管理_data1.mdf』,
Size=2MB,
Maxsize=10MB,
Filegrowth=2%),
Filegroup p1
(name=學生管理_data2,
Filename=』H:\SQL\學生管理_data2.ndf』,
Size=1MB,
Maxsize=9MB,
Filegrowth=2MB),
(name=學生管理_data3,
Filename=』H:\SQL\學生管理_data3.ndf』,
Size=5MB,
Maxsize=49MB,
Filegrowth=12MB),
Filegroup p2
(name=學生管理_data4,
Filename=』H:\SQL\學生管理_data4.ndf』,
Size=5MB,
Maxsize=49MB,
Filegrowth=12MB)
Log on
(name=學生管理_log1,
Filename=』H:\SQL\學生管理_log1.ldf』,
Size=5MB,
Maxsize=49MB,
Filegrowth=12MB),
(name=學生管理_log2,
Filename=』H:\SQL\學生管理_log2.ldf』,
Size=2MB,
Maxsize=32MB,
Filegrowth=1%)
——所有符號必須在英文狀態下輸入
2、更改資料庫名稱:
Execute sp_renamedb 『old_name』,』new_name』
Eg: execute sp_renamedb '學生管理','students'
execute sp_rename 'students','學生管理','database'
3、更改資料庫所有者:
Execute sp_changedbowner 『用戶名』
4、刪除資料庫:
Drop database 資料庫名
Eg: drop database 學生管理
5、分離資料庫:
Execute sp_detach_db 『dbname『,』邏輯值』—— 『dbname『為資料庫名,』邏輯值』為「true」時表示執行updata statistics;』邏輯值』為「false」時表示不執行updata statistics
Eg: execute sp_detach_db '學生管理'
6、附加資料庫:
Execute sp_attach_db 『dbname『 ,』filename1』,』filename2』....——filename為數據文件與日誌文件的物理文件名
Eg: execute sp_attach_db '學生管理',--附加資料庫
'H:\SQL\學生管理_data1.mdf',
'H:\SQL\學生管理_data2.ndf',
'H:\SQL\學生管理_log1.ldf'
7、數據類型:
(1)字元數據:char(n) varchar(n) text
(2)整數數據:bigint 8位元組;int 4位元組;
smallint 2位元組;tinyint 1位元組
(3)精確數字:decimal(p,s) numeric(p,s)
P代表精度=整數部分的長度+小數部分的長度;s代表小數位數
(4)貨幣數據:money 8位元組 大約表示900萬億;
smallmoney 4位元組 大約表示21萬
(5)日期和時間數據:datatime 8位元組 1753/01/01—9999/12/31;
smalldatatime 4位元組 1900/01/01—2079/01/06
8、創建表:
Create table table_name
(columu_name datatype [null/not null] [identity(種子,遞增量)], columu_name datatype [null/not null].....)—自動編號的類型必須是int/bigint/smallint/tingint或decimal/numeric
Eg: create table 學生
(學號 char(11) not null ,
編號 int not null identity(1,1),
姓名 varchar(8) ,性別 char(2) default '男',
院系 char(20), 電話 char(11), 照片 image ,
備注 text) on filegroup1--(指定所保存的文件組)
Textimage_on filegroup2--(指定文本文件所保存的地方)
9、使用alter table命令修改表結構:
(1)、更改現有列的類型(更改現有欄位的特性)
Alter table tabble_name
Alter column column_name new_datatype[p,s][null/not null]
Eg: alter table 學生
alter column 電話 varchar(20) not null
(2)、更改資料庫名、表名、列名:
更改資料庫名:execute sp_rename 『old_name』,』new_name』, 『database』
更改表名: execute sp_rename 『old_name』,』new_name』, 『object』
更改列名: execute sp_rename 『old_name』,』new_name』, 『column』
更改索引名: execute sp_rename 『old_name』,』new_name』, 『index』
(3)、向表中添加新列(一次可以向表中添加多個列)
Alter table table_name
Add column_name data_type identity(種子,增量)
Eg:alter table 學生
add 住址 varchar
(4)、刪除現有的列:(一次可以刪除多個)
Alter table table_name
Drop column column_name, column_name, column_name...
Eg: alter table 學生
drop column 班級,住址
10、使用drop table 命令刪除表:(一次可以刪除多個表)
Drop table table_name, table_name, table_name...
11、創建和維護check約束(用戶定義完整性):
(1)、創建check約束:
Eg:create table 員工(列級約束,可以直接放列後面,也可放最後)
(職工編號 int identity(1000,1) not null , 姓名 varchar(16) not null, 基本工資 money not null constraint ck_基本工資 check(基本工資>500), 津貼 money not null,
住房補貼 money not null constraint ck_住房補貼 check(津貼+住房補貼>300))
Eg:(表級約束):alter table 職工
Add
constraint ck_住房補貼 check(津貼+住房補貼>300)
(2)、刪除check約束:
Alter table table_name
Drop constraint 約束名1,約束名2,約束名3。。
12、創建和維護primary key(實體完整型/主碼) 約束:(同check約束用法一樣)
Eg:create table 系
(系名 varchar(11), 系編號 char(2) constraint pk_系primary key)
或:create table 成績
(學號 char(11),課程編號 char(3),
分數 tinyint ,primary key(學號,課程編號))
添加:alter table 學生
add constraint pk_學生 primary key (學號)
13、創建和維護foreign key(參照完整型/建立各表之間的連接)約束:
(1)、創建foreign key約束:
Eg:create table table_name
(。。。constraint FK_子表_父表 foreign key reference 表(列))
14. 創建和維護index索引
(1)、創建約束 :
create [unique|nonunique][clustered|non clustered]
index 索引名(ix_表名) on table_name(列1,列2。。。)
[with][ pad_index][,fillfactor=N(填充值)][,ignore_p_key][,drop_exsiting][on 文件組名]
Eg; create index ix_學生 on 學生(學號)
[with pad_index ,fillfactor=40]
(2)、刪除約束:
Drop index 表名.索引名1,表名.索引名2。。。
Eg: drop index 學生.ix_學生
(3)、修改已存在索引的相關設置:
create [unique|nonunique][clustered|non clustered]
index 索引名(ix_表名) on table_name(列1,列2。。。)
[with][ pad_index][,fillfactor=N(填充值)][,ignore_p_key] drop_exsiting [on 文件組名]
Eg:create unique index ix_學生 on 學生(學號)
[with pad_index ,fillfactor=50,]
drop_existing
15.數據記錄的添加、修改、和刪除
(1)、刪除記錄:
Delete 表名[where條件]
Eg:delete 學生 where 姓名 = '王平'
(2)、添加記錄:
insert [into] 表名 (列名1,列名2,列名3。。。)
values(表達式1,表達式2,表達式3。。。)
Eg: insert into 學生
values('20090223001','張三','男','營銷093','團員','班長')
insert into 學生
values('20090223003','王平','女','營銷093','團員','同學')
(3)、修改記錄:
Update 表名
Set列名=表達式 [where 條件]
Eg: update 學生
set 獎學金=獎學金+200
16、連接查詢:
(1)、inner join 連接
Eg:select 學生.學號,姓名,課程.課程號,成績
From 學生 inner join 選課 inner join 課程(一對多聯系)
On選課.課程編號=課程.課程編號
On學生.學號=選課.學號
——(on後的順序剛好與inner join的順序相反)
(2)、from連接
Eg:select 學生.學號,姓名,課程.課程號,成績
From 學生,選課,課程
Where 選課.課程編號=課程.課程編號
And 學生.學號=選課.學號
(3)group by ,having(一般一起用)
Eg:Select學號,姓名
From 學生, 成績
Where學生.學號=成績.學號
Group by 學號,姓名
Having count(*)>10
(4)、order by,top(一般一起用)
Top n[percent][with ties]
Order by [asc\desc] 默認為asc
Eg:select top 10 percent with ties 學號,姓名,年齡
From 學生
Order by 年齡

6. 幾條SQL的語句,求解釋。具體見問題補充

根據樓主的判斷 估計前面的都沒有問題了 我主要解釋下後面的部分
從倒數第5行,是建立一個默認約束 約束名是[DF_Student_login_sl_ifclass] 默認值是0

倒數第4行 ,把[s_id] 設為主鍵 並在此主鍵上建立聚集索引 索引名是[PK_Student_login]

後面就是一些補充 我們寫腳本的時候 都不寫這個 這個是生成腳本時 有的
pad_index:指定索引中間級中每個頁(節點)上保持開放的空間

ALLOW_ROW_LOCKS:允許行鎖

ALLOW_PAGE_LOCKS:允許頁鎖

這些意義都不大 默認就行了 不用太糾結
希望採納 祝樓主學習進步

7. SQL 語句怎麼寫

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[表名](
[Id] [int] IDENTITY(1,1) NOT NULL,
[TeaName] [varchar](50) NULL,
[Tel] [varchar](max) NULL,
[UserName] [varchar] NULL,
[UserPwd] [int] NULL,
[UserType] [varchar](10) NULL,
CONSTRAINT [PK_表名] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO

不知道對不對,其他各個表相應的表名、列名、主鍵自行更改。

8. Sql建表語句中不明的字元串

約束那段是對 主鍵 屬性的 (attendanceid asc)
with(pad_index=off,statistics_norecompute=off,ignore_p_key=off,all_row_locks=on,allow_page_locks=on)on primary
PAD_INDEX
指定填充索引的內部節點的行數,至少應大於等於兩行。PAD_INDEX 選項只有在FILLFACTOR 選項指定後才起作用。因為PAD_INDEX 使用與FILLFACTOR 相同的百分比。預設時,SQL Server 確保每個索引頁至少有能容納一條最大索引行數據的空閑空間。如果FILLFACTOR 指定的百分比不夠容納一行數據S,QL Server 會自動內部更改百分比。
STATISTICS_NORECOMPUTE
指定分布統計不自動更新。需要手動執行不帶NORECOMPUTE 子句的UPDATESTATISTICS 命令。
IGNORE_DUP_KEY
此選項控制了當往包含於一個惟一約束中的列中插入重復數據時SQL Server 所作的反應。當選擇此選項時,SQL Server 返回一個錯誤信息,跳過此行數據的插入,繼續執行下面的插入數據的操作:當沒選擇此選項時,SQL Server 不僅會返回一個錯誤信息,還會回滾(Rolls Back)整個INSERT 語句
all_row_locks
是否允許行鎖
allow_page_locks
是否允許頁面鎖
當然 on 和 off 就是打開 和 關閉了

9. 三、 用SQL的有關語句定義:

僅看三表

主鍵
Number,
Idno,
身份證號碼Idno、航班號Number

外鍵
身份證號碼Idno、航班號Number

索引例子
/*例5-19 為db資料庫中的表student創建了一個唯一聚集索引。*/
/*程序清單如下:*/
Use db
CREATE UNIQUE CLUSTERED INDEX [id_index] ON student (id)
with
pad_index,
fillfactor=20,
ignore_p_key,
drop_existing,
statistics_norecompute