創(chuàng)建數(shù)據(jù)庫(kù)與數(shù)據(jù)表

數(shù)據(jù)庫(kù)分系統(tǒng)數(shù)據(jù)庫(kù)和用戶(hù)數(shù)據(jù)庫(kù)

用戶(hù)數(shù)據(jù)庫(kù)文件組成

數(shù)據(jù)庫(kù)物理文件的組成:數(shù)據(jù)庫(kù)文件(.mdf主數(shù)據(jù)文件或.ndf次要數(shù)據(jù)文件)+日志文件(.ldf)
一個(gè)數(shù)據(jù)庫(kù)必須嚎卫、且只能包含一個(gè)mdf,但可以有多個(gè)ndf和ldf(至少一個(gè))

創(chuàng)建數(shù)據(jù)庫(kù)

1)創(chuàng)建一個(gè)主數(shù)據(jù)文件和一個(gè)日志文件

use master --打開(kāi)master數(shù)據(jù)庫(kù)碍讨,一般的創(chuàng)建語(yǔ)句都在master中執(zhí)行
go
if exists (select * from sysdatabases where name='dbname')
  drop database dbname
go
--創(chuàng)建數(shù)據(jù)庫(kù)
CREATE DATABASE dbname 
ON PRIMARY
(
    name="dbname_data", --主數(shù)據(jù)文件的邏輯名
    filename="F:\DB\dbname_data.mdf", --數(shù)據(jù)庫(kù)物理文件名(絕對(duì)路徑,先創(chuàng)建DB文件夾)
    size=3MB,  --主數(shù)據(jù)文件的初始大小
    maxsize=100MB,  --主數(shù)據(jù)文件的最大大小蒙秒,不寫(xiě)就是沒(méi)有限制
    filegrowth=1MB --數(shù)據(jù)文件增量為MB
)
--創(chuàng)建日志文件
log on
(   
    name="dbname_log", 
    filename="F:\DB\dbname_log.ldf", --日志文件儲(chǔ)存位置
    size=1MB,  --日志文件的初始大小
    filegrowth=10%  --增長(zhǎng)率為%
)

2)創(chuàng)建多個(gè)數(shù)據(jù)文件和日志文件

use master
go
if exists (select * from sysdatabases where name='dbname')
  drop database dbname
go
--創(chuàng)建數(shù)據(jù)庫(kù)
CREATE DATABASE dbname 
ON PRIMARY
(
    name="dbname_data", --主數(shù)據(jù)文件的邏輯名
    filename="F:\DB\dbname_data.mdf", --數(shù)據(jù)庫(kù)物理文件名(絕對(duì)路徑勃黍,先創(chuàng)建DB文件夾)
    size=3MB,  --主數(shù)據(jù)文件的初始大小
    maxsize=100MB,  --主數(shù)據(jù)文件的最大大小,不寫(xiě)就是沒(méi)有限制
    filegrowth=1MB --數(shù)據(jù)文件增量為MB
),
(
    name="dbname_data1", --次要數(shù)據(jù)文件的邏輯名,不能與主數(shù)據(jù)文件相同
    filename="F:\DB\dbname_data1.ndf", 
    size=3MB,  --次要數(shù)據(jù)文件的初始大小
    filegrowth=1MB --數(shù)據(jù)文件增量為MB
)
--創(chuàng)建日志文件
log on
(   
    name="dbname_log", 
    filename="F:\DB\dbname_log.ldf", --日志文件儲(chǔ)存位置
    size=1MB,  --日志文件的初始大小
    filegrowth=10%  --增長(zhǎng)率為%
),
(   
    name="dbname_log1", 
    filename="F:\DB\dbname_log1.ldf", --日志文件儲(chǔ)存位置
    size=1MB,  --日志文件的初始大小
    filegrowth=10%  --增長(zhǎng)率為%
)

刪除數(shù)據(jù)庫(kù)(判斷相關(guān)數(shù)據(jù)庫(kù)是否存在晕讲,存在則刪除)

if exists (select * from sysdatabases where name='dbname')
  drop database dbname

注:drop刪除后數(shù)據(jù)庫(kù)將不可恢復(fù)覆获,須謹(jǐn)慎使用马澈!

分離與附加數(shù)據(jù)庫(kù)

1)分離數(shù)據(jù)庫(kù)的必要性及語(yǔ)法
當(dāng)數(shù)據(jù)庫(kù)服務(wù)運(yùn)行中,通常情況下無(wú)法直接移動(dòng)和復(fù)制數(shù)據(jù)庫(kù)文件
所謂分離數(shù)據(jù)庫(kù)就是將正在使用的數(shù)據(jù)庫(kù)文件解除服務(wù)的限制

exec sp_detach_db @dbname=數(shù)據(jù)庫(kù)名稱(chēng)

2)附加數(shù)據(jù)庫(kù)的必要性及語(yǔ)法
附加數(shù)據(jù)庫(kù)就是將指定位置的數(shù)據(jù)庫(kù)文件加入到數(shù)據(jù)庫(kù)服務(wù)中并運(yùn)行
數(shù)據(jù)庫(kù)只有附加后弄息,用戶(hù)才能通過(guò)DBMS操作數(shù)據(jù)

exec sp_attach_db @dbname=數(shù)據(jù)庫(kù)名稱(chēng),
@filename1='數(shù)據(jù)庫(kù)主文件物理文件路徑',
@filename2='數(shù)據(jù)庫(kù)日志文件物理文件路徑'

常用SQLServer數(shù)據(jù)類(lèi)型

  1. 文本類(lèi)型
數(shù)據(jù)類(lèi)型 描述
char(n) 固定長(zhǎng)度的字符串痊班。最多 8,000 個(gè)字符。
varchar(n) 可變長(zhǎng)度的字符串摹量。最多 8,000 個(gè)字符辩块。
text 可變長(zhǎng)度的字符串。最多 2GB 字符數(shù)據(jù)荆永。
char(n) 固定長(zhǎng)度的 Unicode 數(shù)據(jù)废亭。最多 4,000 個(gè)字符。
nvarchar(n) 可變長(zhǎng)度的 Unicode 數(shù)據(jù)具钥。最多 4,000 個(gè)字符豆村。
ntext 可變長(zhǎng)度的 Unicode 數(shù)據(jù)。最多 2GB 字符數(shù)據(jù)骂删。
  1. 整數(shù)類(lèi)型
數(shù)據(jù)類(lèi)型 描述
tinyint 占用1個(gè)字節(jié)掌动,0到255之間的整數(shù)。
smallint 占用2個(gè)字節(jié)宁玫,-215到215-1之間的整數(shù)粗恢。
int 占用4個(gè)字節(jié),-231到231-1之間的整數(shù)欧瘪。
bigint 占用8個(gè)字節(jié)眷射,-263到263-1之間的整數(shù)。
  1. 精準(zhǔn)數(shù)據(jù)類(lèi)型
數(shù)據(jù)類(lèi)型 描述
decimal -1038到1038-1之間的固定精度和小數(shù)位的數(shù)字
numeric 功能等同于decimal

寫(xiě)法:decimal(整數(shù),小數(shù))和numeric(整數(shù),小數(shù))
默認(rèn):如果不指定位數(shù)佛掖,默認(rèn)18位整數(shù)妖碉,0位小數(shù)

  1. 日期類(lèi)型
數(shù)據(jù)類(lèi)型 描述
datetime 允許的范圍1753-1-1至9999-1-1
smalldatetime 允許的范圍1900-1-1至2079-6-6

時(shí)間精度不同:datetime精度到3/100秒;smalldatetime精度到1分鐘
格式說(shuō)明:2013-08-20或08/20/2013或08202013或Aug 20,2013
注意問(wèn)題:日期在使用的時(shí)候需要使用單引號(hào)(‘ ’)括起來(lái)

創(chuàng)建數(shù)據(jù)表

--創(chuàng)建學(xué)員信息表
use dbname
go
if exists(select * from sysobjects where name='Students')
    drop table Students
go
create table Students
(
    StudentId int identity(10000,1),--學(xué)號(hào)
    StudentName varchar(20) not null,--姓名
    Gender char(2) not null,--性別
    Birthday datetime not null,--出生日期
    StudentIdNo numeric(18,0) not null,--身份證號(hào)碼
    Age int not null,--年齡
    PhoneNumber varchar(20),--手機(jī)號(hào)碼
    StudentAddress varchar(255),--家庭地址
    ClassId int not null --班級(jí)外鍵
)
go
if exists(select * from sysobjects where name='StudentClass')
    drop table StudentClass
go
--創(chuàng)建班級(jí)表
create table StudentClass
(
    ClassId int primary key,
    ClassName varchar(20) not null
)
go
if exists(select * from sysobjects where name='ScoreList')
    drop table ScoreList
go
--創(chuàng)建成績(jī)表
create table ScoreList
(
    id int identity(1,1) primary key,
    StudentId int not null,
    CSharp int,
    SQLServerDB int,
    UpdateTime smalldatetime not null
)
go
if exists(select * from sysobjects where name='Admin')
    drop table Admin
go
--創(chuàng)建管理員用戶(hù)表
create table Admin
(
    LoginId int identity(1000,1) primary key,
    LoginPwd varchar(32) not null,
    AdminName varchar(20) not null
)
go

數(shù)據(jù)的基本操作

1)插入實(shí)體

use dbname
go
insert into Students(StudentName, Gender, Birthday, StudentIdNo, Age, PhoneNumber, 
StudentAddress, ClassId)
values('張三','男','2000-01-01',165412200001014523,19,'13729545871','廣東東莞',1)

2)查詢(xún)實(shí)體

select * from Students
select StudentId,StudentName from Students where Age<>18

T-SQL中常用運(yùn)算符:=芥被、>欧宜、<、>=拴魄、<=冗茸、<>(不等于)、匹中!

3)更新實(shí)體

use dbname
go
update Students set Gender='女',StudentAddress='廣東深圳' where StudentId=10001

4)刪除實(shí)體

delete from Students where StudentId=10001
truncate table Students

注意:使用delete刪除語(yǔ)句時(shí)夏漱,一定要注意where條件的配合使用;delete刪除數(shù)據(jù)時(shí)职员,要求該記錄不能被外鍵引用(刪除后標(biāo)識(shí)列繼續(xù)增長(zhǎng))麻蹋;truncate刪除數(shù)據(jù)時(shí),要求刪除的表不能有外鍵約束(刪除后重新添加數(shù)據(jù)焊切,刪除后標(biāo)識(shí)列重新編排)扮授。

truncate比delete執(zhí)行速度快芳室,而且使用的系統(tǒng)資源和事務(wù)日志資源更少。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末刹勃,一起剝皮案震驚了整個(gè)濱河市堪侯,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌荔仁,老刑警劉巖伍宦,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異乏梁,居然都是意外死亡次洼,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)遇骑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)卖毁,“玉大人,你說(shuō)我怎么就攤上這事落萎『ダ玻” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵练链,是天一觀(guān)的道長(zhǎng)翔脱。 經(jīng)常有香客問(wèn)我,道長(zhǎng)媒鼓,這世上最難降的妖魔是什么届吁? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮隶糕,結(jié)果婚禮上瓷产,老公的妹妹穿的比我還像新娘站玄。我一直安慰自己枚驻,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布株旷。 她就那樣靜靜地躺著再登,像睡著了一般。 火紅的嫁衣襯著肌膚如雪晾剖。 梳的紋絲不亂的頭發(fā)上锉矢,一...
    開(kāi)封第一講書(shū)人閱讀 51,598評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音齿尽,去河邊找鬼沽损。 笑死,一個(gè)胖子當(dāng)著我的面吹牛循头,可吹牛的內(nèi)容都是我干的绵估。 我是一名探鬼主播炎疆,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼国裳!你這毒婦竟也來(lái)了形入?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤缝左,失蹤者是張志新(化名)和其女友劉穎亿遂,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體渺杉,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蛇数,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了是越。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片苞慢。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖英妓,靈堂內(nèi)的尸體忽然破棺而出挽放,到底是詐尸還是另有隱情,我是刑警寧澤蔓纠,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布辑畦,位于F島的核電站,受9級(jí)特大地震影響腿倚,放射性物質(zhì)發(fā)生泄漏纯出。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一敷燎、第九天 我趴在偏房一處隱蔽的房頂上張望暂筝。 院中可真熱鬧,春花似錦硬贯、人聲如沸焕襟。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)鸵赖。三九已至,卻和暖如春拄衰,著一層夾襖步出監(jiān)牢的瞬間它褪,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工翘悉, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留茫打,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像老赤,于是被迫代替她去往敵國(guó)和親饼煞。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355