sql server學習筆記一

2021-09-01 10:31:51 字數 4316 閱讀 9041

建立資料庫

create database [ebuy] on primary

(name = n'dbname',

filename = n'c:\database\dbname.mdf' ,

size = 3072kb ,

maxsize = unlimited,

filegrowth = 1024kb

)log on

(name = n'dbname_log',

filename = n'c:\database\dbname_log.ldf' ,

size = 1024kb ,

maxsize = 2048gb ,

filegrowth = 10%)

沒有指定主檔案和日誌檔案,預設情況下,命名主檔案為dbname.mdf,日誌檔案為dbname.ldf。而主檔案和日誌檔案的大小model資料庫的主檔案和日誌檔案的大小相同,由於沒有指定主檔案和日誌檔案的最大長度,所以主檔案和日誌檔案都可以自由增長知道充滿整個磁碟空間。

修改資料庫

alter database ebuy add file

(name = columnname,

filename = 『e:\database\dbname_add.ldf』,

size = 10mb,

maxsize = 100mb,

filegrowth =5mb

)刪除資料庫

drop database ebuy

sql server 2000中的每個資料庫由多個作業系統檔案組成,資料庫中所有的資料、物件和資料庫操作日誌均儲存在這些作業系統檔案中。它們分別為:

主資料庫檔案(primary database file)

資料庫檔案是存放資料庫資料和資料庫物件的檔案,乙個資料庫可以由乙個或多個資料庫檔案,乙個資料庫檔案只能屬於乙個資料庫。當有多個資料庫檔案時,有乙個檔案被定義為主資料庫檔案(主檔案),其擴充套件名為mdf。

主資料庫檔案的功能:用於儲存資料庫的啟動資訊以及部分或全部資料,同時包含了指向其他資料庫的指標。是所有資料庫檔案的起點。乙個資料庫只能有乙個主資料庫檔案。

輔助資料庫檔案(secondary database file)

用於儲存資料庫檔案中未儲存的剩餘的資料和資料庫物件,乙個資料庫可以沒有輔助資料庫檔案,但可以同時擁有多個輔助資料庫檔案。

輔助資料庫的存在原因:可以在不同的物理磁碟上建立輔助資料庫檔案並將資料庫儲存在檔案中,這樣可以提高資料處理的效率。其次當資料龐大時,如果主資料庫檔案的大小超過作業系統對單一檔案大小的限制,則此時便需要使用輔助資料庫檔案來儲存資料。

輔助資料庫檔案的副檔名: ndf。

事務日誌檔案

功能:儲存資料庫的更新情況等事務日誌資訊。

工作範圍:當進行對資料庫內容有影響的操作時,操作都會儲存在事務日誌檔案中。

作用:當資料庫損壞時,管理員使用事務日誌恢復資料庫。

每個資料庫至少必須擁有乙個事務日誌檔案,而且允許擁有多個日誌檔案。事務日誌檔案的副檔名未ldf,日誌檔案的大小至少是512kb。

資料型別

型別 說明

bit

整型,其值只能是0、1或空值。

int

整型,佔4個位元組

smallint

整型,佔2個位元組

tinyint

整型,佔1個位元組

decimal

精確數值型,使用時必須指定範圍和精度,例:decimal(7,2)

numeric

精確數值型,與decimal 型相同

money

貨幣型,用來表示錢和貨幣值。能儲存從-9220億到9220 億之間的資料

smallmoney

貨幣型,能儲存從-214748.3648 到214748.3647 之間的資料

float

近似數值型,供浮點數使用

real

近似數值型

datetime

日期時間型,取值:1753-1-1~9999-12-31

smalldatetime

日期時間型,取值:1900-1-1~2079-6-6

timestamp

特殊資料型,用來建立乙個資料庫範圍內的唯一數碼。

char

字元型,用來儲存定長的非統一編碼型的字元資料。列寬最大為8000 個字元

varchar

字元型,用來儲存變長的非統一編碼型的字元資料。列寬最大為8000 個字元

text

字元型,用來儲存大量非統一編碼型字元資料。最多可以有近20億個字元

nchar

定長統一編碼字元型(統一編碼是用雙位元組結構來儲存每個字元),能儲存4000個字元

nvarchar

變長統一編碼字元型,能儲存4000個字元

ntext

變長統一編碼字元型,能儲存近10億個字元

binary

二進位制資料型別,儲存可達8000 位元組長的定長的二進位制資料

varbinary

二進位制資料型別,儲存可達8000 位元組長的變長的二進位制資料

image

二進位制資料型別,儲存變長的二進位制資料,最大可達近20億個位元組

建立資料庫表

create table [資料庫名稱.][表的屬主.]自定義表名

(自定義列名1 列型別及大小 列的約束,..

自定義列名n 列型別及大小 列的約束,

)新增新列

alter table [資料庫名稱.][表的屬主.]表名

add 新加的列名 列型別 列約束

修改列屬性

alter table [資料庫名稱.][表的屬主.]表名

alter column 原列名 新列型別 新列約束

刪除列alter table [資料庫名稱.][表的屬主.]表名

drop column 原列名

刪除表drop table 表名

資料庫的完整性約束

資料完整性包括:

1 實體完整性

unique 約束

primary key 約束

identity 屬性

2 域完整性

限制型別(通過資料型別)

可能值的範圍(通過 foreign key 約束、check 約束、default 定義、not null 定義)

3 參照完整性

foreign key 約束

check 約束 4 使用者自定義完整性

約束:主鍵約束(primary key)

語法格式:[constraint <: 約束名》] primary key [(列名表)]

自動增長

identity [ ( seed , increment ) ]

引數說明:

seed—表的第一行所使用的值

increment—增量值

外來鍵約束(foreign key)

[constraint<: 約束》] foreign key (《列表名1>)references

《引用表名》[(列名表2)] [on delete]

唯一約束(unique)

[constraint <: 約束名》] unique [(列名表)] 檢查約束(check)

預設約束(default)

[constraint <: 約束名》] default 《預設值》 for [(《列名》)]

check約束

[constraint<:約束名》] check(《條件》)

非空約束

[constraint <: 約束名》] not null

示例**如下:

create table dbo.orders(

ordid int not null,

cusid varchar (20) not null,

comid int not null,

amount int not null,

payamount decimal (10, 2) not null,

payway varchar (50) not null,

dtime datetime not null,

isafirm varchar (1) null,

issendgoods varchar (1) null,

foreign key (cusid) reference customer(cusid)

)修改資料庫表語法規則如下:

alter table 表名

[add 子句]

[alter column 子句]

[drop 子句]

[add constraint 子句]

[drop constraint 子句]

SQL server 學習筆記一

依據w3cschool教程 菜鳥教程以及各種帖子做的筆記 sql 是用於訪問和處理資料庫的標準的計算機語言。sql 指結構化查詢語言 結構化查詢語言 structured query language 簡稱sql,是一種特殊目的的程式語言,是一種資料庫查詢和程式語言,用於訪問資料以及查詢 更新和管理...

sqlserver學習筆記

1.從乙個已經存在的表複製出乙個新錶 要求該錶不存在 select into time pense from time pensetemp 從time pensetemp表中複製time pense表 2.sql查詢表中的所有約束 exec sp helpconstraint objname 表名 ...

sqlserver學習筆記

排序函式 產生乙個新的列,一般作為乙個流水號 排序函式 over 分組子句 排序子句 desc asc 1 row number 產生乙個新的列流水號列,所有的流水號從1開始,然後累加 2 rank 產生乙個新的列流水號列,所有的流水號從1開始,然後累加,如果排序子句內容重複,流水號也跟著重複.而後...