SQL?Server數據庫表的創(chuàng)建與管理操作大全
前言
上次博客寫到了數據庫的創(chuàng)建與管理,但是創(chuàng)建的庫里面什么東西都沒有,現在我們需要在庫里面添加數據表內容
一、數據表的組成
在創(chuàng)建表之前,我們需要先知道表里面有哪些東西,知己知彼,才知道自己在干什么,怎么干??!
數據表和excel里面的表差別不大,是由列名、數據類型和約束組成。
常見的列名有學號、姓名、性別等等。數據類型和java,c語言的有的一樣,有的不一樣,有單獨的一節(jié)專門講類型,常見的有int、char等等。
約束是通過限制列的取值來強制實現域的完整性,例如年齡不能低于0歲,性別默認為男等等。
實現完整性的約束有:
1、主鍵約束
2、外鍵約束
3、unique唯一約束
4、default默認約束
5、check范圍約束
6、not null 不為空約束
(1)主鍵約束
關鍵字:primary key
作用:用來標識這個表中唯一的列,這一列里面的數必須都不相同,就像我們的身份證號。
在這個course表中,這個符號就代表主鍵 ??!
(2)外鍵約束
關鍵字:foreigh key
作用:當兩個表需要連接或者有關系時,我們就需要外鍵把它們聯(lián)系在一起,組成一個整體表。
外鍵的顏色比主鍵淡一點,且方向相反??!
(3) 唯一約束
關鍵字:unique
作用:再去定義一列或多列唯一的值,每列的數也必須不一樣!
與主鍵的區(qū)別:1、主鍵列只能有一列,唯一列可以有多列
2、主鍵列不能為空,而唯一列可以為空null
(4)默認約束
關鍵字:defalte
作用:用來默認一些內容,例如計算機專業(yè)男生多,就默認性別為男,當你不填寫這行內容時,它會自動添加男這個性別。
(5)范圍約束
關鍵字:check
作用:用來約束一些數據的取值范圍,例如年齡在60歲以下,成績在100分以內等等。
(6)不為空約束
關鍵字:not null
作用:當我們不寫某行數據時,系統(tǒng)會默認寫上null,如果你不想這列數據有空值就可以限制它。
二、創(chuàng)建數據表
1、表的創(chuàng)建
構建:create --->table
學生信息表(student)
字段名稱 | 字段類型及長度 | 說明 | 備注 |
sno | Char(20) | 學生學號 | 主關鍵字 |
sname | Char(6) | 學生姓名 | 非空 |
ssex | Char(2) | 學生性別 | 默認為男 |
sage | Int | 學生年齡 | 范圍在0~30 |
創(chuàng)建一個student表,要求如上!
create table student( --創(chuàng)建名為student的表 sno char(20) primary key, --主鍵 sname char(6) not null, --不為空 ssex char(2) default '男', --默認為男 sage int check (sage between 0 and 30)--范圍在0到30之間 )
2、表的查看
我們怎樣用肉眼觀察到我們已經把表建好了呢?
(1)用鼠標點擊軟件看圖形
在表student的列中,我們可以很清晰的看到我們所建的東西
(2)用查詢語句
select * from student -- 查詢表student
查詢后我們能看見我們所創(chuàng)建的每一列的列名,但是我們只是建了一個空表,是沒有內容的,接下來我們就開始進行內容的填寫代碼實現?。?/strong>!
3、表的增加
構建:insert into --> values
學生信息表(student)
sno | sname | ssex | sage |
202115001 | 趙菁菁 | 女 | 23 |
202115002 | 李勇 | 男 | 20 |
202115003 | 張力 | 男 | 19 |
202115004 | 張衡 | 男 | 18 |
202115005 | 張向東 | 男 | 20 |
202115006 | 張向麗 | 女 | 20 |
202115007 | 王芳 | 女 | 20 |
202115008 | 王民生 | 男 | 25 |
將表中內容添加到student學生表中,要求如上!
insert into student values(202115001,'趙菁菁','女',23), (202115002,'李勇','男',20), (202115003,'張力','男',19), (202115004,'張衡','男',18), (202115005,'張向東','男',20), (202115006,'張向麗','女',20), (202115007,'王芳','女',20), (202115008,'王民生','男',25)
添加完成后再次查看這個表
select *from student
4、表的修改
構建 alter---> column,
(1)修改表的名字
修改表student新名稱為student1
exec sp_rename 'student','student1'
刷新后可看見
(2)修改表字段名字
修改表 student1 中字段 “ssex” 名稱為 “gender”
exec sp_rename 'student1.ssex','gender' --exec sp_rename '表名.列名','新列名'
(3)添加一個新的字段
為student1添加一個愛好字段 love char(10)
alter table student1 add love char(10)
(4)刪除一個字段
為student1刪除字段 love
alter table student1 drop column love
(5)修改表字段操作
修改表 student1 中字段名為 “sname” 的字段長度由原來的6改為8;
alter table student1 alter column sname char(8)
修改內容
修改表李勇的名字改為李華
update student1 set sname = '李華' where sname = '李勇'
修改李華的性別為女
update student1 set gender = '女' where sname = '李華'
將學號為“202115003”的學生信息重新設置為“王丹丹、女、20
update student1 set sname = '王丹丹',gender = '女',sage = 20 where sno = 202115003
刪除內容
刪除數據表student1年齡大于24的男同學的記錄
delete student1 where gender = '男' and sage>24
5、表的刪除
刪除表student1
drop table student1
三、表的架構操作
在對架構進行一系列操作之前,我們首先得明白什么是架構,有什么用途
架構:簡單來說就是一個數據庫對象容器,相當于一個文件夾,這個文件夾下面可以放很多不同的表、視圖的文件。
數據庫是有一個默認的架構 --dbo,在每一個表的前面是可以看見的!!
現在我們要弄一個新的架構,然后放入這些表!?。?nbsp;
1、架構的創(chuàng)建
為用戶dbo定義一個新的架構,架構名為myself
create schema myself authorization dbo
目前就有了一個新的myself架構
2、架構添加表
將默認架構dbo中的student1表傳輸到myself架構中。
alter schema myself transfer dbo.student1
將表移回來
將架構myself中的student1表傳輸到dbo架構中。
alter schema dbo transfer myself.student1
3、刪除架構
刪除架構myself
drop schema myself
四、總結
從大致上看,在數據庫下面有不同的架構,這些架構下面放上表、視圖等文件,我們可以對表進行一系列的增刪查改操作
首先得創(chuàng)建表create、然后用圖形或者查詢語句進行查看,然后需要進行增加表里面的內容insert into 表明 values(...),做了這些之后表里面的內容是需要修改的,從大范圍的修改alter 到小范圍的修改update、delete等,最后可以刪除這個表drop。
學習sql server數據庫得先看森林再見樹木、由于很多書本雜亂無章沒有總結,因此自己想做這個系列
到此這篇關于SQL Server數據庫表的創(chuàng)建與管理操作的文章就介紹到這了,更多相關SQLServer表創(chuàng)建和管理內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
sqlserver存儲過程中SELECT 與 SET 對變量賦值的區(qū)別
SQLServer中對已經定義的變量賦值的方式用兩種,分別是 SET 和 SELECT。對于這兩種方式的區(qū)別,SQL Server 聯(lián)機叢書中已經有詳細的說明,但很多時候我們并沒有注意,其實這兩種方式還是有很多差別的。2011-04-04SQL Server 2012 FileTable 新特性詳解
FileTable是基于FILESTREAM的一個特性。本文給大家介紹SQL Server 2012 FileTable 新特性詳解,非常不錯,感興趣的朋友一起學習吧2016-08-08Sql server中內部函數fn_PhysLocFormatter存在解析錯誤詳解
這篇文章主要給大家介紹了關于Sql server中內部函數fn_PhysLocFormatter存在解析錯誤的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧。2017-09-09