理论:
首先打开 SSMS(SQL server Management Studio)
使用SSMS可以实现好多功能:注册服务器,连接到数据库引擎,配置服务器的属性,创建对象,管理文件和文件组,附加或分离数据库,启动数据库脚本编写工具,管理安全性
,查看系统日志等。
数据文件和事务日志文件组成,一个数据库至少应该有一个 是数据文件和一个事务日志文件。
SQL server 数据库具有 以下四种类型:
主数据库文件:主数据库文件包含数据库的启动信息,扩展名为.mdf
次要数据库文件:除主数据库文件以外的所有其他数据文件都是次要数据库文件,扩展名为.ndf
事务日志文件:恢复数据库所有事务日志的信息,每个数据库必须有一个事务日志文件。扩展名为.ldf
文件流数据文件:可以使得基于SQL server 的应用程序能在文件系统中存储非结构化的数据如:文档,图片等
数据文件由若干个64kb大下的区组成,每个区由8个8kb连续页组成。
主数据文件 :文件 ID 01 |
页 01:0000 |
页 01:0001 |
页 01:0002 |
…………… | 页 01:0511 |
次要数据文件 :文件 ID 02 |
页 02:0000 |
页 02:0001 |
页 02:0002 |
…………… | 页 02:0127 |
实践操作: 建删改查
1:创建数据库
双击打开 SSMS(SQL server Management Studio)连接进去
新建数据库
要合理估计数据库的大小和增长值!扩展数据库就是在这,属性 弹出 数据库属性对话框
收缩数据库:
分离数据库是指数据库从SQL Server 里移除,但是保证数据库的数据文件和日志文件完好无损!
附加数据库
确定就行了
删除数据库
数据库表的管理
理论:
每一行代表一条唯一的记录,每一列代表记录中的一个字段。
数据完整性分为4类
1. 实体完整性 :特定表唯一实体
2. 域完整性: 指定项列的项的有效性
3. 引用完整性: 例如数据输入或删除,必须A里由得数据,b里才能引用修改
4. 用户定义完整性: 约束和表及约束,存储过程及触发器
数据类型:精准数字,近似数字,日期和时间,字符串,Unicode字符串,二进制字符串,其他数据类型。
精准数字
int |
主要整数数据类型,占4个字节空间 |
bigint |
存储整数值超过int数据类型支持范围,占8个字节 |
smallint |
存储一些常限定的在特定范围内的数值型数据,占用2个字节 |
tinyint |
存储有限数目的数值时很有用,占1个字节 |
bit |
整数类型,其值只能是0,1,null,只有2中可能 |
decimal |
用来存储固定精度和范围的数值型数据 |
money |
用来表示钱和货币值,8个字节 |
smallmoney |
用来表示钱和货币值,8个字节 |
numeric |
用来存储固定精度和范围的数值型数据 |
近似数字
float | 用于表示浮点数值数据的大致数值类型 |
real | 用于表示浮点数值数据的大致数值类型 |
日期和时间
date | 用来表示日期,占3个字节 |
time | 用来表示一天中的某个时间,占5个字节 |
datetime | 用来表示日期和时间,占8个字节 |
Datetime2 | 比datetime 数值范围更大,默认的小数精度更高 |
dateimeoffset | 增加了时区 |
smalldatetime 精确到一分钟,占4个字节空间 |
字符串
char | 存储固定长度,最多包含8000个字符,非unicode字符数据 |
varchar | 存储可变长度,非unicode字符数据 |
Text | 用于存储大量的的非unicode字符数据 |
Unicode字符串
nchar | 用于存储定长Unicode字符数据 |
nvarchar | 用于存储定长Unicode字符数据 |
ntext | 用于存储定长Unicode字符数据 |
二进制字符串
binary | 用于存储可达8000字节长的定长的二进制数据,当输入表的内容接近相同长度时 |
Varbinary | 用于存储可达8000字节长的定长的二进制数据,当输入表的大小可变时用的 |
image | 用于存储变长的二进制数据 |
实践操作:创建表
例子:某公司安装SQL server 2008 企业版32位,现在需要在名为 test的数据库中创建表,表名称为 student 其中包含列为:学生编号(int) 姓名(nvarchar50),身份证号(varchar18)
所在班级(tinyint),成绩(tinyint),备注(nvarchar2000)其中学生编号自动生成,从1开始,每增加一人则编号自动加1,要求输入成绩的时候,必须为0-100,设置身份证为主键。
设置主键
CHECK约束公式
Age >= 0 AND age <=200 值在0-200之间的数值
保存该表名字为 student
用T-SQL 语句操作数据表
插入数据
Insert[into]<表名> [列名] values <值列表>
然后点执行
更新数据,update (表名) set (列名=更新值)[where<更新条件>]
删除数据
Delete from<表名>【where<删除条件>】
使用Truncate table 语句删除表中数据
Truncate Table <表明>
这时数据都没了
实验完成!