freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

chapter05-數(shù)據(jù)庫與表的管理-資料下載頁

2025-03-13 19:28本頁面
  

【正文】 EFAULT 39。Male39。, BirthDate datetime CHECK ( BirthDateGetDate() ), HireDate datetime, Address varchar(40) DEFAULT CHAR(32), Postalcode nchar(6) CONSTRAINT DF_myEmployees_Postalcode DEFAULT(39。10000039。) ) GO 69 實(shí)例 518(續(xù)) ALTER TABLE myEmployees ADD CONSTRAINT DF_myEmployees_HireDate DEFAULT (GetDate()) FOR HireDate GO 解析: 使用 ALTER TABLE定義表級 DEFAULT約束顯然比較繁瑣,建議在建表時(shí)定義在列級上。 DEFAULT缺省約束 70 列的為空性 ( Nullability) 決定該列在表中是否允許空值。 ? 空值 NULL并不等于零( 0)、空格或零長度的字符串(即’’) ? 空值 NULL是指值還沒有確定或未被定義( unknown),而零和空格都是已經(jīng)明確的值。 在建表時(shí),列在默認(rèn)情況下是可以為空的。 ? 由于空值在數(shù)據(jù)查詢和更新時(shí)會使操作變得比較復(fù)雜,因此在定義列時(shí)應(yīng)避免允許空值。 NOT NULL非空約束 71 實(shí)例 519 使用 ALTER TABLE在既有表中修改完整性約束條件。 本實(shí)例 myExample表在初始定義時(shí)包含兩個(gè)列,使用ALTER TABLE語句先在該表中增加兩列(其中 Col3為IDENTITY列, Col4列帶一個(gè)默認(rèn)約束),然后將表中的主鍵定義從 Col1列轉(zhuǎn)移到新增的 Col3列上,最后刪除Col2這一列。 在刪除某列時(shí),必須先刪除這列上的各個(gè)約束條件。 NOT NULL非空約束 72 實(shí)例 519(續(xù) 1) IF (OBJECT_ID(39。myExample39。) IS NOT NULL) DROP TABLE myExample GO CREATE TABLE myExample ( Col1 int CONSTRAINT PK_myExample PRIMARY KEY, Col2 int CONSTRAINT UQ_myExample_Col2 UNIQUE ) GO INSERT INTO myExample (Col1,Col2 ) VALUES (1,100) /* 修改表,新增兩列。 */ ALTER TABLE myExample ADD Col3 INT NOT NULL IDENTITY(9001,1), Col4 DECIMAL(6,2) CONSTRAINT DF_myExample_Col4 DEFAULT() NOT NULL非空約束 73 實(shí)例 519(續(xù) 2) INSERT INTO myExample (Col1,Col2 ) VALUES (2,200) /* 先刪除 Col1列上的主鍵約束,然后在 Col3列上新建一個(gè)主鍵約束。 */ ALTER TABLE myExample DROP CONSTRAINT PK_myExample ALTER TABLE myExample ADD CONSTRAINT PK_myExample PRIMARY KEY(Col3) GO /* 刪除 Col2列。由于這列上有一個(gè) UNIQUE約束,必須先刪除這個(gè)約束,然后才能刪除這個(gè)列。 */ ALTER TABLE myExample DROP CONSTRAINT UQ_myExample_Col2 ALTER TABLE myExample DROP Column Col2 SELECT * FROM myExample NOT NULL非空約束 74 實(shí)例 520 向既有表添加各類約束條件,使用 WITH NOCHECK選項(xiàng)來忽略原有數(shù)據(jù)對新約束的限制。 ALTER TABLE的一種常見功能是向已存在的表中添加各類約束,如主鍵、外鍵、 CHECK約束、 DEFAULT約束等,這類操作最主要的風(fēng)險(xiǎn)來自于新增的約束是否會對已有的數(shù)據(jù)行產(chǎn)生影響。 本實(shí)例在添加約束時(shí)使用 WITH CHECK或 WITH NOCHECK,指定新增的約束是否對表中原有的數(shù)據(jù)進(jìn)行驗(yàn)證。如果不希望對原有數(shù)據(jù)進(jìn)行約束驗(yàn)證,可以使用 WITH NOCHECK選項(xiàng)。 NOT NULL非空約束 75 實(shí)例 520(續(xù) 1) IF (OBJECT_ID(39。myExample39。) IS NOT NULL) DROP TABLE myExample GO CREATE TABLE myExample ( f1 int identity(1,1), f2 int default(0), f3 char(4) ) INSERT INTO myexample (f2,f3) VALUES(10,39。ABCD39。) /* 增加一個(gè)主鍵約束,并對原有數(shù)據(jù)加以驗(yàn)證。 */ ALTER TABLE myExample WITH CHECK ADD CONSTRAINT PK_myExample PRIMARY KEY(f1)。 /* 增加一個(gè) CHECK約束,不對原有數(shù)據(jù)加以驗(yàn)證。 */ ALTER TABLE myExample WITH NOCHECK ADD CONSTRAINT CK_myExample_f3 CHECK (f3 LIKE 39。[19][09][09][09]39。) GO NOT NULL非空約束 76 實(shí)例 520(續(xù) 2) INSERT INTO myExample (f2,f3) VALUES(20,39。330139。) GO /* 增加一個(gè)表級 CHECK約束,對原有數(shù)據(jù)加以驗(yàn)證。 */ ALTER TABLE myExample WITH CHECK ADD CONSTRAINT CK_myExample_chk1 CHECK (f2=f1) SELECT * FROM myExample NOT NULL非空約束 77 行插入: INSERT語句插入行到數(shù)據(jù)庫表中去 行修改: UPDATE語句修改表中的數(shù)據(jù) 行刪除: DELETE語句從表中刪除數(shù)據(jù) 表數(shù)據(jù)更新 78 INSERT語句向表中插入行的方式主要有以下幾種: ① 插入完整的行; ② 插入行中的一部分列; ③ 批量插入某個(gè)查詢結(jié)果。 INSERT語句的基本語法如下: INSERT [INTO] table_name [ ( column_list ) ] VALUES ( { DEFAULT | NULL | expression } [ ,...n] ) | derived_table 這里 INTO是一個(gè)可選關(guān)鍵字, column_list引入要插入列的列表,各列之間用逗號分隔。 VALUES引入插入數(shù)據(jù)值的列表。對于 column_list或表中的每一列,都必須有一個(gè)數(shù)據(jù)值。 DEFAULT是列定義的默認(rèn)值。 derived_table是插入到表中的數(shù)據(jù)行的 SELECT語句。 插入數(shù)據(jù) 79 實(shí)例 521 插入完整的行,表中每一列都賦值。 把數(shù)據(jù)插入到表中最簡單的方法是使用基本的 INSERT語法,它僅要求指定表名和被插入到新行中的值,而無需指明插入列的列表,這時(shí)表中所有可以插入值的列都將被填充數(shù)據(jù),當(dāng)然除IDENTITY列和計(jì)算列之外。 本實(shí)例向員工表( myEmployees)中插入記錄時(shí),標(biāo)識列EmployeeID和計(jì)算列 Age不能被賦值。由于沒有列出被賦值的列表,因此所有其它可以賦值的列都必須賦值(包括 NULL值)。列賦值的次序與建表時(shí)列定義的先后次序相同。 插入數(shù)據(jù) 80 實(shí)例 521(續(xù) ) IF (OBJECT_ID(39。myEmployees39。) IS NOT NULL) DROP TABLE myEmployees GO CREATE TABLE myEmployees ( EmployeeID int IDENTITY(1,1), FirstName nvarchar(10), Minit char(1), LastName nvarchar(20), BirthDate datetime, Age AS year(GetDate())year(birthdate) ) GO INSERT INTO myEmployees VALUES(39。Karin39。, 39。F39。, 39。Josephs39。,39。195212139。) INSERT INTO myEmployees VALUES (39。Pirkko39。, 39。O39。, 39。Koskitalo39。,39。1964102339。) SELECT * FROM myEmployees 插入數(shù)據(jù) 81 實(shí)例 522 指定賦值列的列表,向表中插入行,并使用默認(rèn)值 . 在 INSERT操作中可以省略某些列,這些列必須是在定義時(shí)允許為 NULL值或已給定了默認(rèn)值。在指定列名的 INSERT語句中,列的次序、個(gè)數(shù)和數(shù)據(jù)類型必須與 VALUES列表中的各個(gè)值相對應(yīng)。 本例第一條 INSERT語句中的每一列都被賦值,但列的次序與建表時(shí)發(fā)生了改變。 第二條 INSERT語句中的 Minit和 BirthDate列沒有賦值。由于 Minit有默認(rèn)值定義,因此這列得到一個(gè)默認(rèn)值,而BirthDate沒有默認(rèn)值,得到 NULL值。由于計(jì)算列 Age的表達(dá)式中包含 BirthDate,這時(shí) Age列的值也為 NULL值。 第三條 INSERT語句中的 DEFAULT VALUES子句為每個(gè)定義默認(rèn)值的列賦值,沒有定義默認(rèn)值的列給出 NULL值。 插入數(shù)據(jù) 82 實(shí)例 522(續(xù) 1) IF (OBJECT_ID(39。myEmployees39。) IS NOT NULL) DROP TABLE myEmployees GO CREATE TABLE myEmployees ( EmployeeID int IDENTITY(1,1), FirstName nvarchar(10), Minit char(1) DEFAULT 39。O39。, LastName nvarchar(20), BirthDate datetime, Age AS Year(GetDate())Year(BirthDate) ) GO 插入數(shù)據(jù) 83 實(shí)例 522(續(xù) 2) INSERT INTO myEmployees (FirstName,LastName,Minit,BirthDate) VALUES (39。Robert39。, 39。King39。,39。F39。,39。19523139。) INSERT INTO myEmployees (FirstName,LastName) VALUES (39。Pirkko39。, 39。Koskitalo39。) INSERT INTO myEmployees DEFAULT VALUES SELECT * FROM myEmployees 插入數(shù)據(jù) 84 實(shí)例 523 使用 INSERT … SELECT 語句批量插入行。 本實(shí)例使用 SELECT語句將員工表( Employees)中的記錄檢索出來,然后使用 INSERT語句一次性地、批量地插入到新表myEmployees中去。 這時(shí), INSERT語句中列的次序、個(gè)數(shù)、數(shù)據(jù)類型必須與SELECT語句中返回的列表相一致。 INSERT…SELECT 語句對于不同表之間的數(shù)據(jù)導(dǎo)入導(dǎo)出非常有用。 插入數(shù)據(jù) 85 實(shí)例 523(續(xù)) IF (OBJECT_ID(39。myEmployees39。) IS NOT NULL) DROP TABLE myEmployees GO CREATE TABLE myEmployees ( EmpID int IDENTITY(1,1), Fname nvarchar(10), Lname nvarchar(20), Title nvarchar(25) , BirthDate datetime, Age AS year(GetDate())year(birthdate) ) GO INSERT INTO myEmployees (Fname,Lname,BirthDate,Title) SELECT FirstName,LastName, BirthDate,Title FROM Employees GO SE
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1