SQL Server 创建表

切换数据库,判断是否存在

--切换数据库
use DBTEST--判断表是否存在
--创建的所有表都可以在sys.boject中找到,所以这里在sys.objects中查找是否有名字为department的表并且type为U 即用户生成的表
if exists(select * from sys.objects where name='department'and type='U') drop table department;

sys.objects中保存了所有表的各种信息,其中name字段保存的表名,type保存的对象类型;具体字段信息请看☞sys.objects (Transact-SQL)

创建部门表

--部门表
create table department
(
--部门编号,主键用于唯一标识不同的数据的
--identity定义自增起点和自增步长 
DepartmentId int primary key identity(1,1),
--部门名字
--varchar 代表字符型,长度为50
DepartmentName nvarchar(50),
--部门描述
--描述可能会比较长,这里使用text
DepartmentRemark text
)
  • primary key: 表示的主键,主键可以唯一地辨别事物的属性。通过主键能够查询出表中一条完整的记录,同时使用主键能防止表中出现重复的记录,避免了数据的冗余。
  • identity(1,1):定义了自增的起点和步长,这里从1开始自增,步长为1,即下一个为2

在创建DepartmentName时,使用的nvarchar,简单说下char、varchar、nvarchar的区别

  • char: char(10)可以存储十个字节,无论里面存储的数据是否有十个字节都会占用十个字节
  • varchar: varchar(10)最多占用十个字节,如果里面存储2个字节则占用2个字节,最多存放十个字节
  • nvarchar: char varchar text都可以加一个n,代表unicode,表示对中文友好;例如:varchar(100),可以存储100个字母或者50个汉字
    nvarchar(100),可以存储100个字母或者100个汉字

当文本较长,如几千字节时可以使用text

创建职级表

--建职级表
create table [Rank]`在这里插入代码片`
(
RankId int primary key identity(1,1),
RankName nvarchar(50) not null,
RankRemark text
)
  • 当想要创建的表名是关键字,可以使用‘[] ’扩起来

创建员工表

--员工表
create table people
(
PeopleId int primary key identity(1,1),--员工工号
DepartmentID int references department(DepartmentId),--部门编号
RankID int references [Rank](RankId),--员工职级
PeopleName nvarchar(50) not null,--员工姓名
PeopleSex nvarchar(1)default('男') check (PeopleSex='男'or PeopleSex='女'),--员工性别
PeopleBirth smalldatetime not null,--员工生日
PeopleSalary decimal(12,2) check(PeopleSalary >=1000 and PeopleSalary <=10000000),--员工薪水
PeoplePhone varchar(20) not null,--员工电话号码(唯一)
PeopleAddress varchar(300),
PeopleAddTime smalldatetime default(getdate())--自动记录当前时间
)
  • DepaermentID和RankID:使用了References 写外键关系,当添加员工的部门信息的时候,只能填写已经存在的部门,使用外来键对DepartmentID进行约束
  • PeopleSex:限制只能输入(男/女) 其他的输入不进去,使用check进行约束,使用default默认设置为‘男’
  • PeopleSalary: sql server中有float但是没有double;这里使用decimal(12,2)去约束PeopleSalary12代表总长度,2代表小数点后两位,使用check对薪水范围进行约束,这里限制在[1000,10000000]
  • PeoplePhone :电话号码是唯一的, 使用Unique(独特的、唯一的) 进行约束
  • PeopleAddTime: 添加此员工信息的时间,这里使用getdate()去自动获取当前的时间

date、datetime、smalldatetime的区别

  • date :存储年月日,存储范围是从1月1日(0001-01-01)到12月31日(9999-12-31)存储格式为YYYY-MM-DD。
  • datetime 可以存储年月日时分秒;存储范围从1753年1月1日到9999年12月31日,精确到毫秒级,存储格式为YYYY-MM-DD HH:MI:SS[.nnn];占用8个字节的存储空间
  • smalldatetime可以表示的范围更小;存储范围从1900年1月1日到2079年6月6日,精确到分钟级,存储格式为YYYY-MM-DD HH:MI:SS。占用4个字节的存储空间

创建完成之后

departme表
在这里插入图片描述

people 表
在这里插入图片描述
Rank表
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/103895.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GraphQL 查询:一个全面指南

GraphQL GraphQL 是一种 API 查询语言和运行时&#xff0c;用于使用现有数据完成这些查询。它为您的 API 中的数据提供了完整且易于理解的描述&#xff0c;让客户能够准确地询问他们需要什么&#xff0c;更容易随着时间的推移发展 API&#xff0c;并启用强大的开发人员工具。 …

TypeScript React(上)

目录 扩展学习资料 TypeScript设计原则 TypeScript基础 语法基础 变量声明 JavaScript声明变量 TypeScript声明变量 示例 接口 (标准类型-Interface) 类型别名-Type 接口 VS 类型别名 类型断言:欺骗TS&#xff0c;肯定数据符合结构 泛型、<大写字母> 扩展学习…

IDEA 配置 云服务器远程部署

目录 参考资料远程部署与远程开发远程连接配置配置成功&#xff1a;同步文件自动更新文件配置自动更新文件参数调整正确运行问题1&#xff1a;运行mvn spring-boot:run之后一直卡在第一条下载问题2&#xff1a;运行成功后访问不到问题3&#xff1a;无法配置远程开发 参考资料 …

4.springcloudalibaba sentinel v1.8.6版本服务搭建

文章目录 前言一、sentinel服务端安装1.1 服务端下载1.2 启动sentinel服务 二、客户端使用sentinel2.1.pom增加sentinel包2.2 增加配置2.3 启动服务 三、验证3.1 给hello接口增加流控规则3.2 测试结果如下 总结 前言 前面完成了gateway项目部署并且测试&#xff0c;现在部署搭…

springboot vue 部署至Rocky(Centos)并自启,本文部署是若依应用

概述 1、安装nohup&#xff08;后台进程运行java&#xff09; 2、安装中文字体&#xff08;防止中文乱码&#xff09; 3、安装chrony&#xff08;保证分布式部署时间的一致性&#xff09; 5、安装mysql数据&#xff0c;迁移目录&#xff0c;并授权自启动&#xff1b; 6、安…

UI自动化测试:Selenium+PO模式+Pytest+Allure整合

本人目前工作中未涉及到WebUI自动化测试&#xff0c;但为了提升自己的技术&#xff0c;多学习一点还是没有坏处的&#xff0c;废话不多说了&#xff0c;目前主流的webUI测试框架应该还是selenium&#xff0c;考虑到可维护性、拓展性、复用性等&#xff0c;我们采用PO模式去写我…

基于Dockerfile搭建LNMP环境

准备工作 #关闭防火墙和防护机制 systemctl stop firewalld systemctl disable firewalld setenforce 0 docker network create --subnet172.18.0.0/16 --opt "com.docker.network.bridge.name""docker1" mynetwork#设置自定义网络模式&#xff0c;模…

力扣:611. 有效三角形的个数

今日为大家分享一道力扣611有效三角形的个数&#xff01;本文将会为大家为大家讲解题目&#xff0c;然后算法思路&#xff0c;最后再进行代码的实现&#xff01;希望看完本文能对读者有一定的收获&#xff01; 一、题目描述 通过题目的描述可以看出&#xff0c;意思是给定一个…

Go If流程控制与快乐路径原则

Go if流程控制与快乐路径原则 文章目录 Go if流程控制与快乐路径原则一、流程控制基本介绍二、if 语句2.1 if 语句介绍2.2 单分支结构的 if 语句形式2.3 Go 的 if 语句的特点2.3.1 分支代码块左大括号与if同行2.3.2 条件表达式不需要括号 三、操作符3.1 逻辑操作符3.2 操作符的…

Linux:redis的基础操作

redis介绍&#xff0c;安装和性能测试 Linux&#xff1a;redis数据库源码包安装-CSDN博客https://blog.csdn.net/w14768855/article/details/133752744?spm1001.2014.3001.5501如果没有了解过redis那么一定要去看看介绍 登录 redis-cli 可以登录到本机127.0.0.1&#xff0c;…

没用的知识增加了,尝试用文心实现褒义词贬义词快速分类

尝试用文心实现褒义词贬义词快速分类 一、我的需求二、项目环境搭建千帆SDK安装及使用流程 三、项目实现过程创建应用获取签名调用接口计算向量积总结 百度世界大会将于10月17日在北京首钢园举办&#xff0c;今天进入倒计时五天了。通过官方渠道的信息了解到&#xff0c;这次是…

Jmeter连接mysql数据库详细步骤

一、一般平常工作中使用jmeter 连接数据库的作用 主要包括&#xff1a; 1、本身对数据库进行测试&#xff08;功能、性能测试&#xff09;时会需要使用jmeter连接数据库 2、功能测试时&#xff0c;测试出来的结果需要和数据库中的数据进行对比是否正确一致。这时候可以通过j…

XML外部实体注入攻击XXE

xml是扩展性标记语言&#xff0c;来标记数据、定义数据类型&#xff0c;是一种允许用户对自己的标记语言进行定义的源语言。XML文档结构包括XML声明、DTD文档类型定义&#xff08;可选&#xff09;、文档元素&#xff0c;一般无法直接打开&#xff0c;可以选择用excl或记事本打…

内存空间的分配与回收之连续分配管理方式

1.连续分配管理方式 连续分配:指为用户进程分配的必须是一个连续的内存空间。 1.单一连续分配 在单一连续分配方式中&#xff0c;内存被分为系统区和用户区。系统区通常位于内存的低地址部分&#xff0c;用于存放操作系统相关数据;用户区用于存放用户进程相关数据。内存中只…

2023年淘宝天猫双11活动时间什么时候开始到几月几号结束?

2023年淘宝天猫双11超级红包领取时间 第一阶段&#xff1a;2023年10月24日20:00 至11月03日23:59 第二阶段&#xff1a;2023年11月04日00:00 至 11月11日23:59 2023年淘宝天猫双11超级红包使用时间 第一阶段&#xff1a;2023年10月31日20:00 至11月03日23:59 第二阶段&…

Xcode 14.3.1build 报错整理

1、Command PhaseScriptExecution failed with a nonzero exit code 2、In /Users/XX/XX/XX/fayuan-mediator-app-rn/ios/Pods/CocoaLibEvent/lib/libevent.a(buffer.o), building for iOS Simulator, but linking in object file built for iOS, file /Users/XX/XX/XX/fayuan…

微服务设计原则:构建弹性和可维护的应用

文章目录 1. 单一职责原则2. 独立性和自治性3. 弹性和容错性4. API 网关5. 日志和监控6. 版本管理7. 自动化部署和持续集成8. 安全性9. 数据一致性10. 文档和通信拓展思考结论 &#x1f389;欢迎来到架构设计专栏~微服务设计原则&#xff1a;构建弹性和可维护的应用 ☆* o(≧▽…

Qt打开ui文件经常报错

报错如下&#xff1a; 解决方法&#xff1a; 最后设置成默认值 即可

竞赛选题 深度学习 机器视觉 人脸识别系统 - opencv python

文章目录 0 前言1 机器学习-人脸识别过程人脸检测人脸对其人脸特征向量化人脸识别 2 深度学习-人脸识别过程人脸检测人脸识别Metric Larning 3 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习 机器视觉 人脸识别系统 该项目…

高并发下的服务容错

在微服务架构中&#xff0c;我们将业务拆分成一个个的服务&#xff0c;服务与服务之间可以相互调用&#xff0c;但是由于网络 原因或者自身的原因&#xff0c;服务并不能保证服务的100%可用&#xff0c;如果单个服务出现问题&#xff0c;调用这个服务就会 出现网络延迟&#xf…