数据库移植作用:
当数据库在服务运行情况下是无法进行复制、移动与发送的。而在必要的情况下则可以进行移植操作,来达到一定的目的。
关闭MSSQLSERVER服务的方式:
在数据库移植操作时需注意其本地存储位置。
1.数据库脱机联机操作:使数据库达到一种“罢工”状态
数据库分离附加:(附加低版本无法正常附加高版本)
在操作之前务必搞清楚其物理存储位置
数据库附加操作步骤:
在附加时若是没有日志文件,在附加完毕后会自动创建日志文件。
生成数据脚本:
针对版本不兼容附加不成功的情况下,可采取生成数据库脚本,然后在当前数据库服务器数据库管理工具中执行即可完成数据库的重新创建。
数据表的创建
使用企业管理器进行创建
使用查询分析器进行创建
--为了保险起见先将数据库切换到目标数据库
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#中long
int:占4个字节,相当于C#中的int
smallint:占2个字节,相当于C#中的short
tinyint:占1个字节,相当于C#中的byte
-
精确数字类型
decimal:固定精确度 -10^38--10^38-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
不管哪种方式给日期时间类型赋值必须用单引号(' ')
一月 Jan.。二月 Feb.。三月 Mar.。四月 Apr.。五月 May.。六月 Jun.。七月 Jul.。八月 Aug.。九月 Sept.。十月 Oct.。十一月 Nov.。十二月 Dec.。
-
位类型
bit:表示“是/否”类型数据。(0/1,true/false)
-
货币类型
money:货币数-2^63-2^63-1之间,精确到货币单位的千分之一
smallmoney:货币数介于-214748.3648 -- 214748.3648之间,精确到货币单位的百分之一
-
二进制类型
binary:固定长度的二进制数据,最大长度为8000个字节
vbinary:可变长度的二进制数据,最大长度为8000个字节
image:可变长度的二进制数据,最大长度2^31个字节,应用场合:可用来存储图片类型