数据库的移植操作
为什么要学习数据库移植?
- 因为数据库在服务运行状态下无法复制、移动、发送
- 在必要情况下我们必须对目标数据库进行合法的移植操作
关闭MSSQLSERVER服务的方式
- 如果直接关闭服务(相当于直接关闭服务器),会对正在运行的项目造成威胁
推荐使用以下方式:
注意:在数据库移植之前必须要明确目标数据库物理文件所在位置
数据库脱机联机
使服务器中的目标数据库的状态改变为“罢工”状态
表明脱机成功
脱机的数据库相当似于数据库物理文件依然在服务器上存在,只是出于“罢工”,因此DBMS无法正常管理脱机状态下数据库
如果要回复DBMS的正常管理,则必须对数据库进行联机操作
实现数据库联机的具体操作步骤如下:
在联机时必须要保证目标数据库物理文件,在脱机之前正常运行时所在的路径下否则联机失败
数据库分离附加
附加有前提是:要考虑附加的目标数据库原始版本和当前服务器上数据库版本要能够融合
分离数据库不是删除数据库,它只是将数据库从服务器中分离(单独踢开)出去
分离成功之后在DBMS数据库列表中再也找不到目标数据库,所以在分离之前务必搞清楚数据库物理文件所在位置
数据库附加操作步骤:
在附加时如果数据库的日志文件也存在则自动附加,如果没有在点确定附加,附加成功之后自动创建
生成数据库脚本
针对于目标数据库版本和当前服务器数据库版本不兼容情况下,附加不成功可以采取生成数据库脚本,然后在当前服务器数据库管理工具中执行即可完成数据库的重新创建
一般情况下在学习过程中用不到,前提是能够对目标数据库服务器能够进行数据库管理操作才可用
数据表的创建
使用企业管理器创建
使用查询分析器创建
*注意:凡是使用查询分析器进行数据库管理操作,首先要注意明确当前正处于查询分析器工作的收据库是哪个数据库
新建的查询分析器一般默认是位master系统数据库服务的,基本上在需要使用SQL代码创建数据库时才使用master数据库
--为了保险起见先将数据库切换到目标数据库
USE InLettManager
--相当于C#中的分号作用,SQL代码执行是需要批量操作,而GO关键字是SQL代码批量的一个标识符
GO
--创建数据表
CREATE TABLE Teacher
(
--创建数据表中的字段
TID INT,
NAME NVARCHAR(20),
AGE INT,
Class NVARCHAR(20)
)
GO
SQL代码的命名规则
- 避开SQL系统代码中的关键字
- 数据表、约束、字段等命名规范一般以帕斯卡命名法为主
- 建议不要使用特殊符号,在SQL中一般使用的符号是"_"
- 如果必须使用SQL系统关键字则给关键字带上"[ ]"
SQL数据类型
-
整数类型
bigint:占8个字节,相当于C#中
longint:占4个字节,相当于C#中的
intsmallint:占2个字节,相当于C#中的
shorttinyint:占1个字节,相当于C#中的byte -
精确数字类型
decimal:固定精确度 -1038–1038-1
numeric:功能等同于decimal
写法:decimal(整数,小数),numeric(整数,小数)
默认:整数18位,小数0位 -
近似数字(浮点)类型
float[(n)]:表示范围:1.79乘以10的308次幂
n:表示精度,有效值1-53之间
real:知道即可 -
文本类型,在SQL中文本类型赋值必须使用单引号
char:固定长度的非unicode字符数据,最大长度是8000个字符
varchar:可变长度的非unicode字符数据,最大长度是8000个字符
text:存储长文本信息,最大长度为2^32-1个字符
nchar:固定长度的unicode字符数据,最大长度是4000个字符
nvarchar:可变长度的unicode字符数据,最大长度是4000个字符
ntext:存储可变的长文本信息,最大长度为2^30-1个字符
固定:当声明数据类型设置了固定长度,那么这个数据类型赋值的字符长度绝对不能超过这个规定,如果赋值的数据长度不足规定的长度,使用空格字符填充
可变:如果赋值数据长度不足,则自动缩短为实际赋值数据长度,内存空间按照指定大小,如果超过指定长度则依然按照实际赋值数据长度,内存空间跟着改变
类型长度最终影响的是内存空间 -
日期时间类型
datetime:允许范围1753-1-1至9999-1-1
smalldatetime:允许范围1900-1-1至2079-1-1
时间精度不同:datetime精确到3/100秒;smalldatetime精确到1分钟
赋值格式:以字符串格式填写分隔符
数字方式:2020-02-18或2020/02/18或02/18/2020
纯数字格式:02182020 月日年
英文数字方式:Feb 18,2020
不管哪种方式给日期时间类型赋值必须用单引号(’ ') -
位类型
bit:表示“是/否”类型数据。(0/1,true/false) -
货币类型
money:货币数-263-263-1之间,精确到货币单位的千分之一smallmoney:货币数介于-214748.3648 – 214748.3648之间,精确到货币单位的百分之一 -
二进制类型
binary:固定长度的二进制数据,最大长度为8000个字节
vbinary:可变长度的二进制数据,最大长度为8000个字节
image:可变长度的二进制数据,最大长度2^31个字节,应用场合:可用来存储图片类型
上一篇: 在Linux系统上安装Git
下一篇: 单向链表