SQL Server数据库 -- 表的创建与管理

news2024/10/6 20:39:35

文章目录

  • 一、数据表的组成
  • 二、创建数据表
    • 表的创建
    • 表的查看
    • 表的增加
    • 表的修改
    • 表的删除、
  • 三、表的架构操作
  • 四、总结


前言

上次博客写到了数据库的创建与管理,但是创建的库里面什么东西都没有,现在我们需要在库里面添加数据表内容


 

一、数据表的组成

在创建表之前,我们需要先知道表里面有哪些东西,知己知彼,才知道自己在干什么,怎么干!!

数据表和excel里面的表差别不大,是由列名、数据类型和约束组成。

常见的列名有学号、姓名、性别等等。数据类型和java,c语言的有的一样,有的不一样,有单独的一节专门讲类型,常见的有int、char等等。

约束是通过限制列的取值来强制实现域的完整性,例如年龄不能低于0岁,性别默认为男等等。

实现完整性的约束有:

1、主键约束

2、外键约束

3、unique唯一约束

4、default默认约束

5、check范围约束

6、not null 不为空约束

(1)主键约束

关键字:primary key

作用:用来标识这个表中唯一的列,这一列里面的数必须都不相同,就像我们的身份证号。

在这个course表中,这个符号就代表主键 !!

(2)外键约束

关键字:foreigh key

作用:当两个表需要连接或者有关系时,我们就需要外键把它们联系在一起,组成一个整体表。

 

外键的颜色比主键淡一点,且方向相反!!

(3) 唯一约束

关键字:unique

作用:再去定义一列或多列唯一的值,每列的数也必须不一样!

与主键的区别:1、主键列只能有一列,唯一列可以有多列

                         2、主键列不能为空,而唯一列可以为空null

(4)默认约束 

关键字:defalte

作用:用来默认一些内容,例如计算机专业男生多,就默认性别为男,当你不填写这行内容时,它会自动添加男这个性别。

(5)范围约束

关键字:check

作用:用来约束一些数据的取值范围,例如年龄在60岁以下,成绩在100分以内等等。

(6)不为空约束

关键字:not null

作用:当我们不写某行数据时,系统会默认写上null,如果你不想这列数据有空值就可以限制它。


二、创建数据表

1、表的创建

构建:create --->table 

学生信息表(student)

字段名称

字段类型及长度

说明

备注

sno

Char(20)

学生学号

主关键字

sname

Char(6)

学生姓名

非空

ssex

Char(2)

学生性别

默认为男

sage

Int

学生年龄

范围在0~30

创建一个student表,要求如上!

create table student(            --创建名为student的表
sno char(20) primary key,        --主键
sname char(6) not null,          --不为空
ssex char(2) default '男',       --默认为男
sage int check (sage between 0 and 30)--范围在0到30之间
)

 2、表的查看

我们怎样用肉眼观察到我们已经把表建好了呢?

(1)用鼠标点击软件看图形

 在表student的列中,我们可以很清晰的看到我们所建的东西

(2)用查询语句

select * from student -- 查询表student

 

查询后我们能看见我们所创建的每一列的列名,但是我们只是建了一个空表,是没有内容的,接下来我们就开始进行内容的填写代码实现!!

3、表的增加

构建:insert  into --> values  

学生信息表(student)

sno

sname

ssex

sage

202115001

赵菁菁

23

202115002

李勇

20

202115003

张力

19

202115004

张衡

18

202115005

张向东

20

202115006

张向丽

20

202115007

王芳

20

202115008

王民生

25

将表中内容添加到student学生表中,要求如上!

insert into student values(202115001,'赵菁菁','女',23),
						  (202115002,'李勇','男',20),
						  (202115003,'张力','男',19),
						  (202115004,'张衡','男',18),
						  (202115005,'张向东','男',20),
						  (202115006,'张向丽','女',20),
						  (202115007,'王芳','女',20),
						  (202115008,'王民生','男',25)

添加完成后再次查看这个表

select *from student

 4、表的修改

 构建   alter---> column,

(1)修改表的名字

修改表student新名称为student1

exec sp_rename 'student','student1' 

刷新后可看见 

(2)修改表字段名字

修改表 student1 中字段 “ssex” 名称为 “gender”

exec sp_rename 'student1.ssex','gender'
--exec sp_rename '表名.列名','新列名'

(3)添加一个新的字段 

为student1添加一个爱好字段 love char(10)

alter table student1 add love char(10)

(4)删除一个字段 

为student1删除字段 love 

alter table student1 drop column love

(5)修改表字段操作

修改表 student1 中字段名为 “sname” 的字段长度由原来的6改为8;

alter table student1 alter column sname char(8)

修改内容 

修改表李勇的名字改为李华 

update student1
set sname = '李华'
where sname = '李勇'

修改李华的性别为女 

update student1
set gender = '女'
where sname = '李华'

将学号为“202115003”的学生信息重新设置为“王丹丹、女、20

update student1
set sname = '王丹丹',gender = '女',sage = 20
where sno = 202115003

 删除内容

 删除数据表student1年龄大于24的男同学的记录

delete student1
where gender = '男' and sage>24

5、表的删除 

删除表student1

drop table student1

三、表的架构操作

在对架构进行一系列操作之前,我们首先得明白什么是架构,有什么用途

架构:简单来说就是一个数据库对象容器,相当于一个文件夹,这个文件夹下面可以放很多不同的表、视图的文件。

数据库是有一个默认的架构 --dbo,在每一个表的前面是可以看见的!!

现在我们要弄一个新的架构,然后放入这些表!!! 

 

1、架构的创建 

为用户dbo定义一个新的架构,架构名为myself

create schema myself authorization dbo

 

目前就有了一个新的myself架构

2、架构添加表

将默认架构dbo中的student1表传输到myself架构中。

alter schema myself transfer dbo.student1

 

将表移回来 

  将架构myself中的student1表传输到dbo架构中。

alter schema dbo transfer myself.student1

 3、删除架构

删除架构myself

drop schema myself

四、总结 

从大致上看,在数据库下面有不同的架构,这些架构下面放上表、视图等文件,我们可以对表进行一系列的增删查改操作

首先得创建表create、然后用图形或者查询语句进行查看,然后需要进行增加表里面的内容insert into 表明 values(...),做了这些之后表里面的内容是需要修改的,从大范围的修改alter 到小范围的修改update、delete等,最后可以删除这个表drop。

学习sql server数据库得先看森林再见树木、由于很多书本杂乱无章没有总结,因此自己想做这个系列,接下来还会继续做表的查询等相关内容,希望文章能够帮助到你!!!

 

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

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

相关文章

美好未来“一束光”儿童安全教育项目在四川泸定正式启动

6月26日,由中华少年儿童慈善救助基金会和北京臻爱公益基金会共同发起的美好未来计划“一束光”儿童安全教育公益项目启动仪式,在四川省甘孜藏族自治州泸定县贡嘎山片区寄宿制学校举行。 出席本次启动仪式活动的嘉宾有:中华少年儿童慈善救助基…

基于“SRP模型+”多技术融合在生态环境脆弱性评价模型构建、时空格局演变分析与RSEI指数的生态质量评价及拓展应用

目录 ​第一章 生态环境脆弱性评价内涵及基于文献可视化方法研究热点分析 第二章 数据来源及预处理 第三章 生态环境脆弱性评价模型构建 第四章 生态环境脆弱性时空格局演变分析 第五章 生态环境脆弱性时空格局演变驱动机制分析 第六章 基于 RSEI 指数的生态质量评价 第…

js输入一个字符串,打印出该字符串中,所有字符的排列组合(超清晰)

一、题目 输入一个字符串,打印出该字符串中,所有字符的排列组合。 输入:abc 输出:[abc, acb, bca, bac, cab, cba] 二、思路 回溯算法。其核心思想是通过递归的方式进行深度优先搜索,当发现当前的选择不符合要求时…

机器学习技术:如何使用交叉验证和ROC曲线提高疾病预测的准确性和效率?

一、引言 随着机器学习的普及,评估模型的性能越来越重要。交叉验证和ROC曲线是两种常见的评估模型性能的方法。本文将介绍这两种方法的基本原理和应用场景,并结合实际案例和技术实践,讲解如何使用交叉验证和ROC曲线来提高机器学习模型的性能…

mongodb原理

一:MongoDB的优点和缺点 优点 面向文档存储(类JSON数据模式简单而强大)动态查询全索引支持,扩展到内部对象和内嵌数组查询记录分析快速,就地更新高效存储二进制大对象 (比如照片和视频)复制和故障切换支持Auto- Sharding自动分片支持云级扩展性MapReduce 支持复杂…

chatgpt赋能python:Python选择对话框:简化用户操作的实用工具

Python选择对话框:简化用户操作的实用工具 在Python编程领域中,常常需要与用户进行交互,以便更好地控制程序运行结果。而选择对话框则是一种简化用户操作的实用工具,可避免用户输入错误或步骤繁琐的问题。在本篇文章中&#xff0…

【UE】一个需求案例掌握Timeline和插值Lerp

文章目录 问题背景结论先行timeline和lerp原理使用timelinelerp实现相机平滑跟随BUG猜想验证和解决 问题背景 今天用timelinelerp插值做了一个相机平滑跟随的需求 如果只是要求跟随,直接在tick中把相机位置设置成角色位置就可以 但希望有一个相机滞后角色一点点的…

如何避免ChatGPT,ChatGLM这类大语言模型胡说八道

“ ChatGPT,ChatGLM这类大语言模型一本正经的胡说八道,可能也是它创造性回答的部分。那么谁来判断它在编造无中生有的内容?恐怕只有人才能判断。模型怎么会产生幻觉,我们又怎么避免它产生幻觉?” 01 — 昨天体验了国产…

快上车,搭乘HUAWEI HiCar驶向未来

HUAWEI HiCar(以下简称HiCar)是华为提供的人-车-家全场景智慧互联解决方案,连接手机与车辆,充分发挥各自的优势属性,将手机的应用/服务生态延伸进车辆,实现以手机为核心的全场景体验。消费者通过HiCar可以感…

HTML 超链接标签、图片标签

超链接标签 超链接描述 HTML使用标签<a>来设置超文本链接 超链接可以是一个字&#xff0c;一个词&#xff0c;或者一组词&#xff0c;也可以是一幅图像&#xff0c;您可以点击这些内容来跳转到新的文档或者当前文档中的某个部分。 <a href"url">链接文…

【运维】Linux升级Python2

【运维】Linux升级Python2 操作系统&#xff1a;centos7python版本&#xff1a;升级前版本2.7.5&#xff0c;升级后2.7.18python3版本&#xff1a;升级前3.6.8&#xff0c;升级后版本3.8.8 1、查看当前python版本 [root1 ~]# python -V Python 2.7.5 2、yum安装python [roots14…

Apikit 自学日记:发起文档测试-Websocket

Websocket 进入某个WS协议的API文档详情页&#xff0c;点击文档上方 测试 标签&#xff0c;即可进入 API 测试页&#xff0c;系统会根据API文档的定义的求头部、Query参数、请求体自动生成测试界面并且填充测试数据。 填写/修改请求参数 1.1设置请求头部&#xff08;Header&…

Rovio智能车改锂电经验分享

目录 小车简介 改造思路 改造目的 步骤一、改锂电 电压检测 充电检测 结束语 本文介绍如何给wowwee Rovio智能车改电源过程。 首先介绍硬件情况 小车简介 小车功能强大&#xff0c;带红外定位&#xff0c;带缺电自动归位&#xff0c;带轨迹录制回放&#xff0c;带扬声器…

【PostgreSQL 数据库线下沙龙(武汉站)】PieCloudDB:云原生分布式虚拟数仓的诞生之旅...

2023年6月3日&#xff0c;开源软件联盟 PostgreSQL 中文社区在武汉举办了技术沙龙活动。本次活动主题围绕未来数据库展开讨论和分享。通过探讨未来数据库的概念和特点&#xff0c;为智能化时代的发展提供更多的支持和服务。同时&#xff0c;通过探讨数据库和AI技术的共生共荣&a…

基于SpringBoot的美食点评系统

1.引言 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 美食点评管理系统&#xff0c;主要的模块包括首页、个人中心、用户管理、餐厅管理、美食餐厅管理、地区管理、菜系管理、餐厅点评管理、系统…

短视频矩阵抖音账号矩阵系统源码开发者自研(一)

一、短视频矩阵系统源码框架建模搭建 目录 一、短视频矩阵系统源码框架建模搭建 1.抖音账号矩阵系统功能模型建模 2.短视频账号矩阵系统接口开发规则 二、短视频矩阵系统源码视频剪辑转码处理 短视频矩阵系统是一个多功能的视频内容管理系统&#xff0c;用于创建、剪辑发布…

vue3-多人聊天室角色识别(全栈)

文章目录 主要技术栈目的实现步骤1. 前端发送信息2. 后端处理数据3. 前端渲染数据4. store 主要技术栈 主要技术栈是vue3&#xff0c;springboot&#xff0c;websocket&#xff0c;element-plus 目的 主要目的是复习和梳理 实现步骤 1. 前端发送信息 发送信息&#xff0c…

【Spring Cloud系列】-负载均衡(Load Balancer,LB)

【Spring Cloud系列】-负载均衡&#xff08;Load Balancer&#xff0c;LB&#xff09; 文章目录 【Spring Cloud系列】-负载均衡&#xff08;Load Balancer&#xff0c;LB&#xff09;一、什么是负载均衡&#xff08;Load Balancer&#xff0c;LB&#xff09;二、负载均衡的主要…

【MySQL】MySQL中SQL执行流程

文章目录 一、MySQL语句执行流程1.1、主要的原因有以下几点1.2、具体执行流程图如下 二、存储引擎三、MySQL的架构与内部模块四、崩溃恢复时如何判断事务是否需要提交 一、MySQL语句执行流程 连接器&#xff08;Connector&#xff09;&#xff1a; 当客户端发送一个连接请求时…

设计模式学习之观察者模式

设计模式系列往期文章 设计模式学习之策略模式设计模式学习之策略模式在前端的应用设计模式学习之简单工厂模式设计模式学习之工厂方法模式设计模式学习之抽象工厂模式设计模式学习之策略模式和简单工厂模式的对比 这是设计模式系列的第7篇文章&#xff0c;在这之前我们已经介…