文章目錄
- 一、數(shù)據(jù)表的組成
-
二、創(chuàng)建數(shù)據(jù)表
- 表的創(chuàng)建
- 表的查看
- 表的增加
- 表的修改
- 表的刪除、
- 三、表的架構(gòu)操作
- 四、總結(jié)
前言
上次博客寫(xiě)到了數(shù)據(jù)庫(kù)的創(chuàng)建與管理,但是創(chuàng)建的庫(kù)里面什么東西都沒(méi)有,現(xiàn)在我們需要在庫(kù)里面添加數(shù)據(jù)表內(nèi)容
?
一、數(shù)據(jù)表的組成
在創(chuàng)建表之前,我們需要先知道表里面有哪些東西,知己知彼,才知道自己在干什么,怎么干??!
數(shù)據(jù)表和excel里面的表差別不大,是由列名、數(shù)據(jù)類型和約束組成。
常見(jiàn)的列名有學(xué)號(hào)、姓名、性別等等。數(shù)據(jù)類型和java,c語(yǔ)言的有的一樣,有的不一樣,有單獨(dú)的一節(jié)專門(mén)講類型,常見(jiàn)的有int、char等等。
約束是通過(guò)限制列的取值來(lái)強(qiáng)制實(shí)現(xiàn)域的完整性,例如年齡不能低于0歲,性別默認(rèn)為男等等。
實(shí)現(xiàn)完整性的約束有:
1、主鍵約束
2、外鍵約束
3、unique唯一約束
4、default默認(rèn)約束
5、check范圍約束
6、not null 不為空約束
(1)主鍵約束
關(guān)鍵字:primary key
作用:用來(lái)標(biāo)識(shí)這個(gè)表中唯一的列,這一列里面的數(shù)必須都不相同,就像我們的身份證號(hào)。
在這個(gè)course表中,這個(gè)符號(hào)就代表主鍵??。?/p>
(2)外鍵約束
關(guān)鍵字:foreigh key
作用:當(dāng)兩個(gè)表需要連接或者有關(guān)系時(shí),我們就需要外鍵把它們聯(lián)系在一起,組成一個(gè)整體表。
?
外鍵的顏色比主鍵淡一點(diǎn),且方向相反?。?/p>
(3) 唯一約束
關(guān)鍵字:unique
作用:再去定義一列或多列唯一的值,每列的數(shù)也必須不一樣!
與主鍵的區(qū)別:1、主鍵列只能有一列,唯一列可以有多列
? ? ? ? ? ? ? ? ? ? ? ? ?2、主鍵列不能為空,而唯一列可以為空null
(4)默認(rèn)約束?
關(guān)鍵字:defalte
作用:用來(lái)默認(rèn)一些內(nèi)容,例如計(jì)算機(jī)專業(yè)男生多,就默認(rèn)性別為男,當(dāng)你不填寫(xiě)這行內(nèi)容時(shí),它會(huì)自動(dòng)添加男這個(gè)性別。
(5)范圍約束
關(guān)鍵字:check
作用:用來(lái)約束一些數(shù)據(jù)的取值范圍,例如年齡在60歲以下,成績(jī)?cè)?00分以內(nèi)等等。
(6)不為空約束
關(guān)鍵字:not null
作用:當(dāng)我們不寫(xiě)某行數(shù)據(jù)時(shí),系統(tǒng)會(huì)默認(rèn)寫(xiě)上null,如果你不想這列數(shù)據(jù)有空值就可以限制它。
二、創(chuàng)建數(shù)據(jù)表
1、表的創(chuàng)建
構(gòu)建:create --->table?
學(xué)生信息表(student)
字段名稱 |
字段類型及長(zhǎng)度 |
說(shuō)明 |
備注 |
sno |
Char(20) |
學(xué)生學(xué)號(hào) |
主關(guān)鍵字 |
sname |
Char(6) |
學(xué)生姓名 |
非空 |
ssex |
Char(2) |
學(xué)生性別 |
默認(rèn)為男 |
sage |
Int |
學(xué)生年齡 |
范圍在0~30 |
創(chuàng)建一個(gè)student表,要求如上!
create table student( --創(chuàng)建名為student的表
sno char(20) primary key, --主鍵
sname char(6) not null, --不為空
ssex char(2) default '男', --默認(rèn)為男
sage int check (sage between 0 and 30)--范圍在0到30之間
)
?2、表的查看
我們?cè)鯓佑萌庋塾^察到我們已經(jīng)把表建好了呢?
(1)用鼠標(biāo)點(diǎn)擊軟件看圖形
?在表student的列中,我們可以很清晰的看到我們所建的東西
(2)用查詢語(yǔ)句
select * from student -- 查詢表student
?
查詢后我們能看見(jiàn)我們所創(chuàng)建的每一列的列名,但是我們只是建了一個(gè)空表,是沒(méi)有內(nèi)容的,接下來(lái)我們就開(kāi)始進(jìn)行內(nèi)容的填寫(xiě)代碼實(shí)現(xiàn)??!!
3、表的增加
構(gòu)建:insert? into --> values??
學(xué)生信息表(student)
sno |
sname |
ssex |
sage |
202115001 |
趙菁菁 |
女 |
23 |
202115002 |
李勇 |
男 |
20 |
202115003 |
張力 |
男 |
19 |
202115004 |
張衡 |
男 |
18 |
202115005 |
張向東 |
男 |
20 |
202115006 |
張向麗 |
女 |
20 |
202115007 |
王芳 |
女 |
20 |
202115008 |
王民生 |
男 |
25 |
將表中內(nèi)容添加到student學(xué)生表中,要求如上!
insert into student values(202115001,'趙菁菁','女',23),
(202115002,'李勇','男',20),
(202115003,'張力','男',19),
(202115004,'張衡','男',18),
(202115005,'張向東','男',20),
(202115006,'張向麗','女',20),
(202115007,'王芳','女',20),
(202115008,'王民生','男',25)
添加完成后再次查看這個(gè)表
select *from student
?4、表的修改
?構(gòu)建? ?alter---> column,
(1)修改表的名字
修改表student新名稱為student1
exec sp_rename 'student','student1'
刷新后可看見(jiàn)?
(2)修改表字段名字
修改表 student1 中字段 “ssex” 名稱為 “gender”
exec sp_rename 'student1.ssex','gender'
--exec sp_rename '表名.列名','新列名'
(3)添加一個(gè)新的字段?
為student1添加一個(gè)愛(ài)好字段 love char(10)
alter table student1 add love char(10)
(4)刪除一個(gè)字段?
為student1刪除字段 love?
alter table student1 drop column love
(5)修改表字段操作
修改表 student1 中字段名為 “sname” 的字段長(zhǎng)度由原來(lái)的6改為8;
alter table student1 alter column sname char(8)
修改內(nèi)容?
修改表李勇的名字改為李華?
update student1
set sname = '李華'
where sname = '李勇'
修改李華的性別為女?
update student1
set gender = '女'
where sname = '李華'
將學(xué)號(hào)為“202115003”的學(xué)生信息重新設(shè)置為“王丹丹、女、20
update student1
set sname = '王丹丹',gender = '女',sage = 20
where sno = 202115003
?刪除內(nèi)容
?刪除數(shù)據(jù)表student1年齡大于24的男同學(xué)的記錄
delete student1
where gender = '男' and sage>24
5、表的刪除?
刪除表student1
drop table student1
三、表的架構(gòu)操作
在對(duì)架構(gòu)進(jìn)行一系列操作之前,我們首先得明白什么是架構(gòu),有什么用途
架構(gòu):簡(jiǎn)單來(lái)說(shuō)就是一個(gè)數(shù)據(jù)庫(kù)對(duì)象容器,相當(dāng)于一個(gè)文件夾,這個(gè)文件夾下面可以放很多不同的表、視圖的文件。
數(shù)據(jù)庫(kù)是有一個(gè)默認(rèn)的架構(gòu) --dbo,在每一個(gè)表的前面是可以看見(jiàn)的??!
現(xiàn)在我們要弄一個(gè)新的架構(gòu),然后放入這些表!??!?
?
1、架構(gòu)的創(chuàng)建?
為用戶dbo定義一個(gè)新的架構(gòu),架構(gòu)名為myself
create schema myself authorization dbo
?
目前就有了一個(gè)新的myself架構(gòu)
2、架構(gòu)添加表
將默認(rèn)架構(gòu)dbo中的student1表傳輸?shù)絤yself架構(gòu)中。
alter schema myself transfer dbo.student1
?
將表移回來(lái)?
??將架構(gòu)myself中的student1表傳輸?shù)絛bo架構(gòu)中。
alter schema dbo transfer myself.student1
?3、刪除架構(gòu)
刪除架構(gòu)myself
drop schema myself
四、總結(jié)?
從大致上看,在數(shù)據(jù)庫(kù)下面有不同的架構(gòu),這些架構(gòu)下面放上表、視圖等文件,我們可以對(duì)表進(jìn)行一系列的增刪查改操作
首先得創(chuàng)建表create、然后用圖形或者查詢語(yǔ)句進(jìn)行查看,然后需要進(jìn)行增加表里面的內(nèi)容insert into 表明 values(...),做了這些之后表里面的內(nèi)容是需要修改的,從大范圍的修改alter 到小范圍的修改update、delete等,最后可以刪除這個(gè)表drop。
學(xué)習(xí)sql server數(shù)據(jù)庫(kù)得先看森林再見(jiàn)樹(shù)木、由于很多書(shū)本雜亂無(wú)章沒(méi)有總結(jié),因此自己想做這個(gè)系列,接下來(lái)還會(huì)繼續(xù)做表的查詢等相關(guān)內(nèi)容,希望文章能夠幫助到你?。?!文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-507732.html
? 文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-507732.html
到了這里,關(guān)于SQL Server數(shù)據(jù)庫(kù) -- 表的創(chuàng)建與管理的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!