SQL——SERVER的建表主要操作

news2024/12/23 16:31:28

目录

一:数据存储问题

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.coloradmin.cn/o/1676797.html

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

相关文章

FreeRTOS学习 -- 列表和列表项

列表和列表项是 FreeRTOS 的一个数据结构,FreeRTOS 大量使用到了列表和列表项。 一、什么是列表和列表项 1、列表 列表是 FreeRTOS 中的一个数据结构,被用来跟踪 FreeRTOS 中的任务。与列表相关的全部东西都在文件 list.c 和 list.h中。 List_t 结构体…

web入门——导航栏

本专栏内容代码来自《响应式web&#xff08;HTML5CSS3Bootstrap&#xff09;》教材。 导航栏 实现代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content&…

【JavaEE】Spring Web MVC入门:掌握Spring的MVC框架基础

目录 Spring Web MVC什么是Spring Web MVCMVC 定义什么是Spring MVC 学习Spring MVC1. 项目准备2. 建立连接 Spring Web MVC 什么是Spring Web MVC 官⽅对于 Spring MVC 的描述是这样的&#xff1a; Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架&#xff0c;从⼀…

2024年小学生古诗文大会备考:吃透历年真题和知识点(持续)

根据往年的安排&#xff0c;2024年小学生古诗文大会预计这个月就将启动。该如何备考2024年小学生古诗文大会呢&#xff1f;根据往期的经验&#xff0c;只要吃透这些真题和背后的知识点&#xff0c;通过上海小学生古诗文大会的初选&#xff08;初赛&#xff09;一点问题都没有。…

【并发程序设计】4. exec函数族

4.exec函数族 exec函数族是一组用于在进程中启动另一个程序来替换当前进程的函数。 exec函数族主要用于在当前进程内部执行一个新的程序&#xff0c;而不会创建新的进程。 子进程调用exec函数&#xff0c;族父进程不受影响。进程当前内容被指定的程序替换&#xff0c;但进程…

【MySQL】Mysql——卸载文档(windows版本)

MySQL卸载文档-Windows版 1. 停止MySQL服务 winR 打开运行&#xff0c;输入 services.msc 点击 “确定” 调出系统服务。 停止Mysql服务 2. 卸载MySQL相关组件 打开控制面板 —> 卸载程序 —> 卸载MySQL相关所有组件 3. 删除MySQL安装目录 4. 删除MySQL数据目录 数…

代码随想录算法训练营第二十八天 | 216.组合总和III 、17.电话号码的字母组合

216.组合总和III 题目链接/文章讲解&#xff1a; 代码随想录 视频讲解&#xff1a;和组合问题有啥区别&#xff1f;回溯算法如何剪枝&#xff1f;| LeetCode&#xff1a;216.组合总和III_哔哩哔哩_bilibili 解题思路 整体的思路和77题是一样的&#xff0c;这里只是多加了个一个…

记录一期Typecho WebShell木马渗透的经历

我创建了一个Typecho的轻量博客,之前一直是本地运行,最近才上了公网,平时自己也是粗心大意,把密码也写在第一篇博文里面 有一天,我突发奇想的想要提交更新,本博客是通过git进行代码版本管理的避免自己修改官方源码出现了问题,无法还原,也定时备份SQL, 然后莫名其妙的发现多了…

苍穹外卖-day01(SpringBoot+SSM的企业级Java项目实战)

苍穹外卖-day01 课程内容 软件开发整体介绍 苍穹外卖项目介绍 开发环境搭建 导入接口文档 Swagger 项目整体效果展示&#xff1a; 管理端-外卖商家使用 用户端-点餐用户使用 当我们完成该项目的学习&#xff0c;可以培养以下能力&#xff1a; 1. 软件开发整体介绍 作为…

LeetCode题练习与总结:不同的二叉搜索树--96

一、题目描述 给你一个整数 n &#xff0c;求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种&#xff1f;返回满足题意的二叉搜索树的种数。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;5示例 2&#xff1a; 输入&#xff1a;n 1 输出&…

tensorflow实现二分类

# 导入所需库和模块 from tensorflow.keras.layers import Dense, Input, Activation # 导入神经网络层和激活函数模块 from tensorflow.keras.models import Sequential # 导入Keras的Sequential模型 import pandas as pd # 导入Pandas库用于数据处理 import numpy as np …

深度学习设计模式之简单工厂模式

文章目录 前言一、简单工厂设计模式的作用&#xff1f;二、详细分析1.核心组成2.实现步骤3.示例代码4.优缺点优点缺点 5.使用场景 总结 前言 本文主要学习简单工厂设计模式&#xff0c;这个设计模式主要是将创建复杂对象的操作单独放到一个类中&#xff0c;这个类就是工厂类&a…

20【Aseprite 作图】画岩石

1 画一个岩石的框架,不是一个正规的圆,可以把最高点不放在中心,会显得自然 2 用油漆桶填满框架 3 要改变岩石的颜色,可以调整HSV里面的S,降低饱和度 4 描边,和地面连接处可以不描边 5 颜色调得更浅一点,(通过HSV里面的S可以做到),作为亮处的轮廓; 通过把透明度调…

【LAMMPS学习】八、基础知识(6.6)在 Windows 10 上使用 LAMMPS 和 WSL

8. 基础知识 此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语&#xff0c;以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各…

uniapp 微信小程序使用ec-canvas图表

微信小程序中使用到了ec-canvas图表&#xff0c;从DCloud插件市场中下载echarts-for-wx&#xff1b; 在uniapp项目中找到js-sdk文件夹&#xff0c;把其中的uni-ec-canvas放到要用的包的components中。 在文件中导入&#xff1a; 饼图&#xff1a; <template><view…

嵌入式学习——Shell(流指针、文件读写函数)——day20

1. 标准IO和文件IO的区别 1. 标准IO是一种有缓存的IO形式&#xff08;接收了一部分内容后给到linux内核中&#xff09; 2. 文件IO是一种没有缓存的IO形式&#xff08;即刻交给linux内核&#xff0c;及时性&#xff09; 3. 标准IO是库函数,库函数可以在Windows和Linux系统中都能…

使用docker创建hadoop集群:Couldn‘t upload the file

运行的环境; Windows10 Docker Desktopdocker-hadoop 出现的问题如下: 解决方法 https://github.com/big-data-europe/docker-hadoop/issues/98

喜大普奔!VMware Workstation Pro 17.5 官宣免费!

Broadcom 已经正式收购 VMware&#xff0c;【VMware中国】官方公众号已于3月11日更名为【VMware by Broadcom中国】。 13日傍晚&#xff0c;该公众号发表推文 V风拂面&#xff0c;好久不见 - 来自VMware 中国的问候 &#xff0c;意味着 VMware 带着惊喜和美好的愿景再次归来。 …

JavaScript进阶——05-迭代器和生成器【万字长文,感谢支持】

迭代器 概念 迭代器&#xff08;Iterator&#xff09;是 JavaScript 中一种特殊的对象&#xff0c;它提供了一种统一的、通用的方式遍历个各种不同类型的数据结构。可以遍历的数据结构包括&#xff1a;数组、字符串、Set、Map 等可迭代对象。我们也可以自定义实现迭代器&…

Git 基础使用(2) 分支管理

文章目录 分支概念分支使用查看分支分支创建分支切换分支合并合并冲突分支删除 分支管理快进模式分支策略内容保存错误处理 分支概念 &#xff08;1&#xff09;分支概念 Git分支是指在版本控制系统Git中&#xff0c;用来表示项目的不同工作流程或开发路径的一个重要概念。通过…