Windows server 2016——SQL server 数据库和表的管理

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: Windows server 2016——SQL server 数据库和表的管理



介绍

SQL Server是由微软公司开发的关系型数据库管理系统,现在是全世界主流数据库之一。它具备方便使用、可伸缩性好、相关软件集成程度高等优势,能够从单一的笔记本上运行或以高倍云服务器集群为基础,或在这两者之间任何一种方式上运行。


一.SQL Server的数据存储结构

1.文件类型

数据文件:

  • 主数据文件(.mdf) 有且只有一个
  • 次要(辅助)数据文件(.ndf)可有可无,有可以多个。

事务日志文件(.ldf)至少有一个

  • 记录所有事务的SQL语句
  • 用于恢复数据库

 


二.数据库管理

1.创建数据库

数据库名称

数据文件和日志文件

  • 名称
  • 文件初始大小
  • 自动增长
  • 存储路径

2.扩展数据库

作用

  • 为数据文件和日志文件分配更多的空间

方法

  • 扩展现有文件的自动增长设置
  • 添加新文件

3.收缩数据库

作用

  • 释放数据库中未使用空间

方法

  • 手动收缩
  • 自动收缩

4.分离和附加数据库

作用

  • 将数据库更改到不同SQL Server 实例中

分离数据库

  • 将数据库从实例中移除

附加数据库

  • 通过定位主数据库文件,将数据库附加到另一实例

5.删除数据库

只能删除用户数据库,系统数据库无法删除


三.表的基本概念

1.数据完整性

实体完整性

每一行必须是唯一的实体

引用完整性

确保所有表中数据的一致性,不允许引用不存在的值

域完整性

检查每一列是否有效

用户定义的完整性

制定特定的业务规则


2.主键

  • 用于唯一标识表中的行数据
  • 由一个或多个字段组成
  • 具有唯一性
  • 不允许取空值(NULL
  • 一个表只能有一个主键

 


四.常用数据类型

数据类型

是数据的一种属性,指定对象可保存的数据的类型

SQL Server 数据类型

精准数字

近似数字

字符串

Unicode 字符串

二进制字符串

日期和时间

其他数据类型


精准数字

数据类型

描述

int

整型,存储-231231之间的整数,占4字节空间

bit

整型,取值01NULL。存储只有两种可能值的数据,如YesNo

decimal

存储从-1038-11038-1的固定精度和范围的数值型数据,须指定范围和精度。范围是小数点左右所能存储的数字的总位数。精度是小数点右边存储的数字的位数

money

表示钱和货币值。存储从-922 337 203 685 477.5808  922 337 203 685 477.5807之间的数据,精确到货币单位的万分之一,占8字节空间

近似数字

数据类型

描述

float

表示浮点数值数据的大致数值。表示-1.79E+3081.79E+308 之间的任意数,占8字节空间

real

表示-3.40E+383.40E+38之间的浮点数。占字节空间

字符串

数据类型

描述

char

存储固定长度,非 Unicode 字符数据。须指定列长,最多包含 8000 个字符

varchar

存储可变长度,非 Unicode 字符数据。需要指定该列的最大长度,最多包含231个字符

text

存储大量的非 Unicode字符数据,最多可以有231-1或大约20亿个字符

Unicode字符串

数据类型

描述

nchar

存储定长Unicode字符型数据。Unicode使用双字节结构来存储每个字符,在空间占用上增加了一倍

nvarchar

存储变长Unicode字符型数据

ntext

存储大量的Unicode字符型数据

二进制字符串

数据类型

描述

binary

存储可达8000 字节长的定长的二进制数据

varbinary

存储可达8000 字节长的变长的二进制数据

image

存储变长的二进制数据,最大可达231-1或大约20亿字节

日期和时间

数据类型

描述

date

日期。存储从公元元年11日到公元9999年 1231日间所有的日期数据。占3字节空间

time

表示一天中某个时间,不能感知时区且基于 24 小时制,占5字节空间

datetime

表示日期和时间。存储从175311日到99991231日间所有的日期和时间数据,占8个字节空间


五.使用SSMS操作数据表

1.默认值

如果没有为列指定值,默认值则指定列中使用的值

没有为列指定默认值

如果允许空值,则将向该列中插入 NULL

如果不允许空值,在用户为该列提供值前,将无法保存行

2.标识列

包含系统自动生成的序号值的列

  • 列值由系统按一定规律生成,不允许空值
  • 列值不能重复,唯一标识表中每一行
  • 每个表只能有一个标识列

3.创建标识列(自增列)

  • 类型(type
  • 种子seed
  • 递增量(increment

4.检查约束

  • 限制列可接受的值
  • 通过逻辑表达式创建检查(CHECK)约束

例:

 成绩大于等于0并且小于等于100

  成绩>=0 and 成绩〈=100


六.使用T-SQL语句管理数据表

1.创建表

CREATE TABLE 表名
(
    列名1 数据类型(大小),
    列名2 数据类型(大小),
    列名3 数据类型(大小),
    ……    
)

2.删除表

DROP TABLE  <表名>

七.操作练习

操作要求:

(1)创建一个名为benet的数据库,数据库文件存放在c:\benet,如图所示:

(2)将benet数据库设置为自动收缩。

(3)创建一个名为student的表,表中字段如下图所示:

字段要求:学员编号为从1开始自动编号,身份证号为主键列,所在班级的默认值为t3145,成绩输入要求大于等于0,小于等于100(成绩  >=0  and  成绩 <=100 )。

(4)在图形界面下,输入数据,测试以上的要求是否符合要求。

(5)使用语句删除student表。

(6)使用语句再次创建student表。如图所示:

(7)在表的“设计”视图下查看是否符合上面表的要求。

(8)在图形界面下,输入数据,测试是否符合上面表的要求。


创作不易,求关注,点赞,收藏,谢谢~

相关实践学习
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS&nbsp;SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
4天前
|
SQL 监控 安全
数据库安全:SQL注入防御实践
【7月更文挑战第11天】SQL注入攻击作为一种常见的网络攻击手段,对数据库的安全性和业务稳定构成了严重威胁。为了有效防御SQL注入攻击,开发者和数据库管理员应采取一系列实践措施,包括输入验证与过滤、使用参数化查询、限制数据库用户权限、使用Web应用程序防火墙、定期更新和打补丁、实施实时监控和审计以及使用HTTPS协议等。通过这些措施的实施,可以显著提升数据库的安全性,降低遭受SQL注入攻击的风险。同时,开发者和数据库管理员应持续关注新的安全威胁和防御技术,不断提升自身的安全防护能力。
|
5天前
|
SQL 存储 安全
数据库数据恢复—SQL Server数据库出现逻辑错误的数据恢复案例
SQL Server数据库数据恢复环境: 某品牌服务器存储中有两组raid5磁盘阵列。操作系统层面跑着SQL Server数据库,SQL Server数据库存放在D盘分区中。 SQL Server数据库故障: 存放SQL Server数据库的D盘分区容量不足,管理员在E盘中生成了一个.ndf的文件并且将数据库路径指向E盘继续使用。数据库继续运行一段时间后出现故障并报错,连接失效,SqlServer数据库无法附加查询。管理员多次尝试恢复数据库数据但是没有成功。
|
5天前
|
SQL Java 关系型数据库
Java面试题:描述JDBC的工作原理,包括连接数据库、执行SQL语句等步骤。
Java面试题:描述JDBC的工作原理,包括连接数据库、执行SQL语句等步骤。
14 0
|
5天前
|
SQL 监控 Java
Java面试题:简述数据库性能优化的常见手段,如索引优化、SQL语句优化等。
Java面试题:简述数据库性能优化的常见手段,如索引优化、SQL语句优化等。
10 0
|
9天前
|
SQL 存储 数据库
SQL Server性能优化策略与实践
在使用Microsoft SQL Server(简称MSSQL)进行数据库管理时,性能优化是确保系统高效运行、提升用户体验的关键环节
|
9天前
|
数据库 数据安全/隐私保护
Failed to load resource: the server responded with a status of 404 ()出错的原因是,因为自己调试的时候,设置了与宝塔不一样的数据库
Failed to load resource: the server responded with a status of 404 ()出错的原因是,因为自己调试的时候,设置了与宝塔不一样的数据库
|
9天前
|
存储 关系型数据库 MySQL
探索MySQL:关系型数据库的基石
MySQL,作为全球最流行的开源关系型数据库管理系统(RDBMS)之一,广泛应用于各种Web应用、企业级应用和数据仓库中
|
6天前
|
关系型数据库 MySQL 网络安全
Mysql 数据库主从复制
在MySQL主从复制环境中,配置了两台虚拟机:主VM拥有IP1,从VM有IP2。主VM的`my.cnf`设置server-id为1,启用二进制日志;从VM设置server-id为2,开启GTID模式。通过`find`命令查找配置文件,编辑`my.cnf`,在主服务器上创建复制用户,记录二进制日志信息,然后锁定表并备份数据。备份文件通过SCP传输到从服务器,恢复数据并配置复制源,启动复制。检查复制状态确认运行正常。最后解锁表,完成主从同步,新用户在从库中自动更新。
911 6
Mysql 数据库主从复制
|
7天前
|
缓存 运维 关系型数据库
数据库容灾 | MySQL MGR与阿里云PolarDB-X Paxos的深度对比
经过深入的技术剖析与性能对比,PolarDB-X DN凭借其自研的X-Paxos协议和一系列优化设计,在性能、正确性、可用性及资源开销等方面展现出对MySQL MGR的多项优势,但MGR在MySQL生态体系内也占据重要地位,但需要考虑备库宕机抖动、跨机房容灾性能波动、稳定性等各种情况,因此如果想用好MGR,必须配备专业的技术和运维团队的支持。 在面对大规模、高并发、高可用性需求时,PolarDB-X存储引擎以其独特的技术优势和优异的性能表现,相比于MGR在开箱即用的场景下,PolarDB-X基于DN的集中式(标准版)在功能和性能都做到了很好的平衡,成为了极具竞争力的数据库解决方案。
|
12天前
|
XML Java 关系型数据库
Action:Consider the following: If you want an embedde ,springBoot配置数据库,补全springBoot的xml和mysql配置信息就好了
Action:Consider the following: If you want an embedde ,springBoot配置数据库,补全springBoot的xml和mysql配置信息就好了