日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sqlserver学习日记之一

發布時間:2023/12/31 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sqlserver学习日记之一 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、創建數據庫并指定數據庫文件的位置和大小
create database eshop
on primary
( name=Eshop,
? filename='D:\MSSQL\data\eshop.mdf',
? size=10mb,
? maxsize=100mb,
? filegrowth=5mb)
log on
( name=eshoplog
? filename='d:\mssql\log\eshoplog.mdf',
? size=10mb,
? maxsize=100mb,
? filegrowth=5mb??
)

2、修改數據庫
alter database eshop
? add file
? ( name=eshop2
??? filename='d:\mssql\data\eshop2.ndf',
??? size=10mb,
??? filegrowth=10mb
? )

3、數據庫命名中包含保留關鍵字的TSQL操作。
在T-SQL中,有多個保留關鍵字,例如create,table,order等,它們有特殊的含義,這些保留關鍵字列在microsoft sql server Transact-Sql參考手冊的“保留關鍵字”話題中,如果希望使用這些保留字作為表名,列名,或者其他SQL對象名稱,那么當它們出現在SQL語句中時,必須用雙引號括起這些名稱,下面示例如何編寫一個SQL語句,從表名為Order的表中檢索列。
select * from "order" where custid=12345
一般,應該避免使用SQL的保留字或者特殊字符作為SQL對象的名稱

4、在指定文件組上創建表
可以定義文件組,它是一個或者多個存儲應用程序數據的操作系統文件的集合,為了把一個新表放在用戶定義的文件組上,可以在create table語句的末端增加一個on子句:
create table eshop.dbo.customer
(
?custid int not null
??check(custid>0),
?name char(30) not null
??check(name<>'')
...
)
on eshopGroupfile1
注意:eshopGroupfile1必須是已經被創建的數據庫文件

5、TimeStamp列
無論何時插入或者修改一行數據時,都會自動修改用TimeStamp數據類型說明的列(或者名為TimeStamp但沒有數據類型的列)。sql server 設置time stamp列為下述值:保證該值在數據庫中是唯一的,并且大于以前指定的值,該值的數據類型與datatime數據類型不同,永遠也不能直接設置timestamp列的值。
一個表只能有一個timestamp列,可以使用timestamp列的值決定自從上次檢索之后是否有其他進程修改數據行,在應用程序中,檢查timestamp列的值提供了一種有效的方法,可以用這種方法在防止與其他進程的修改沖突時,允許并行瀏覽和修改表。

6、用戶定義的數據類型
sql server提供了一種非標準的數據類型,稱之為用戶定義的數據類型,用戶定義的數據類型是內置數據類型,長度,和可空性的同義詞。
為了創建一個用戶定義的數據類型,使用sp_addtype存儲過程,如下所示:

sp_addtype TDescription,'Character Varying(50)','not null'

本示例創建了TDescription數據類型,作為Character Varying(50)數據類型的同義詞,該數據類型不允許空,在創建了這種數據類型之后,可以把它用在create table列說明中,例如:
...,
productDescription TDescription
等價于:
productDescription Character Varying (50) not null
用戶定義的數據類型提供了一種很好的方法,可以標準化用于主鍵和外鍵的數據類型,以及標準化經常重復的列的定義。在每個數據庫中,數據類型名稱必須是唯一的,可遵循一些約定,每個用戶定義的數據類型以T開頭,用于區別數據類型名稱和列名稱。
如果不再需要某個用戶定義的數據類型,可以使用sp_droptype存儲過程刪除它:
sp_droptype TDescription

7、增加、刪除、修改表列
可以使用Alter Table語句在一個已經存在的表中增加一個新列,如下所示在customer表中增加一個新列:
alter table eshop.dbo.customer
?add discount decimal(5,3) default 0
??check(discount between 0 and 100)
值得注意的是,alter table時所有的新列要么允許為空,要么有一個default子句,以便sql server可以為已有行初始化該列。
alter table還允許改變已有列的數據類型、大小、和可空性。下面的語句設置Discount列的數據類型和大小及不允許為空:
alter table eshop.dbo.customer
?alter column Discount Decimal(7,5) not null
一般不能修改text,ntext,image,timestamp列;不能修改計算可復制列;不能修改計算的列,約束,缺省值,或者索引中引用的列,這種規則的例外是可以增加在索引中使用的變長度列的長度,并且可以改變在唯一性約束或者檢查約束中使用的變長度列的長度。另外。不能修改有RowGuidCol屬性的列的類型,大小或者可空性,可以為UniqueIdentifier列增加或者刪除RowGuidCol屬性,這與Alter Table語句的形式稍微有些不同。
alter table eshop.dbo.customer
?alter column RowId add RowGuidCol
使用alter table語句還可以從表中刪除一個已經存在的列
alter table eshop.dbo.customer
?drop column discount
在可以刪除一列之前,必須刪除任何引用該列的約束,缺省表達式,計算列表達式,或者索引,不能刪除復制的列。

轉載于:https://www.cnblogs.com/liuxing3169/articles/1420939.html

總結

以上是生活随笔為你收集整理的sqlserver学习日记之一的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。