欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
SQL的基本操作
1.數據類(lèi)型
數據類(lèi)弄是數據的一種屬性,表示數據所表示信息的類(lèi)型。任何一種計算機語(yǔ)言都定義了自己的數據類(lèi)型。當然,不同的程序語(yǔ)言都具有不同的特點(diǎn),所定義的數據類(lèi)型的各類(lèi)和名稱(chēng)都或多或少有些不同。SQL Server 提供了 25 種數據類(lèi)型:
·Binary [(n)]
·Varbinary [(n)]
·Char [(n)]
·Varchar[(n)]
·Nchar[(n)]
·Nvarchar[(n)]
·Datetime
·Smalldatetime
·Decimal[(p[,s])]
·Numeric[(p[,s])]
·Float[(n)]
·Real
·Int
·Smallint
·Tinyint
·Money
·Smallmoney
·Bit
·Cursor
·Sysname
·Timestamp
·Uniqueidentifier
·Text
·Image
·Ntext
(1)二進(jìn)制數據類(lèi)型
二進(jìn)制數據包括 Binary、Varbinary 和 Image.
Binary 數據類(lèi)型既可以是固定長(cháng)度的(Binary),也可以是變長(cháng)度的。
Binary[(n)] 是 n 位固定的二進(jìn)制數據。其中,n 的取值范圍是從 1 到 8000。其存儲窨的大小是 n + 4 個(gè)字節。
Varbinary[(n)] 是 n 位變長(cháng)度的二進(jìn)制數據。其中,n 的取值范圍是從 1 到 8000。其存儲窨的大小是 n + 4個(gè)字節,不是 n 個(gè)字節。
在 Image 數據類(lèi)型中存儲的數據是以位字符串存儲的,不是由 SQL Server 解釋的,必須由應用程序來(lái)解釋。例如,應用程序可以使用 BMP、TIEF、GIF 和 JPEG 格式把數據存儲在 Image 數據類(lèi)型中。
(2)字符數據類(lèi)型
字符數據的類(lèi)型包括 Char,Varchar 和 Text。
字符數據是由任何字母、符號和數字任意組合而成的數據。
Varchar 是變長(cháng)字符數據,其長(cháng)度不超過(guò) 8KB。Char 是定長(cháng)字符數據,其長(cháng)度最多為 8KB。超過(guò) 8KB 的ASCII 數據可以使用Text 數據類(lèi)型存儲。例如,因為 Html 文檔全部都是 ASCII 字符,并且在一般情況下長(cháng)度超過(guò) 8KB,所以這些文檔可以 Text 數據類(lèi)型存儲在 SQL Server 中。
(3)Unicode 數據類(lèi)型
Unicode 數據類(lèi)型包括 Nchar,Nvarchar 和Ntext。
在 Microsoft SQL Server 中,傳統的非 Unicode 數據類(lèi)型允許使用由特定字符集定義的字符。在 SQL Server 安裝過(guò)程中,允許選擇一種字符集。使用 Unicode 數據類(lèi)型,列中可以存儲任何由Unicode 標準定義的字符。在 Unicode 標準中,包括了以各種字符集定義的全部字符。使用Unicode 數據類(lèi)型,所戰勝的窨是使用非 Unicode 數據類(lèi)型所占用的窨大小的兩倍。
在 SQL Server 中,Unicode 數據以 Nchar、Nvarchar 和 Ntext 數據類(lèi)型存儲。使用這種字符類(lèi)型存儲的列可以存儲多個(gè)字符集中的字符。當列的長(cháng)度變化時(shí),應該使用 Nvarchar 字符類(lèi)型,這時(shí)最多可以存儲 4000 個(gè)字符。當列的長(cháng)度固定不變時(shí),應該使用 Nchar 字符類(lèi)型,同樣,這時(shí)最多可以存儲 4000 個(gè)字符。當使用 Ntext 數據類(lèi)型時(shí),該列可以存儲多于 4000 個(gè)字符。
(4)日期和時(shí)間數據類(lèi)型
日期和時(shí)間數據類(lèi)型包括 Datetime 和 Smalldatetime 兩種類(lèi)型。
日期和時(shí)間數據類(lèi)型由有效的日期和時(shí)間組成。例如,有效的日期和時(shí)間數據包括“4/01/98 12:15:00:00:00 PM”和“1:28:29:15:01 AM 8/17/98”。前一個(gè)數據類(lèi)型是日期在前,時(shí)間在后一個(gè)數據類(lèi)型是霎時(shí)間在前,日期在后。在 Microsoft SQL Server 中,日期和時(shí)間數據類(lèi)型包括Datetime 和 Smalldatetime 兩種類(lèi)型時(shí),所存儲的日期范圍是從 1753 年 1 月 1 日開(kāi)始,到 9999 年12 月 31 日結束(每一個(gè)值要求 8 個(gè)存儲字節)。使用 Smalldatetime 數據類(lèi)型時(shí),所存儲的日期范圍是 1900 年 1 月 1日 開(kāi)始,到 2079 年 12 月 31 日結束(每一個(gè)值要求 4 個(gè)存儲字節)。
日期的格式可以設定。設置日期格式的命令如下:
Set DateFormat {format | @format _var|
其中,format | @format_var 是日期的順序。有效的參數包括 MDY、DMY、YMD、YDM、MYD 和 DYM。在默認情況下,日期格式為 MDY。
例如,當執行 Set DateFormat YMD 之后,日期的格式為年 月 日 形式;當執行 Set DateFormat DMY 之后,日期的格式為 日 月有年 形式
(5)數字數據類(lèi)型
數字數據只包含數字。數字數據類(lèi)型包括正數和負數、小數(浮點(diǎn)數)和整數 。
整數由正整數和負整數組成,例如 39、25、0-2 和 33967。在 Micrsoft SQL Server 中,整數存儲的數據類(lèi)型是 Int,Smallint 和 Tinyint。Int 數據類(lèi)型存儲數據的范圍大于 Smallint 數據類(lèi)型存儲數據的范圍,而 Smallint 據類(lèi)型存儲數據的范圍大于 Tinyint 數據類(lèi)型存儲數據的范圍。使用 Int 數據狗昔存儲數據的范圍是從 -2 147 483 648 到 2 147 483 647(每一個(gè)值要求 4個(gè)字節存儲空間)。使用 Smallint 數據類(lèi)型時(shí),存儲數據的范圍從 -32 768 到 32 767(每一個(gè)值要求2個(gè)字節存儲空間)。使用 Tinyint 數據類(lèi)型時(shí),存儲數據的范圍是從0 到255(每一個(gè)值要求1個(gè)字節存儲空間)。
精確小婁數據在 SQL Server 中的數據類(lèi)型是 Decimal 和 Numeric。這種數據所占的存儲空間根據該數據的位數后的位數來(lái)確定。
在SQL Server 中,近似小數數據的數據類(lèi)型是 Float 和 Real。例如,三分之一這個(gè)分數記作。3333333,當使用近似數據類(lèi)型時(shí)能準確表示。因此,從系統中檢索到的數據可能與存儲在該列中數據不完全一樣。
(6)貨幣數據表示正的或者負的貨幣數量 。在 Microsoft SQL Server 中,貨幣數據的數據類(lèi)型是Money 和 Smallmoney。Money 數據類(lèi)型要求 8 個(gè)存儲字節,Smallmoney 數據類(lèi)型要求 4 個(gè)存儲字節。
(7)特殊數據類(lèi)型
特殊數據類(lèi)型包括前面沒(méi)有提過(guò)的數據類(lèi)型。特殊的數據類(lèi)型有3種,即 Timestamp、Bit 和 Uniqueidentifier。
Timestamp 用于表示SQL Server 活動(dòng)的先后順序,以二進(jìn)投影的格式表示。Timestamp 數據與插入數據或者日期和時(shí)間沒(méi)有關(guān)系。
Bit 由 1 或者 0 組成。當表示真或者假、ON 或者 OFF 時(shí),使用 Bit 數據類(lèi)型。例如,詢(xún)問(wèn)是否是每一次訪(fǎng)問(wèn)的客戶(hù)機請求可以存儲在這種數據類(lèi)型的列中。
Uniqueidentifier 由 16 字節的十六進(jìn)制數字組成,表示一個(gè)全局唯一的。當表的記錄行要求唯一時(shí),GUID是非常有用。例如,在客戶(hù)標識號列使用這種數據類(lèi)型可以區別不同的客戶(hù)。
2.用戶(hù)定義的數據類(lèi)型
用戶(hù)定義的數據類(lèi)型基于在 Microsoft SQL Server 中提供的數據類(lèi)型。當幾個(gè)表中必須存儲同一種數據類(lèi)型時(shí),并且為保證這些列有相同的數據類(lèi)型、長(cháng)度和可空性時(shí),可以使用用戶(hù)定義的數據類(lèi)型。例如,可定義一種稱(chēng)為 postal_code 的數據類(lèi)型,它基于 Char 數據類(lèi)型。
當創(chuàng )建用戶(hù)定義的數據類(lèi)型時(shí),必須提供三個(gè)數:數據類(lèi)型的名稱(chēng)、所基于的系統數據類(lèi)型和數據類(lèi)型的可空性。
(1)創(chuàng )建用戶(hù)定義的數據類(lèi)型
創(chuàng )建用戶(hù)定義的數據類(lèi)型可以使用 Transact-SQL 語(yǔ)句。系統存儲過(guò)程 sp_addtype 可以來(lái)創(chuàng )建用戶(hù)定義的數據類(lèi)型。其語(yǔ)法形式如下:
sp_addtype {type},[,system_data_bype][,‘null_type‘]
其中,type 是用戶(hù)定義的數據類(lèi)型的名稱(chēng)。system_data_type 是系統提供的數據類(lèi)型,例如 Decimal、Int、Char 等等。 null_type 表示該數據類(lèi)型是如何處理空值的,必須使用單引號引起來(lái),例如‘NULL‘、‘NOT NULL‘或者‘NONULL‘。
例子:
Use cust
Exec sp_addtype ssn,‘Varchar(11)‘,"Not Null‘
創(chuàng )建一個(gè)用戶(hù)定義的數據類(lèi)型 ssn,其基于的系統數據類(lèi)型是變長(cháng)為11 的字符,不允許空。
例子:
Use cust
Exec sp_addtype birthday,datetime,‘Null‘
創(chuàng )建一個(gè)用戶(hù)定義的數據類(lèi)型 birthday,其基于的系統數據類(lèi)型是 DateTime,允許空。
例子:
Use master
Exec sp_addtype telephone,‘varchar(24),‘Not Null‘
Eexc sp_addtype fax,‘varchar(24)‘,‘Null‘
創(chuàng )建兩個(gè)數據類(lèi)型,即 telephone 和 fax
(2)刪除用戶(hù)定義的數據類(lèi)型
當用戶(hù)定義的數據類(lèi)型不需要時(shí),可刪除。刪除用戶(hù)定義的數據類(lèi)型的命令是 sp_droptype {‘type‘}。
例子:
Use master
Exec sp_droptype ‘ssn‘
注意:當表中的列還正在使用用戶(hù)定義的數據類(lèi)型時(shí),或者在其上面還綁定有默認或者規則時(shí),這種用戶(hù)定義的數據類(lèi)型不能刪除。
2.數據庫的相關(guān)操作
1.如何創(chuàng )建數據庫
(1).使用 Create Database 創(chuàng )建數據庫
Create Database 語(yǔ)名的語(yǔ)法形式如下:
Create Database database_name
[On
{[Primary](Name=logical_file_name,
Filename=‘os_file_name‘
[,Size=size]
[,Maxsize=max_size]
}[,...n]
]
[Log On
}(Name=Logical_name,
Filename=‘os_file_name‘
[,Size=size])
}[,...n]
]
[For Restore]
注釋?zhuān)?div style="height:15px;">
Primary:該選項是一個(gè)關(guān)鍵字,用來(lái)指定主文件組中的文件。主文件組不公包含了數據庫系統表中的全部?jì)热?,而且還包含了沒(méi)有在用戶(hù)文件組中包含的全部對象。一個(gè)數據庫只能有一個(gè)主文件。在默認情況下,即在沒(méi)有指定Primary關(guān)鍵字時(shí),列在語(yǔ)句中的第一個(gè)文件就是主文件。
Name:該選項指定數據庫的邏輯名字,這是在SQL Server 系統中使用的名稱(chēng),是數據庫在SQL Server 中標識符。
Filename:該選項用來(lái)指定數據庫所在文件的操作系統文件名稱(chēng)和路徑。在os_file_name中的路徑必須是SQL Server 所在服務(wù)器上的一個(gè)文件夾。該操作系統文件名稱(chēng)與Name 的邏輯名稱(chēng)是一一對應的。
Size:該選項用來(lái)指定數據庫操作系統文件的大小。在指定文件大小的時(shí)候,既可以使用MB單位,也可以使用KB單位。如果沒(méi)有指定單位,那么系統默認的單位是MB。文件最小是1MB,也就是說(shuō),數據庫所在的文件不能小于1MB。在默認情況下,數據庫數據文件的大小是3MB,數據庫日志文件的大小是1MB。
Maxsize:該選項用來(lái)指定操作系統文件可以增長(cháng)的最大尺寸。在指定文件增長(cháng)尺寸的時(shí)候,既可以使用MB單位,也可以使用KB單位。如果沒(méi)有指定單位,那么系統的默認單位是MB。如果沒(méi)有指定文件可以增長(cháng)的最大尺寸,那么系統的增長(cháng)是沒(méi)有限制的,可以占滿(mǎn)整個(gè)磁盤(pán)空間。
FielGrowth:該選取項用來(lái)指定文件的增量,當然該選項不能與Maxsize選項有沖突。該選項指定的數據值為零時(shí),表示文件不能增長(cháng)。該選項可以用MB、KB和百分比指定。
例子:
創(chuàng )建一個(gè)cust數據庫,該數據庫的主數據文件的邏輯名稱(chēng)是cust_data,操作系統文件是cust.mdf,大小是15MB,最大是30MB,以20%的速度增加;該數據庫的日志文件的邏輯名稱(chēng)是cust_log,操作系統是cust.ldf,大小是3MB,最大是10MB,以1MB的速度增加。
Create Database cust
On
Primary (Name=cust_data,
Filename=‘d:cust.mdf‘,
Size=15MB,
Maxsize=30MB,
Filegrowth=20%)
Log On
(Name=cust_log,
Filename=‘d:cust.ldf‘,
Size=3MB,
Maxsize=10MB,
FileGrowth=1MB)
2.如何增加數據庫的大小
(1).使用Alter Database命令來(lái)增加數據庫文件的大小
如果在創(chuàng )建數據庫文件時(shí)沒(méi)有配置文件的大小自動(dòng)增長(cháng),那么可以使用Alter Database命令來(lái)增加文件的大小。
例子:
將數據庫cust的數據文件cust_data的大小調整為50MB。
Alter Database cust
Modify File (Name=‘cust_data‘,Size=50)
(2).使用Add File 增加一個(gè)次要文件
通過(guò)為數據庫增加次要的數據文件和日志文件來(lái)增加數據庫的大小。
例子:
Alter Database cust
Add File
(Name=cust_data2,Filename=‘d:cust2.mdf‘,
Size=5MB,
Maxsize=10MB,
Filegrowth=10%)
3.壓縮數據庫和數據文件
(1)使用Dbcc Shrinkdatabase 命令壓縮整個(gè)數據庫
例子:
將cust數據庫的大小壓縮到10%
Dbcc Shrinkdatabase (cust,10)
(2)使用Dbcc ShrinkFile命令壓縮數據庫中的某一個(gè)數據文件
例子:
將cust數據文件的大小壓縮到5MB
Dbcc ShrinkFile (cust,5)
4.刪除數據庫
(1)使用Drop命令刪除數據庫
例子:
將刪除cust數據庫
Drop Database cust
3.表的相關(guān)操作)
1.創(chuàng )建表
(1)用Create Table 命令創(chuàng )建表
語(yǔ)法:
Create Table tabl_name
({
}column_name As computed_column_expression
}
}[,...n]
)
[On {fiegroup | Default}]
[Textimage_On {fiegroup | Default}]
例子:
打開(kāi)cust數據庫,創(chuàng )建一個(gè)表,該表包含了學(xué)生的有關(guān)信息,即有學(xué)號、姓名、性別、出生日期、籍貫、聯(lián)系電話(huà)、住址和備注信息。
Use cust
Create Table students
(
number int not null,
name varchar(10) not null,
sex char(2) null,
birthday datetime null,
hometown varchar(30) null,
telphone_no varchar(12) null,
address varchar(30) null,
others varchar(50) null
)
在這個(gè)表中number表示學(xué)生代號,數據類(lèi)型為int,不允許為空;name表示學(xué)生姓名,數據類(lèi)型為varchar,長(cháng)度為10,不允許為空;sex表示學(xué)生的性別,數據類(lèi)型為char,長(cháng)度為2,允許為空;birthday表示學(xué)生的出生日期,數據類(lèi)型為datetime,允許為空;hometown表示學(xué)生的籍貫,數據類(lèi)型為varchar,長(cháng)度為30,允許為空;telephone_no表示學(xué)生的聯(lián)系電腦,數據類(lèi)型為varchar,長(cháng)度為12,允許為空;address表示學(xué)生的住址,數據類(lèi)型為varchar,長(cháng)度為30,允許為空;others表示學(xué)生的備注信息,長(cháng)度為50,允許為空。
2.修改表的結構
(1)使用T-SQL語(yǔ)句增加和刪除一個(gè)新列
語(yǔ)法:
Alter Table table
{
ADO
{[]
|colun_name As computed_column_expression
|[]
}[,...n]
|Drop
{Column column
}[,...n]
}
例子:打開(kāi)cust數據庫,修改其中的表students的結構,增加一個(gè)新字段,字段名為ying,數據類(lèi)型是varchar,長(cháng)度是10,沒(méi)有默認值,充許為空。
Use cust
Alter Table students Add ying varchar(10) null
打開(kāi)cust數據庫,修改其中的表students的結構,刪除一個(gè)字段,字段名為ying。
Use cust
Alter Table students Drop Column ying
3.向表中插入數據
(1)用 Insert 語(yǔ)句
語(yǔ)法如下:
Insert [Into]
{table_name|view_name}[(column_list)]
{Values|values_list|select_statement}
注意:在插入數據時(shí),字符數據和日期數據要使用引號引起來(lái)。
例子:
Use cust
Insert Into students
Values (11,"影子","男","1999-12-12","湖北","83779805","武漢市橋口區","VB愛(ài)好者")
打開(kāi)cust數據庫,向students表中插入數據
(2)用Default 選項
在插入數據時(shí),可以使用Default選項。Default選項有兩種形式,一種形式是Default Values,另一種是Default。
Default Values 形式為表中的某一行的所有列插入默認值。使用這種形式的前提條件是表中的所有列必須是這四種類(lèi)型之一:Identity屬性,Timestamp數據類(lèi)型,允許為Null,或者有一個(gè)指定的默認值。否則,會(huì )錯誤信息。
例子:
Use cust
Insert Into students Default Values
這個(gè)例子會(huì )出現錯誤,因為students表的number字段是設置為不允許為空的。
Default 形式是為表中的某一列插入默認值。要插入的該列必須具備一定的條件,即該列要么是Timestamp 數據類(lèi)型,要么是允許為Null,要么是有一個(gè)指定的默認值,否則,會(huì )出現錯誤信息。
例子:
Use cust
Insert Into students Values(11,"影子",Default,Default,Default,Default,Default,Default)
由天前2個(gè)字段不能為空,所以要賦值,否則會(huì )出現錯誤,而后面的6個(gè)字段允許為空,因此可以調用Default默認。
(3)插入部分數據
在使用Insert語(yǔ)句插入數據是,還可以插入部分數據,也就是可以為每一行的指定的部分列插入數據。在插入部分數據時(shí),應該注意以下三個(gè)問(wèn)題:
☆在 Insert 子句中,指定要插入數據的列名。
☆在 Values 子句中,列出與列名對應的數據。列名的順序和數據的順序應該完全對應。
☆在 Insert 子句中,沒(méi)有列出的列應該至少具有這四種類(lèi)型之一:Identtty 屬性,Timestamp 數據類(lèi)型,允許為 Null,或者有一個(gè)指定的默認值。否則,會(huì )出現錯誤信息。
例子:
Use cust
Insert Into students (number,name)
Values (110,"影子")
打開(kāi)cust數據庫,向students表中插入一行數據
注意:如用下例語(yǔ)句將發(fā)生錯誤,因為name字段是不允許為空的(在創(chuàng )建數據庫時(shí)設定的)
Insert Into students (number)
Values (110)
(4)用 Select 語(yǔ)句插入多條數據
Insert 語(yǔ)句插入數據的特點(diǎn)是每一次只能插入一行數據。相反,Select 也可以用在 Insert 語(yǔ)句中,并且可以一次插入多條數據。使用 Select 語(yǔ)句插入數據的語(yǔ)法形式如下:
Insert table_name
Select column_list
From table_list
Where search_conditions
在使用 Select 語(yǔ)句插入數據時(shí),應該注意下面幾點(diǎn):
☆在 Insert 語(yǔ)句中使用 Select 時(shí),他們參考的表既可以是相同的,也可以是不同的。
☆要插入數據的表必須已經(jīng)存在。
☆要插入數據的表必須和 Select 的結果集兼容。兼容的含義是列的數量和順序必須相同,列的數據類(lèi)型或者相同,或者SQL Server 可以自動(dòng)轉換。
例子:
Use cust
Insert students
Select number,name,sex,birthday,hometown,telphone_no,address,others
From students
注意:
Select 后面的字段要輸完整,這個(gè)例子是自己向自己插入多條數據(自己向自己插入是被允許的)
補充:
你還可以“From students”后面加上“Where name="影子"”,只插入name等于影子的記錄,可以用And 和 Or 加上多個(gè)條件。
(5)使用 Select Into 插入數據到一個(gè)新表中
帶有 Into 子句的 Select 語(yǔ)句允許用戶(hù)定義一個(gè)新表并且把數據插入到新表中。這種方法不同于前面講述的那些方法。在前面的那些方法中,一個(gè)共同的特點(diǎn),是在數據輸入之前表已經(jīng)存在。而使用 Select Into 插入數據的方法,是在插入數據的過(guò)程中建立新表。
Select Into 語(yǔ)句的語(yǔ)法如下:
Select select_list
Into new_table_name
From table_list
Where search_conditions
在使用 Select Into 插入數據時(shí),要注意下面幾點(diǎn):
☆在某個(gè)數據庫中使用 Select Into 插入數據時(shí),設置該數據庫的 Select Into/Bulk Copy 為真。
☆新表不能存在,否則會(huì )產(chǎn)生錯誤信息。
☆新表中的列和行是基于查詢(xún)結果集
☆要插入的數據不記錄在日志中。
☆在select_list 中出現的列應該使用別名,否則,新表中的列沒(méi)有列名。沒(méi)列名的表只能通過(guò) Select * From new_table_name 的形式查詢(xún)。因此,應該為列起個(gè)別名。
☆這種方法多用在對列進(jìn)行各種計算的情況。
例子:
Select number,name
Into newcust1
From students
創(chuàng )建新的表newcust1,插入students表中的number和name字段的所有數據。
補充:如果要插入所有字段的記錄,則“Select *”,也可在“From students”后加條件,方法和上個(gè)例子一樣。
(6)用 UPdate 語(yǔ)句修改表中的數據
Update 語(yǔ)句用來(lái)修改表中已存在的數據。Update 語(yǔ)句既可以一次修改一行數據,也可以一次修改許多行,甚至可以一次修改表中的全部數據。Update 語(yǔ)句使用 Where 子句指定要修改的行,使用 Set 子句給出新的數據。新數據可以是常量,也可以是指定的表達式,還可以是使用 From 子句來(lái)自其他表的數據。
Update 語(yǔ)句的語(yǔ)法如下:
Update {table_name|view_name}
Set {column_list}=expression [,. . .]
[Where clause]
在使用 Update 語(yǔ)句時(shí),如果沒(méi)有使用 Where 子句,那么就對表中所有的行進(jìn)行修改。如果使用Update 語(yǔ)句修改數據時(shí)與數據完整性約束有沖突,那么修改就不會(huì )發(fā)生,整個(gè)修改事務(wù)全部滾回。例如,這種沖突可能是所輸入的值是錯誤的數據類(lèi)型,或者所輸入的值違背了在該列定義的規則約束,等等。
例子:
Use cust
Update students
Set name=name+"007"
Where number>100
打開(kāi)cust數據庫,修改students表,使number>100的數據的name的值全部加"007"。
4.用 Delete 語(yǔ)句刪除表中的數據
當數據庫中的數據不需要的進(jìn)修可以刪除。一般情況下,刪除數據使用 Delete 語(yǔ)句。Delete 語(yǔ)句可以一次從一個(gè)表中刪除一條或者多條數據行。
Delete 語(yǔ)句的語(yǔ)法如下:
Delete [From] table_name
Where search_conditions
在 Delete 語(yǔ)句中如果使用了 Where 子句,那么就從指定的表中刪除滿(mǎn)足 Where 子句條件的數據行。
例子:
Use cust
Delete students
Where number>100
刪除 students中,number>100的數據
補充:
如果在 Delete 語(yǔ)句中沒(méi)有指定 Where 子句,那么就將表中所有的記錄全部刪除,即 Delete students 語(yǔ)句刪除表中的全部記錄。
在刪除表中的全部數據時(shí),還可以使用 Truncate Table 語(yǔ)句。Truncate Table 語(yǔ)句和 Delete 語(yǔ)句都可以將表中的全部數據刪除,但是,兩條語(yǔ)句又有不同的特點(diǎn)。當用戶(hù)使用 Delete 語(yǔ)句刪除數據時(shí),被刪除的數據要記錄在日志中。并不將對數據的變化記錄在日志中。因此,使用 Truncate Table students 語(yǔ)句刪除記錄的速度快于使用 Delete students 語(yǔ)句刪除表中記錄的速度。
5.用 Drop Table 命令刪除表
當數據庫中的表不需要時(shí)可以刪除。刪除表可以使用 Drop Table 語(yǔ)句。刪除表就是刪除表的定義以及表的全部數據、索引、觸發(fā)器、約束和指定該表的許可。當刪除表時(shí),基于表的視圖不能被刪除,必須使用 Drop View 語(yǔ)句刪除視圖。
Drop Table 語(yǔ)句的語(yǔ)法如下:
Drop Table table_name
例子:
Use cust
Drop Table students
刪除cust數據庫中的students表。
補充:
不能使用 Drop Table 語(yǔ)句刪除正在被約束參考的表,必須首先要么刪除外鍵約束,要么刪除參考表。表的所有者可以刪除表。當刪除表是時(shí),綁定在該表上的規則或者默認則失掉了綁定,該表的約束或者觸發(fā)器則自動(dòng)被刪除。如果重新創(chuàng )建表,必須重新綁定相應的規則和默認、重新創(chuàng )建觸發(fā)器和增加必要的約束。另外,系統表不能刪除。
刪除表的許可屬于表的所有者。然而,數據所有者(DBO)、系統管理員(SA)和DLL管理員可以刪除數據庫中的任何對象。
4.數據的檢索
1.用 Select 子句檢索記錄
Select 子句是每一個(gè)檢索數據的查詢(xún)核心。它告訴數據庫引擎返回什么字段。
Select 子句的常見(jiàn)形式是:
Select *
該子句的意思是“返回在所指定的記錄源中能找到的所有字段”。這種命令形式很方便,因為你無(wú)需知道從表中檢索的字段名稱(chēng)。然而,檢索表中的所有列是低效的。因此,因該只檢索需要的字段,這樣可以大大的提高查詢(xún)的效率。
2.使用 From 子句指定記錄源
From 子句說(shuō)明的是查詢(xún)檢索記錄的記錄源;該記錄源可以是一個(gè)表或另一個(gè)存儲查詢(xún)。
你還能從多個(gè)表中檢索記錄,這在后面的章節中將介紹。
例子:
Select * From students 檢索students表中的所有記錄
3.用 Where 子句說(shuō)明條件
Where 子句告訴數據庫引擎根據所提供的一個(gè)或多個(gè)條件限定其檢索的記錄。條件是一個(gè)表達式,可具有真假兩種判斷。
例子:
Select * From students Where name="影子"
返回students中name字段為影子的列表,這次所返回的結果沒(méi)有特定順序,除非你使用了 Order By 子句。該子句將在后面的章節介紹。
注意:Where 子句中的文本字符串界限符是雙引號,在VB中因改為單引號,因為在VB中字符串的界定符是雙引號。
補充:
使用 And 和 Or 邏輯可以將兩個(gè)或更多的條件鏈接到一起以創(chuàng )建更高級的 Where 子句。
例子:
Select * From students Where name="影子" And number>100
返回name為影子number大于100的列表。
例子:
Select * From students Where name="影子" And (number>100 Or number<50)
返回name為影子,number大于100或者小于50的列表。
Where 子句中用到的操作符
操作符 功能
< 小于
<= 小于或等于
> 大于
>= 大于或等于
= 等于
<> 不等于
Between 在某個(gè)取值范圍內
Like 匹配某個(gè)模式
In 包含在某個(gè)值列表中
SQL中的等于和不等于等操作符與VB中的意義和使用相同
例子:
(1).Between 操作符
Use cust
Select * From students
Where number Between 1 and 100
Between 操作符返回的是位于所說(shuō)明的界限之內的所有記錄值。這個(gè)例子就返回 number 字段 1 到 100 之間的全部記錄。
(2). Like 操作符和通配符
Use cust
Select * From students
Where name Like "%影%"
Like 操作符把記錄匹配到你說(shuō)明的某個(gè)模式。這個(gè)例子是返回含“影”的任意字符串。
四種通配符的含義
通配符 描述
% 代表零個(gè)或者多個(gè)任意字符
_(下劃線(xiàn)) 代表一個(gè)任意字符
[] 指定范圍內的任意單個(gè)字符
[^] 不在指定范圍內的任意單個(gè)字符
全部示例子如下:
Like "BR%" 返回以"BR"開(kāi)始的任意字符串
Like "br%" 返回以"Br"開(kāi)始的任意字符串
Like "%een" 返回以"een"結束的任意字符串
Like "%en%" 返回包含"en"的任意字符串
Like "_en" 返回以"en"結束的三個(gè)字符串
Like "[CK]%" 返回以"C"或者"K"開(kāi)始的任意字符串
Like "[S-V]ing" 返回長(cháng)為四個(gè)字符的字符串,結尾是"ing",開(kāi)始是從S到V。
Like "M[^c]%" 返回以"M"開(kāi)始且第二個(gè)字符不是"c"的任意字符串。
4. 使用 Order By 對結果排序
Order By 子句告訴數據庫引擎對其檢索的記錄進(jìn)行排序??梢詫θ魏巫侄闻判?,或者對多個(gè)字段排序,并且可以以升序或隆序進(jìn)行排序。
在一個(gè)正式的 Select 查詢(xún)之后包含一個(gè) Order By 子句,后跟想排序的字段(可以有多個(gè))便可以說(shuō)明一個(gè)排序順序。
例子:
Use cust
Select * From students
Where name Like "%影%"
Order By number
對返回的結果按 number 進(jìn)行排序。
以降序排序
如要以隆序排序,只需在排序的字段之后使用 Desc 關(guān)鍵字。
例子:
Use cust
Select * From students
Where name Like "%影%"
Order By number Desc
5. 使用 Top 顯示某個(gè)范圍的第一個(gè)記錄或最后一個(gè)記錄。
使用 Top 關(guān)鍵字可以只顯示一個(gè)大記錄前面或后面的少數幾個(gè)記錄。在查詢(xún)中,Top 關(guān)鍵字與排序子句一起把結果集限制為少數幾個(gè)記錄或按某個(gè)百分比顯示整個(gè)結果記錄集合中的一部分。
例子:
Select Top 3 * From students 返回 students 表中的前3條記錄
Select Top 10 Percent * From students 返回 students 表中前面的10%個(gè)記錄
Select Top 3 * From students Order By number desc 返回 students 表中 number 最大的(最后)的3條記錄
6. 用 As 對字段名進(jìn)行別名化
為什么在查詢(xún)中對字段命以別名,或重新命名,這樣做的原因有兩個(gè):
☆所涉及的表的字段名很長(cháng),想使字段在結果集中更易處理一些。
☆創(chuàng )建的查詢(xún)產(chǎn)生了某些計算或合計列,需要對之進(jìn)行命名。
不管是什么原因對字段命以別名,在 SQL 中都可以容易地使用 As 子句做得。
例子:
Select number As 學(xué)號 ,name As 姓名 From students
7. 合并查詢(xún)
合并查詢(xún)( Union Query )用于合并具有相同字段結構的兩個(gè)表的內容,如果想在一個(gè)結果集中顯示多個(gè)記錄源中的不相關(guān)的記錄時(shí),這十分有用。
例子:
Select *
From students
Union
Select *
From students1
該查詢(xún)結果集把 students 和 students1 中的記錄合并到一個(gè)結果中,其輸出就和原表歸檔之前一模一樣。
注意:缺省情況下,合并查詢(xún)不會(huì )返回重復記錄(如果記錄歸檔系統在把記錄拷到歸檔表中后不將相應的記錄刪除,這時(shí)該功能就有用了),可以加上 All 關(guān)鍵字而讓合并查詢(xún)顯示重復記錄。
例子:
Select *
From students
Union All
Select *
From students1
該合并查詢(xún)顯示 students 表和 students1 表的內容時(shí),沒(méi)有對重復記錄進(jìn)行處理
補充:
Union 運算符允許把兩個(gè)或者多個(gè)查詢(xún)結果合并到一個(gè)查詢(xún)結果集中。如果比較 Union 和 Join 兩咱運算符,那么 Union 運算符增加行的數量,而 Join 運算符增加列的數量。使用 Union 時(shí)應該注意,兩個(gè)結果中的列的結構必須匹配,數據類(lèi)型必須兼容等等。
Union 運算符的語(yǔ)法形式如下:
Select select_list
From clause
Where clause
Group By clause
Having clause
Union [All]
Select select_list
From clause
Where clause
Group By clause
Having clause
Order By clause
Compute clause
對于 Union 運算符,有下列幾點(diǎn)需要說(shuō)明:
·在默認情況下,Union 運算符刪除全部冗余行。如果使用All 選項,那么冗余行不刪除。
·在 Union 語(yǔ)句中的全部 select_list 必須有相同數量的列、兼容的數據類(lèi)型并且按照同樣的順序出現。
·在結果集中,列名來(lái)自第一個(gè) Select 語(yǔ)句。
8.連接查詢(xún)
在實(shí)際使用過(guò)程中經(jīng)常需要同時(shí)從兩個(gè)表或者兩個(gè)以上表中檢索數據。連接就是允許同時(shí)從兩個(gè)表或者兩個(gè)以上表中檢索數據,指定這些表中某個(gè)或者某些列作為連接條件。在 SQL Server 中,可以使用兩種連接語(yǔ)法形式,一種是 Ansi 連接語(yǔ)法形式,這是連接用在 From 子句中,另外一種是 SQL Server 連接語(yǔ)句形式,這是連接用在 Where 子句中。
Ansi 連接語(yǔ)法形式如下:
Select table_name.column_name,table_name.column_name,...
From {table_name [join_type] Join table_name On search_conditions}
Where [search_conditions]
在 Ansi 語(yǔ)法形式中,可以 Ansi 連接關(guān)鍵字來(lái)確定使用的連接形式。例如:
☆使用 Inner Join 關(guān)鍵字,結果集中僅包含滿(mǎn)足條件的行。
☆使用 Cross Join 關(guān)鍵字,結果集中包含兩個(gè)表中所有行的組合。
☆使用 Outer Join 關(guān)鍵字,結果集中既包含那些滿(mǎn)足條件的行,還包含那些其中某個(gè)表的全部行。
SQL Server 連接語(yǔ)法形式如下所示:
Select table_name.column_name,table_name.column_name,...
From [table_name,tab
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
最全的Java筆試題庫之選擇題篇-總共234道【181~234】
《SQL必知必會(huì )》讀書(shū)筆記
大數據量高并發(fā)的數據庫優(yōu)化
分享一些數據庫使用的心得
新手MySQL工程師必備命令速查手冊
數據分析人必掌握的數據庫語(yǔ)言——SQL指南第七期
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久