哈喽,你好啊,我是雷工!
前边学习了基于T-SQL48_47.基于T-SQL添加数据、CRUD操作、标识列详解:
《数据库|基于T-SQL向数据库数据表中添加、修改、删除数据》
接下来接着学习基于T-SQL添加默认约束、外键约束,内连接查找,以下为学习笔记。
01 默认约束
默认约束是用于指定列在插进数据时的默认值。
当向数据表中插进一行数据时,倘若无为某个列指定详细的值,那样该列将运用其默认约束定义的默认值。
在创建表时定义默认约束:
CREATE TABLE 表名(
列1 数据类型 DEFAUL 默认值,
……
);
例如:在作者表中为位置添加默认值“位置不详”
代码: create tableAuthor
(
AuthorIdint identity(10001,1) primary key,--作者编号,主键
LoginAccount nvarchar(50)not null,--登录账号
LoginPwd varchar(18)check(len(LoginPwd)>=8 and len(LoginPwd)<=18) not null,--登录秘码
AuthorName varchar(20)not null,--作者名字
Phonenumber char(11)not null,--手机
NowAddress nvarchar(100)default(位置不详)--位置
)
go
而后再次向数据表中添加数据时,倘若有位置信息替换为对应位置信息,无指定位置信息则表示“位置不详”。
测试结果如下:
02 外键约束
外键约束是数据库设计中的概念,用于保证相关系的两个表数据的一致性和完整性。
在关系数据库中,外键是一个列或列集合,它指向另一个相关表中的主键或独一键。
功效:当咱们在外键表中,添加数据的时候,倘若和主表创立引用关系,则会自动的从主表中对应的字段中查找数据是不是一致,不一致的话会拒绝插进。
保准数据一致。
示例:
2.1、创建账号类型表:
代码如下: --账号类型表
if exists(select*from sysobjects where name=AccountType)
drop table AccountType
go
create table AccountType
(
TypeId int identity(10,1)primary key,--类型编号
TypeName varchar(20)not null--类型名叫作
)
go
2.2、向账号类型表中添加【科技】、【美食】、【综合】三个类型
代码如下: --添加账号归类
insert into AccountType(TypeName)values(科技),(美食),(综合)查找账号类型表的信息
代码如下: select*from AccountType2.3、查找结果:
2.4、创建账号表
创建账号表,其中TypeId列为外键,指向账号归类表的TypeId列
代码如下: --账号表if exists(select*from sysobjects where name=Account)
drop table Account
go
create table Account
(
AccountId int identity(10001,1) primary key,--账号编号
AccountName varchar(20)not null,--账号名叫作
AccountContent nvarchar(500)not null,--账号简介
originality int not null,--原创数
TypeId int references AccountType(TypeId) not null--外键约束
)
go
2.5、向账号表添加信息
当添加的信息中TypeId值(9)在账号类型表中不存在时,插进报错。
代码及执行结果如下:
当添加的信息中TypeId值为11,在账号类型表中存在时,则可正常插进。
代码及执行结果:
查找插进结果为:
03 内连接查找
经过inner join连很查找两个表的信息。
代码示例: selectAccountName,AccountContent,originality,Account.TypeId,AccountType.TypeNamefrom Account
inner join AccountType on Account.TypeId=AccountType.TypeId查找结果:
04、后记
以上为基于T-SQL添加默认约束、外键约束、内连接查找关联的基本内容,
有对关联内容感兴趣的小伙伴,欢迎点个关注,咱们一块学习进步。
|