澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

Server学习之路,增删改查

2019-12-01 作者:数据库网络   |   浏览(148)

0.目录

0.目录

0.目录

1.前言

1.前言

1.定义

  • 1.1 怎么是主键和外键
  • 1.2 主键和外键的法力
  • 1.3 主键、外键和目录的分别

2.经过SSMS添增添少

2.成立数据库

  • 2.1 通过SSMS创设数据库
  • 2.2 由此SQL语句建设布局数据库

2.主键(primary key)

  • 2.1 因此SSMS设置主键
  • 2.2 透过SQL语句设置主键

3.透过SQL语句增添数据

  • 3.1 增添单条数据
  • 3.2 添扩大条数据

3.建立表

  • 澳门新萄京官方网站,3.1 通过SSMS建立表
  • 3.2 经过SQL语句创设表

3.外键(foreign key)

  • 3.1 通过SSMS设置外键
  • 3.2 通过SQL语句设置外键

4.因而其余表导入数据

  • 4.1 由此数据库中的别的表导入数据
  • 4.2 通过excel表导入数据

1.前言

配备是win10 SQL Server 2011,使用的GUI管理工科具是SQL Server 二〇一一自带的SQL Server Management Studio(以下简单的称呼SSMS)。本体系首要学习SQL Server底子,指标根本是为着利用Python连接、使用数据库。其余在这里地贴上SQL Server 二零一三下载地址。

4.SQL语句向已存在表安装主键和外键

  • 4.1 已存在表安装主键
  • 4.2 已存在表安装外键

1.前言

增删改查都以对数码的操作,此中“增”对应的SQL语句就是“insert”,也正是“插入”的情致。
本篇主要介绍数据的增加,有GUI格局的拉长,也可以有SQL语句的丰裕,还会有导入的增进。

2.创建数据库

1.定义

2.经过SSMS加多多少

2.1增选 数据库->SSMSTest->表->dbo.student 右键单击dbo.student选择编辑前200行。
澳门新萄京官方网站 1
2.2遵守下图将数据依次填入,并保存。
澳门新萄京官方网站 2
2.3同理将下图数据输入到course表中,并保存。
澳门新萄京官方网站 3
2.4同理将下图数据输入到sc表中,并保留。
澳门新萄京官方网站 4
2.5至此,已将数据拉长到三张表中。

2.1 通过SSMS建设布局数据库

2.1.1开辟SSMS,连接上数据库。
如图所示,找到数据库,右键单击数据库,选择新建数据库。
澳门新萄京官方网站 5
澳门新萄京官方网站 6
2.1.2在数据库名称处输入SSMSTest,选拔分明。
(首要数据文件:*.mdf,日志文件*.ldf,次要数据文件*.ndf)
澳门新萄京官方网站 7
2.1.3右键数据库点击刷新恐怕按F5,然后就会在数据库下边看看刚刚确立的SSMSTest了。
澳门新萄京官方网站 8
(能够观望SSMSTest左侧的Logo是圆柱体,可以精通为每三个圆柱体都代表着三个数据库。)
2.1.4至此,已经成立了名字为SSMSTest的数据库。

1.1 什么是主键和外键

关系型数据库中的一条记下中有几六特特性,若在那之中某一个属性组(注意是组卡塔尔能唯大器晚成标志一条记下,该属性组就足以形成一个主键。
比如:
学生表(学号,姓名,性别,班级)
中间每一种学子的学号是唯风华正茂的,学号正是二个主键

课程表(课程编号,课程名,学分卡塔尔
内部课程编号是独一无二的,课程编号便是二个主键

成绩表(学号,课程号,成绩)
实际业绩表中单豆蔻梢头叁脾气质不可能唯后生可畏标记一条记下,学号和学科号的重新组合才足以唯生机勃勃标记一条记下,所以 学号和学科号的属性组是叁个主键

成绩表中的学号不是成绩表的主键,但它和学生表中的学号相呼应,而且学子表中的学号是学子表的主键,则称成绩表中的学号是学子表的外键

3.通过SQL语句加多数据

2.2 通过SQL语句建构数据库

2.2.1在最开端的分界面点击新建查询。
澳门新萄京官方网站 9
2.2.2在点击新建查询出来的分界面中输入以下代码:

create database SQLTest

澳门新萄京官方网站 10
2.2.3点击上边的实行,可能按F5之后出来了之类画面。
澳门新萄京官方网站 11
2.2.4右键数据库点击刷新或然按F5,然后就会在数据库上边见到刚刚创制的SQLTest了。
澳门新萄京官方网站 12
2.2.5至此,已经建设布局了名叫SQLTest的数据库。

1.2 主键和外键的功力

1.2.1为了保险关周详据库的完整性:
主键是能鲜明一条记下的唯生机勃勃标记,举个例子,一条记下满含身份正号,姓名,年龄。居民身份证号是头一无二能明确你这厮的,别的都恐怕有再一次,所以,居民身份证号是主键。

外键用于与另一张表的涉及。是能鲜明另一张表记录的字段,用于保持数据的大器晚成致性。比如,A表中的三个字段,是B表的主键,那他就足以是A表的外键。

1.2.2起约束据守:
外键取值准则:空值或参阅的主键值。
(1卡塔尔(英语:State of Qatar)插入非空值时,若是主键表中未有那几个值,则不可能插入。
(2卡塔尔(英语:State of Qatar)更新时,不可能改为主键表中未有的值。
(3卡塔尔国删除主键表记录时,你能够在建外键时选定外键记录一齐级联删除依旧拒绝删除。
(4卡塔尔(英语:State of Qatar)更新主键记录时,相近有级联更新和谢绝执行的筛选。

Server学习之路,增删改查。3.1 增多单条数据

3.1.1采撷数据库->SQLTest,点击新建查询,注意左上角的框里是SQLTest,不是的话手动选项一下。
3.1.2在点击新建查询出来的分界面中输入以下代码:

insert into student values('0001', '张三', 18, '男', '文学院')
insert into student values('0002', '李四', 19, '女', '理学院')
insert into student values('0003', '王五', 20, '男', '文学院')
insert into student values('0004', '赵六', 21, '女', '理学院')

insert into course values('1001', '英语', null, 3)
insert into course values('1002', '体育', null, 3)
insert into course values('1003', '书法', null, 3)

insert into sc values('0001', '1001', 90)
insert into sc values('0001', '1002', 80)
insert into sc values('0001', '1003', 70)
insert into sc values('0002', '1001', 75)
insert into sc values('0002', '1002', 85)
insert into sc values('0002', '1003', 95)

3.1.3点击实行。
澳门新萄京官方网站 13
3.1.4取舍 数据库->SQLTest->表->dbo.student 右键单击dbo.student选用编辑前200行。
澳门新萄京官方网站 14
3.1.5得以看见student表中早已成功加多了数据,同理也得以看看任何三个表中也成功增多了数码。
澳门新萄京官方网站 15
3.1.6至此,已将数据增加到三张表中。

3.建立表

1.3 主键、外键和目录的区分

区别 主键 外键 索引
定义 唯一标识一条记录,不能有重复的,不允许为空 表的外键是另一表的主键, 外键可以有重复的, 可以是空值 该字段没有重复值,但可以有一个空值
作用 用来保证数据完整性 用来和其他表建立联系用的 是提高查询排序的速度
个数 主键只能有一个 一个表可以有多个外键 一个表可以有多个唯一索引

参谋网址:Server学习之路,增删改查。SQL的主键和外键的成效

3.2 添增加条数据

同不经常间加上多条数据,只需使用union关键字就可以。

insert into student(sno, sname, sage, ssex, sdept)
select '0001', '张三', 18, '男', '文学院' union
select '0002', '李四', 19, '女', '理学院' union
select '0003', '王五', 20, '男', '文学院' union
select '0004', '赵六', 21, '女', '理学院'

insert into course(cno, cname, cpno, ccredit)
select '1001', '英语', null, 3 union
select '1002', '体育', null, 3 union
select '1003', '书法', null, 3

insert into sc(sno, cno, grade)
select '0001', '1001', 90 union
select '0001', '1002', 80 union
select '0001', '1003', 70 union
select '0002', '1001', 75 union
select '0002', '1002', 85 union
select '0002', '1003', 95

3.1 通过SSMS建立表

3.1.1展开刚刚确立的SSMSTest数据库,找到表(数据库->SSMSTest->表)。
右键单击表,接收新建表。
澳门新萄京官方网站 16
3.1.2在点击新建表出来的分界面中据守下图输入:
澳门新萄京官方网站 17
3.1.3按Ctrl S或然点击最下面菜单栏中的文件,接收保存。
输入欲保存的表名称student,并点击明确。
澳门新萄京官方网站 18
3.1.4再次点击新建表,依据下图输入,况且保留为course。
澳门新萄京官方网站 19
澳门新萄京官方网站 20
3.1.5再一次点击新建表,遵照下图输入,何况保留为sc。
澳门新萄京官方网站 21
澳门新萄京官方网站 22
3.1.6在 数据库->SSMSTest->表 这里刷新一下,就能够意识刚刚创立的三张表了。
澳门新萄京官方网站 23
(采用 数据库->SSMSTest->表->dbo.student 右键单击选用设计,就足以查看刚刚创设的表的切切实实音信了。)

2.主键(primary key)

4.透过任何表导入数据

3.2 通过SQL语句创立表

3.2.1采撷数据库->SQLTest,然后接纳新建查询。注意左上角的不行框中要选中SQLTest,假如不是的话就手动选取一下。
澳门新萄京官方网站 24
3.2.2在新建查询出来的分界面中输入以下代码:

--这是SQL中的注释信息,使用两个减号来注释。
drop table student    --删除表student
create table student  --创建表student
(sno char(4),
sname char(8),
sage int,
ssex char(2),
sdept char(20)
)

drop table course    --删除表course
create table course  --创建表course
(cno char(4),
cname char(8),
cpno char(4),
ccredit int
)

drop table sc    --删除表sc
create table sc  --创建表sc
(sno char(4),
cno char(4),
grade int
)

3.2.3点击实施,会产出上边包车型客车告诫。那是因为我们还平昔不创设表,所以没东西删除。只必要再一次点击推行就能够。
澳门新萄京官方网站 25
澳门新萄京官方网站 26
3.2.4在 数据库->SQLTest->表 这里刷新一下,就能意识刚刚营造的三张表了。
澳门新萄京官方网站 27
(选拔 数据库->SQLTest->表->dbo.student 右键单击选取设计,就能够查看刚刚创立的表的切切实实音讯了。)

2.1 通过SSMS设置主键

2.1.1开垦事前创立的表,即接受 数据库->SSMSTest->表->dbo.student 右键单击dbo.student选拔设计。
澳门新萄京官方网站 28
2.1.2在sno处右键单击选择设置主键。
澳门新萄京官方网站 29
2.1.3这儿能够见到sno前面出现了三个钥匙同样的Logo,那就象征着sno已经被安装为主键了。点击一下封存照旧按Ctrl S就能够保存了。
2.1.4安分守己以上步骤张开dbo.course,右键单击cno选取设置主键。保存。
澳门新萄京官方网站 30
2.1.5如约以上步骤张开dbo.sc,按住shift依次点击sno和cno前边的小框按键,就足以同一时间入选这两行。然后再右键单击选用安装主键。保存。
澳门新萄京官方网站 31
2.1.6至此,已经到位了三张表的主键设置。

4.1 通过数据库中的其余表导入数据

SQL Server语句把二个表的数据插入到另贰个表,有以下二种办法:
4.1.1率先种,当要插入的表(student_back)不真实时

--把表student中性别为'男'的学生信息插入到表student_back(不存在)中
select * into student_back from student where ssex='男'

4.1.2次之种,当要插入的表已经存在时

--把表student中性别为'女'的学生信息插入到表student_back(已存在)中
insert into student_back(bno, bname, bage, bsex, bdept)
select sno, sname, sage, ssex, sdept from student
where ssex='女'

参照网址:SQL Server插入数据和删除数据

2.2 通过SQL语句设置主键

2.2.1选用数据库->SQLTest,点击新建查询,注意左上角的框里是SQLTest,不是的话手动选项一下。
澳门新萄京官方网站 32
2.2.2在点击新建查询出来的分界面中输入以下代码:

--这是SQL中的注释信息,使用两个减号来注释。
drop table student    --删除表student
create table student  --创建表student
(sno char(4) primary key,  --设置sno为主键
sname char(8),
sage int,
ssex char(2),
sdept char(20)
)

drop table course    --删除表course
create table course  --创建表course
(cno char(4) primary key,  --设置cno为主键
cname char(8),
cpno char(4),
ccredit int
)

drop table sc    --删除表sc
create table sc  --创建表sc
(sno char(4),
cno char(4),
grade int,
primary key(sno, cno)  --设置sno和cno的属性组为主键
)

2.2.3点击上边的试行,只怕按F5之后出来了如下画面。
澳门新萄京官方网站 33
2.2.4右键SQLTest点击刷新可能按F5,然后选用表,右键单击选用设计,能收看三张表都已安装主键了。
澳门新萄京官方网站 34
澳门新萄京官方网站 35
澳门新萄京官方网站 36
2.2.5至此,已经成功了三张表的主键设置。

4.2 通过excel表导入数据

4.2.1张开excel表,观望第风华正茂行是字段名字也许实际数量,小编的表这里首先行是数码。
澳门新萄京官方网站 37
4.2.2精选 数据库->SQLTest,右键单击选用 职责->导入数据。
澳门新萄京官方网站 38
4.2.3点击下一步。
澳门新萄京官方网站 39
4.2.4数目源选择excel,文件路线选用你的公文路线,凡是excel版本在二零零六之上的都选择二〇〇五,特别注意首行满含列名称这里,因为本人的excel中首行是数据,所以要把极其√撤除掉。然后点击下一步。
澳门新萄京官方网站 40
4.2.5借使现身了下图的大谬不然,就去那几个网站() 下载安装好之后重试就能够。
澳门新萄京官方网站 41
4.2.6按你的数据库登陆情势选用身份验证形式。然后点击下一步。
澳门新萄京官方网站 42
4.2.7点击下一步。
澳门新萄京官方网站 43
4.2.8在指标这里选用student表。然后点击下一步。
澳门新萄京官方网站 44
4.2.9点击下一步。
澳门新萄京官方网站 45
4.2.10点击下一步。
澳门新萄京官方网站 46
4.2.10点击实现。
澳门新萄京官方网站 47
4.2.11到此处就意味着着成功导入了。
澳门新萄京官方网站 48
4.2.12取舍 数据库->SQLTest->表->dbo.student 右键单击dbo.student采用编辑前200行,能够见到刚刚的数码现已打响导入。
澳门新萄京官方网站 49

3.外键(foreign key)

3.1 通过SSMS设置外键

3.1.1抉择 数据库->SSMSTest->表->dbo.sc 右键单击dbo.sc选取设计。
澳门新萄京官方网站 50
3.1.2右键单击sno也许cno,接收涉及。
澳门新萄京官方网站 51
3.1.3点击左下角的增进。
澳门新萄京官方网站 52
3.1.4在 表和列标准后边的框中式茶食一下,就能够现出前边的多个点的按键,点击八个点Logo的要命按键。
澳门新萄京官方网站 53
3.1.5因为sc中的sno援用了student中的sno,所以主键表这里接受student,然后选用相应的sno。而sc中的cno因为援引的是course中的sc,所以在此无法设置外键,供给等下再设置,在这里地把它选拔为无。点击显明。
澳门新萄京官方网站 54
澳门新萄京官方网站 55
3.1.6再一次点击左下角的增进。依照上述手续将主键表选择为course,采取对应sc中的cno的course中的cno,并点击明确。
澳门新萄京官方网站 56
澳门新萄京官方网站 57
澳门新萄京官方网站 58
3.1.7点击关闭,然后保留,在现身的警报中甄选是。
澳门新萄京官方网站 59
澳门新萄京官方网站 60
3.1.8选项 数据库->SSMSTest->数据库关系图 右键单击选用新建数据库关系图,在弹窗中精选是,然后将三张表都增加,然后就能够观望三张表之间的关联了。
澳门新萄京官方网站 61
澳门新萄京官方网站 62
澳门新萄京官方网站 63
澳门新萄京官方网站 64

3.2 通过SQL语句设置外键

3.2.1挑选数据库->SQLTest,然后选拔新建查询。注意左上角的特别框中要选中SQLTest,假设不是的话就手动接收一下。
3.2.2在新建查询出来的分界面中输入以下代码:

--这是SQL中的注释信息,使用两个减号来注释。
drop table sc    --删除表sc
create table sc  --创建表sc
(sno char(4) foreign key references student(sno),  --加外键约束
cno char(4) foreign key references course(cno),  --加外键约束
grade int,
primary key(sno, cno)  --设置sno和cno的属性组为主键
)

3.2.3点击试行。
澳门新萄京官方网站 65
3.2.4取舍 数据库->SSMSTest->数据库关系图 右键单击接受新建数据库关系图,在弹窗中选择是,然后将三张表都增多,然后就足以看出三张表之间的关系了。
澳门新萄京官方网站 66

4.SQL语句向已存在表安装主键和外键

4.1 已存在表安装主键

格式为:

alter table 表名
add constraint PK_字段名--"PK"为主键的缩写,字段名称叫要在其上创设主键的字段名,'PK__字段名'就为束缚名
primary key (字段名卡塔尔国 --字段名同上

如:

alter table student
add constraint PK_sno
primary key (sno)

PS:要是施行以上代码有以下警报,表明在建表的时候未有给sno增加非空约束,即供给在建表的时候使用以下代码。
澳门新萄京官方网站 67

drop table student    --删除表student
create table student  --创建表student
(sno char(4) not null,  --加非空约束,不加"not null" 默认为:可以为空
sname char(8),
sage int,
ssex char(2),
sdept char(20)
)

4.2 已存在表安装外键

格式为:

alter table 表名
add constraint FK_字段名--"FK"为外键的缩写
foreign key (字段名卡塔尔(英语:State of Qatar) references 关联的表名(关联的字段名卡塔尔(英语:State of Qatar)--注意'关联的表名'和'关联的字段名'

如:

alter table sc add constraint FK_sno foreign key (sno) references student(sno)

本文由澳门新萄京官方网站发布于数据库网络,转载请注明出处:Server学习之路,增删改查

关键词: