SQL——SERVER的建表主要操作

目录

一:数据存储问题

1.表的相关数据

2.表,字段,记录

二:建表

       1.创建表头

2. 数据类型

3.保存数据

4.数据冗余 

5.使用命令重置表 

7.设置主键 


一:数据存储问题

1.表的相关数据

                表是数据库的基本单位,所有的数据都是存储在表里的,我们所有的操作都是对表的操作。表在数据库中的地位类似于Java中的类。

         

2.表,字段,记录

下面我们来学习表 字段,记录;

主键:唯一的标识一个事物的属性称之为主键;

外键:来自其他表的主键(没有标准的定义,纯属个人理解);

字段/属性:一个事物的静态特征,如姓名,性别等,(类似于Java中的成员变量)表的每一列信息称为字段;

记录/元组;表的每一行信息称为记录;

         如下图,有两个表:分别是员工表和部门表;

        为了区分员工表中员工重名的情况,我们添加 “编号” 这一列,表的每一列就是字段或者属性,即 “ 100001  100002  100003  100004 ”。并且,对于这个表来说,这一列也称之为主键,即区分员工的唯一标识的列。张三所在的那一行称之为记录,即 “ 张三  3000  男  29  100001  1 ”;

二:建表

        建表的两种方式:用鼠标+键盘(不推荐);输入命令;

        用 “鼠标+键盘” 的方式建表,容易点错,而且不够稳定 ,况且使用的时候他们也是转化为命令;

        用命令写的缺点是需要记忆一些命令;

       1.创建表头

        右击“表”,选择新建即可,输入 “ 员工 ” 表的列名,数据类型,允许为空一般不勾选。输入完毕后,使用快捷键“ Ctrl+S”保存,再输入表名,如此创建成功。

         “ dbo 前缀 ”表示他是一个系统的身份,我们后面会较深入解释。

2. 数据类型

打开新建的 “ dbo.emp ” 表,打开列,会看到我们刚才创建的东西。

括号中的 nchar(10)代表国际化可存储汉字的字符,长度不超过10.

有的时候可能会出现 nvarchar(max) ,它代表国际化可存储汉字的字符变量,长度不超过 max 。

3.保存数据

        右击 “ dbo.emp ” ——编辑前两百行。如果你只输入如下三个记录,直接点击“ Enter ”就可以保存数据,如果 右击“铅笔形状”——选择执行,只能保存两个记录。

4.数据冗余 

        数据冗余:两个或多个记录重复的情况。

        这时,我们无法通过点击某个选项去修改或者删除数据,这就是我们前面提到的用“鼠标+键盘”手动输入库的缺点,即输入数据错误,无法修改;

        (我尝试修改重复记录的数据,可以输入数据,但无法保存,如下图)

        遇到这种情况,我们可以尝试通过命令去修改记录。

        右击 “ dbo.emp ” 的库“coco”,选择“数据库查询”,通过主键来找到重复的记录,where来确定要修改的具体数据。

        但是,这种操作还是失败的!这是因为两个记录完全是一样的,我们无法告诉计算机我们要修改哪一个冗余记录,修改哪一个冗余记录的哪一个数据,总之,计算机无法辨别我们的命令

5.使用命令重置表 

        我们必须删除表的全部内容!

        右击 “ dbo.emp ” 的库“coco”,选择“新建查询”,输入“delete from 表名”,点击 “ 执行 ” 即可重置表;

        再次打开,可以发现,表重置成功; 

        我们反思一下,当出现数据冗余的时候,我们无论是采取“鼠标+键盘”还是“使用命令”的方式都无法修改数据,只能充值表,这在现实应用中特别麻烦,一定存在某种方式可以避免这种情况的出现。

7.设置主键 

        我们必须在创建表之后输入数据之前设置主键:右击“dbo.emp ”——设计——右击“emo_id”——设置主键 即可。

         这样,当我输入两个“emp_id”相同的人或者重复输入的时候,它会告诉我无法保存,这就避免数据冗余的产生。

        接下来,我们需要创建第二个表:部门

        在同一库下,选择一个表,右击“创建表”,创建完成后记得刷新(如下面左图)。例如我没有刷新,一直以为自己在哪一步出现了问题,没有创建成功,一块尝试了三次,重启软件后,才看到新创建的表(如下面右图);

            

         紧接着,我们照例先设置主键,再输入数据;

         明天,我们再学习如何将这两个表连接在一起,今天有点累啊。

       

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

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

相关文章

交互原型设计工具 Axure RP 9 for Mac 正式激活版

Axure RP 9 Pro Mac版是Mac平台上的一款专为快速原型设计而生的应用,Axure RP 9 Pro Mac版可以辅助产品经理快速设计完整的产品原型,并结合批注,说明以及流程图,框架图等元素,将产品完整地表述给各方面设计人员&#x…

Android Studio(AS)使用别人的项目与gradle包并运行项目

一、问题描述 在进行AS开发时,我们可能会使用到别人的项目,但发现别人把项目发给我们后会发现gradle项目同步失败o(≧口≦)o,此时计有三: 1.横行霸道、豪取抢夺:直接空降到项目人那里,强他的电脑占为己有…

Numpy的数组操作

文章目录 数组的创建创建全0的二维数组a(3,3)全1的二维数组b(3,4)随机数二维数数组c(2,3)效果截图 数组的属性查看b数组的维度查看b数组元素的个数效果截图 数组的维度操作将数组c的行变列,返回最后一个元素返回数组c第…

python 虚拟环境-最简单的教程

查看当前 python 的安装路径 which python 1、Anaconda创建虚拟环境 (1)执行命令:conda create --name env_name python3.10, 命令中我制定了环境名称是env_name,指定了Python版本是3.10,执行命令后,Conda会自动下…

【回溯】1240. 铺瓷砖

本文涉及知识点 回溯 LeetCode1240. 铺瓷砖 你是一位施工队的工长,根据设计师的要求准备为一套设计风格独特的房子进行室内装修。 房子的客厅大小为 n x m,为保持极简的风格,需要使用尽可能少的 正方形 瓷砖来铺盖地面。 假设正方形瓷砖的…

前端面试题复习 - 性能优化

图片加载优化 很多修饰类图片完全可以用css代替对于移动端来说,很多图片都可以用CDN加载小图使用base64格式使用雪碧图能够显示WebP格式的浏览器尽量使用WebP格式。因为WebP格式具有更好的图像数据压缩算法,能带来更小的图片体积,而且拥有肉…

3、用Vue快雕塑搭建一个管理系统的页面布局框架

3.2.顶部栏header 在el-header标签里对标签栏header进行样式定义 <template><div id"app"><el-container><el-header style"background-color: #4c535a"><img src"/assets/logo.png" alt"" style"w…

贪心+数学

一、题目 1、题目描述 给你一个下标从 0 开始的整数数组 tasks &#xff0c;其中 tasks[i] 表示任务的难度级别。在每一轮中&#xff0c;你可以完成 2 个或者 3 个 相同难度级别 的任务。 返回完成所有任务需要的 最少 轮数&#xff0c;如果无法完成所有任务&#xff0c;返回 …

运维别卷系列 - 云原生监控平台 之 05.prometheus alertManager 实践

文章目录 [toc]Alertmanager 简介Alertmanager 实现的核心概念GroupingInhibitionSilencesClient behaviorHigh Availability Alertmanager 配置文件globaltemplatesrouteinhibit_rulesreceivers Alertmanager 部署创建 cm创建 svc创建 stsPrometheus 配置告警Prometheus 配置文…

Frida-RPC 调用

demo frida-rpc通过调用已加载到内存中的函数,直接获取到结果: import fridardev = frida.get_remote_device() session = rdev.attach("大姨妈")scr = """rpc.exports = { encrypt(j2, str){var res;Java.perform(function () {var Crypt = Ja…

K-means 算法【python,算法,机器学习】

K-means 算法试图将数据集中的样本划分为若干个子集&#xff0c;每个子集称为一个簇&#xff0c;通过该算法使得每个聚类内的数据点尽可能相似&#xff08;即距离该聚类的中心点最近&#xff09;&#xff0c;而不同聚类之间的数据点尽可能不相似。 算法步骤如下&#xff1a; 从…

Kubernetes 的命令行工具kubectl介绍

目录 1. 查看资源状态2. 创建资源3. 描述资源4. 更新资源5. 删除资源6. 暴露服务7. 状态检查与故障排查8. 扩缩容9. 自动补全10. 上下文管理11. 查看事件12. 资源编辑 kubectl 是 Kubernetes 的命令行工具&#xff0c;它用于与 Kubernetes 集群进行交互&#xff0c;执行各种管理…

Vu2之使用provide与inject传递数据案例

Vu2之使用provide与inject传递数据案例 在Vue 2中&#xff0c;provide 和 inject 是一对用于在组件树中传递数据的高级选项。它们允许祖先组件向其所有子孙后代组件提供数据&#xff0c;而无需显式地通过 props 或事件进行传递。 provide 选项是在祖先组件中声明的&#xff0c;…

运维别卷系列 - 云原生监控平台 之 03.prometheus label 实践

文章目录 [toc]label 简介自定义标签relabel_configsregexrelabel_action metric_relabel_configs两者的区别 实践 label 简介 label 对于 Prometheus 来说&#xff0c;属于数据处理的方式&#xff0c;Prometheus 是通过指定的 label 来查询数据 Prometheus 的 target 中实例&…

css 步骤条虚线渐变色效果实现

效果如图所示&#xff1a; 思路&#xff1a; 使用元素覆盖的方式实现视觉上虚线的效果 实现代码&#xff1a; html布局 <ul class"details-cont"><li class"details-li" v-for"item in 3" :key"item"><div class&qu…

(教程)gpt-4o如何使用,怎么体验?gpt-4o和gpt-4-turbo的区别

今天OpenAI发布了gpt-4o&#xff0c;我体验之后&#xff0c;gpt-4o简直逆天了。中文能力也挺别强。速度比现在的gpt4还要快。 早在 5 月 11 日&#xff0c;Sam 就在推文中表示&#xff1a;OpenAI 并没有推出 GPT-5&#xff0c;或搜索引擎&#xff0c;但团队一直在努力研发一些…

Git版本控制工具的原理及应用详解(一)

本系列文章简介&#xff1a; 随着软件开发的复杂性不断增加&#xff0c;版本控制成为了开发团队中不可或缺的工具之一。在过去的几十年里&#xff0c;版本控制工具经历了各种发展和演变&#xff0c;其中Git无疑是目前最受欢迎和广泛应用的版本控制工具之一。 Git的出现为开发者…

Nodejs 第七十章(OSS)

OSS OSS&#xff08;Object Storage Service&#xff09;是一种云存储服务&#xff0c;提供了一种高度可扩展的、安全可靠的对象存储解决方案 OSS 对象存储以对象为基本存储单元&#xff0c;每个对象都有唯一的标识符&#xff08;称为对象键&#xff09;和数据。这些对象可以…

【保姆级介绍下运维】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

编译安装Python3

1、源码安装 1、安装依赖软件包 yum -y install gcc gcc-c zlib-devel bzip2-devel openssl-devel sqlite-devel readline-devel libffi-devel # python3.7版本安装 2、下载 curl -o python3.6.5.tgz https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz // 或者 w…