前言
上次博客写到了数据库的创建与管理,但是创建的库里面什么东西都没有,现在我们需要在库里面添加数据表内容
一、数据表的组成
在创建表之前,我们需要先知道表里面有哪些东西,知己知彼,才知道自己在干什么,怎么干!!
数据表和excel里面的表差别不大,是由列名、数据类型和约束组成。
常见的列名有学号、姓名、性别等等。数据类型和java,c语言的有的一样,有的不一样,有单独的一节专门讲类型,常见的有int、char等等。
约束是通过限制列的取值来强制实现域的完整性,例如年龄不能低于0岁,性别默认为男等等。
实现完整性的约束有:
1、主键约束
2、外键约束
3、unique唯一约束
4、default默认约束
5、check范围约束
6、not null 不为空约束
(1)主键约束
关键字:primary key
作用:用来标识这个表中唯一的列,这一列里面的数必须都不相同,就像我们的身份证号。
在这个course表中,这个符号就代表主键 !!
(2)外键约束
关键字:foreigh key
作用:当两个表需要连接或者有关系时,我们就需要外键把它们联系在一起,组成一个整体表。
外键的颜色比主键淡一点,且方向相反!!
(3) 唯一约束
关键字:unique
作用:再去定义一列或多列唯一的值,每列的数也必须不一样!
与主键的区别:1、主键列只能有一列,唯一列可以有多列
2、主键列不能为空,而唯一列可以为空null
(4)默认约束
关键字:defalte
作用:用来默认一些内容,例如计算机专业男生多,就默认性别为男,当你不填写这行内容时,它会自动添加男这个性别。
(5)范围约束
关键字:check
作用:用来约束一些数据的取值范围,例如年龄在60岁以下,成绩在100分以内等等。
(6)不为空约束
关键字:not null
作用:当我们不写某行数据时,系统会默认写上null,如果你不想这列数据有空值就可以限制它。
二、创建数据表
1、表的创建
构建:create —>table
学生信息表(student)
字段名称 |
字段类型及长度 |
说明 |
备注 |
sno |
Char(20) |
学生学号 |
主关键字 |
sname |
Char(6) |
学生姓名 |
非空 |
ssex |
Char(2) |
学生性别 |
默认为男 |
sage |
Int |
学生年龄 |
范围在0~30 |
创建一个student表,要求如上!
1 2 3 4 5 6 | create table student( --创建名为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)用查询语句
1 | select * from student -- 查询表student |
查询后我们能看见我们所创建的每一列的列名,但是我们只是建了一个空表,是没有内容的,接下来我们就开始进行内容的填写代码实现!!!
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学生表中,要求如上!
1 2 3 4 5 6 7 8 | insert into student values (202115001, '赵菁菁' , '女' ,23), (202115002, '李勇' , '男' ,20), (202115003, '张力' , '男' ,19), (202115004, '张衡' , '男' ,18), (202115005, '张向东' , '男' ,20), (202115006, '张向丽' , '女' ,20), (202115007, '王芳' , '女' ,20), (202115008, '王民生' , '男' ,25) |
添加完成后再次查看这个表
1 | select * from student |
4、表的修改
构建 alter—> column,
(1)修改表的名字
修改表student新名称为student1
1 | exec sp_rename 'student' , 'student1' |
刷新后可看见
(2)修改表字段名字
修改表 student1 中字段 “ssex” 名称为 “gender”
1 2 | exec sp_rename 'student1.ssex' , 'gender' --exec sp_rename '表名.列名','新列名' |
(3)添加一个新的字段
为student1添加一个爱好字段 love char(10)
1 | alter table student1 add love char (10) |
(4)删除一个字段
为student1删除字段 love
1 | alter table student1 drop column love |
(5)修改表字段操作
修改表 student1 中字段名为 “sname” 的字段长度由原来的6改为8;
1 | alter table student1 alter column sname char (8) |
修改内容
修改表李勇的名字改为李华
1 2 3 | update student1 set sname = '李华' where sname = '李勇' |
修改李华的性别为女
1 2 3 | update student1 set gender = '女' where sname = '李华' |
将学号为“202115003”的学生信息重新设置为“王丹丹、女、20
1 2 3 | update student1 set sname = '王丹丹' ,gender = '女' ,sage = 20 where sno = 202115003 |
删除内容
删除数据表student1年龄大于24的男同学的记录
1 2 | delete student1 where gender = '男' and sage>24 |
5、表的删除
删除表student1
1 | drop table student1 |
三、表的架构操作
在对架构进行一系列操作之前,我们首先得明白什么是架构,有什么用途
架构:简单来说就是一个数据库对象容器,相当于一个文件夹,这个文件夹下面可以放很多不同的表、视图的文件。
数据库是有一个默认的架构 –dbo,在每一个表的前面是可以看见的!!
现在我们要弄一个新的架构,然后放入这些表!!!
1、架构的创建
为用户dbo定义一个新的架构,架构名为myself
1 | create schema myself authorization dbo |
目前就有了一个新的myself架构
2、架构添加表
将默认架构dbo中的student1表传输到myself架构中。
1 | alter schema myself transfer dbo.student1 |
将表移回来
将架构myself中的student1表传输到dbo架构中。
1 | alter schema dbo transfer myself.student1 |
3、删除架构
删除架构myself
1 | drop schema myself |
四、总结
从大致上看,在数据库下面有不同的架构,这些架构下面放上表、视图等文件,我们可以对表进行一系列的增删查改操作
首先得创建表create、然后用图形或者查询语句进行查看,然后需要进行增加表里面的内容insert into 表明 values(…),做了这些之后表里面的内容是需要修改的,从大范围的修改alter 到小范围的修改update、delete等,最后可以删除这个表drop。
学习sql server数据库得先看森林再见树木、由于很多书本杂乱无章没有总结,因此自己想做这个系列
到此这篇关于SQL Server数据库表的创建与管理操作的文章就介绍到这了,更多相关SQLServer表创建和管理内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!