SQL Server知识点回忆篇(一):初见数据库
1. 主键
primary key 唯一标识, 不会重复的值才会用来当做主键使用。
表可以没有主键,但建议每张表都有主键。
2. 数据冗余
一般情况下,尽量避免表中数据冗余的情况。
解决方法:把原来表中的数据拆分成多个表来存储。
3. 多张表关联起来
使用主键和外键(一张表中增加一列,这一列引用另一张表的主键)。
4. 数据库的磁盘文件
磁盘文件至少两个:后缀.mdf的是主数据文件,后缀.ldf的是日志文件,配置时可设置最大文件大小、大小自动增长......
5. 字符串类型
char: 固定长度的字符串, 英文字符占1个字节,中午字符占2个字节
nchar: 固定长度的字符串,无论中英文字符,都占2个字节
varchar: 可变长度的字符串,英文字符占1个字节,中午字符占2个字节
nvarchar: 可变长度的字符串,无论中英文字符,都占2个字节
以上不带n的长度最长可设置为8000,带n的最长可设置为4000
text: 可变长度的字符串。最多 2GB 字符数据。
ntext: 可变长度的字符串。最多 2GB 字符数据。
varchar(max): 可变长度的字符串。最多 2GB 字符数据。
nvarchar(max): 可变长度的字符串。最多 2GB 字符数据。
不带var的表示固定长度(存入的字符串长度不够时,自动补空格),带var的表示可变长度(用多少占多少空间)
6. 系统默认存在的数据库
master: 存储sql server数据库本身的一些信息......
msdb: 备份、自动执行任务......
model: 创建数据库的模板
tempdb: 临时数据库
resource: 用来存放sql server的系统对象(该数据库在sql server Management studio工具不会显示出来)
7. 创建数据库
create database MyDataBase1
8. 删除数据库
drop database MyDataBase1
9. 创建数据库时可设置一些参数
create database Mydatabase1 on primary ( --配置主数据文件 name='Mydatabase1', filename='C:Mydatabase1.mdf', size=5MB, maxsize=150MB, filegrowth=20% ) log on ( --配置日志文件 name='Mydatabase1_log', filename='C:Mydatabase1_log.ldf', size=5MB, filegrowth=5MB )
10. 创建表
use Mydatabase1 create table tbUsers ( id int identity(1,1) primary key, UserName nvarchar(20) not null, Age int not null, Email nvarchar(30) not null )
11. 删除表
drop table tbUsers
12. SQL Server中往表中插入值或更新值时,字符串中有单引号时,使用 '' 转义 ' (2个单引号转义一个单引号)。
SQL Server中判断相等使用的是 “=” ,与C#不同(C#判断相等使用的是“==”)。
13. 约束:根据需要对某些列进行约束,避免该列存入不合理的值
主键约束
非空约束
唯一约束
检查约束
默认约束
外键约束