百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

数据库|基于T-SQL添加默认约束、外键约束、内连接查询

toyiye 2024-07-08 22:46 17 浏览 0 评论

哈喽,你好啊,我是雷工!

前边学习了基于T-SQL48_47.基于T-SQL添加数据、CRUD操作、标识列详解:

数据库|基于T-SQL向数据库数据表中添加、修改、删除数据

接下来接着学习基于T-SQL添加默认约束、外键约束,内连接查询,以下为学习笔记。

01 默认约束

默认约束是用于指定列在插入数据时的默认值。

当向数据表中插入一行数据时,如果没有为某个列指定具体的值,那么该列将使用其默认约束定义的默认值。

在创建表时定义默认约束:

CREATE TABLE 表名(

列1 数据类型 DEFAUL 默认值,

……

);

例如:在作者表中为地址添加默认值“地址不详”

代码:

create table Author
(
 AuthorId int 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 AccountType

2.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连很查询两个表的信息。

代码示例:

select AccountName,AccountContent,originality,Account.TypeId,AccountType.TypeName from Account
inner join AccountType on Account.TypeId=AccountType.TypeId

查询结果:

04、后记

以上为基于T-SQL添加默认约束、外键约束、内连接查询相关的基础内容,

有对相关内容感兴趣的小伙伴,欢迎点个关注,我们一起学习进步。

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码