SQL Server -- 回忆笔记(一):初见数据库
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. 约束:根据需要对某些列进行约束,避免该列存入不合理的值
主键约束
非空约束
唯一约束
检查约束
默认约束
外键约束
SQL Server -- 回忆笔记(一):初见数据库的更多相关文章
- SQL Server -- 回忆笔记(五):T-SQL编程,系统变量,事务,游标,触发器
SQL Server -- 回忆笔记(五):T-SQL编程,系统变量,事务,游标,触发器 1. T-SQL编程 (1)声明变量 declare @age int (2)为变量赋值 (3)while循环 ...
- SQL Server -- 回忆笔记(三):ADO.NET之C#操作数据库
SQL Server知识点回忆篇(三):ADO.NET之C#操作数据库 1.连接数据库 (1)创建连接字符串: 使用windows身份验证时的连接字符串: private string conStr= ...
- SQL Server -- 回忆笔记(四):case函数,索引,子查询,分页查询,视图,存储过程
SQL Server知识点回忆篇(四):case函数,索引,子查询,分页查询,视图,存储过程 1. CASE函数(相当于C#中的Switch) then '未成年人' else '成年人' end f ...
- SQL Server -- 回忆笔记(二):增删改查,修改表结构,约束,关键字使用,函数,多表联合查询
SQL Server知识点回忆篇(二):增删改查,修改表结构,约束,关键字使用,函数,多表联合查询 1. insert 如果sql server设置的排序规则不是简体中文,必须在简体中文字符串前加N, ...
- SQL Server 2008 错误15023:当前数据库中已存在用户或角色
解决SQL Server 2008 错误15023:当前数据库中已存在用户或角色,SQLServer2008,错误15023,在使用SQL Server 2008时,我们经常会遇到一个情况:需要把一台 ...
- SQL Server 2008 R2如何开启数据库的远程连接
SQL Server 2008 R2如何开启数据库的远程连接 SQL Server 2005以上版本默认是不允许远程连接的,如果想要在本地用SSMS连接远程服务器上的SQL Server 2008,远 ...
- 关于SQL Server 2005 的自动远程数据库备份
原文:(原创)关于SQL Server 2005 的自动远程数据库备份 由于项目需要,需要对目标服务器上的数据库每天进行备份并转移,查阅网上的一些帮助,结合自己的实际需要,写了这篇文章,希望对有同样需 ...
- SQL SERVER统计服务器所有的数据库(数据库文件)、表(表行数)、字段(各字段)等详细信息
原文:SQL SERVER统计服务器所有的数据库(数据库文件).表(表行数).字段(各字段)等详细信息 USE STAT GO SET NOCOUNT ON IF EXISTS(SELECT 1 FR ...
- sql server 2008 R2 压缩备份数据库
今天需要把一个省外项目的数据库从服务器上备份.拷贝到本机(跨地域传输数据库备份文件). 连上VPN,通过远程桌面连接,连接上服务器,发现数据库文件已经有20G以上大小了. 文件太大,公司网络也不稳定, ...
随机推荐
- logstash快速入门实战指南-Logstash简介
作者其他ELK快速入门系列文章 Elasticsearch从入门到精通 Kibana从入门到精通 Logstash是一个具有实时流水线功能的开源数据收集引擎.Logstash可以动态统一来自不同来源的 ...
- jquery调用javascript方法
本来想找个“优雅”一点的方法,类似C#在调用C++方法时候的Invoke之类的.没找到,后来想想,其实也没必要,直接写就好了,算最优雅了吧.只是少了VS的Intelligence,有点不习惯罢了. 事 ...
- HttpClient+Jsoup模拟登陆贺州学院教务系统,获取学生个人信息
前言 注:可能学校的教务系统已经做了升级,当前的程序不知道还能不能成功获取信息,加上已经毕业,我的账户已经被注销,试不了,在这里做下思路跟过程的记录. 在我的毕业设计中”基于SSM框架贺州学院校园二手 ...
- Docker在Linux上运行NetCore系列(五)更新应用程序
转发请注明此文章作者与路径,请尊重原著,违者必究. 本篇文章与其它系列文章不同,为了方便测试,新建了一个ASP.Net Core视图应用. 备注:下面说的应用,只是在容器中运行的应用程序. 查看现在运 ...
- 【转载】SQL语句用一个表的数据更新另一个表
在Sqlserver的维护更新操作中,有时候涉及到Update操作,其中有一种情况是根据特定的条件,以一个表中的数据更新另一个表的数据,此时涉及到两个表之间的关系以及操作,此处介绍2种更新方法. (1 ...
- ABP Changing Httpcode status
小弟初来乍到,分享一些工作学习中遇到的问题和解决方式,如有不准确或是有错误的地方,希望不吝赐教,谢过了. --Dogtwo 起因: ABP 中异常处理的思路是很清晰的.一共五种类型的异常类. Abp ...
- C#基础知识总结(六)
摘要 方法的总结:其中包含方法的解释.方法参数.方法返回值,方法重载,out.ref.in的用法一.C#面向过程方面的总结 顺序结构:程序按照程序代码的顺序执行 分支结构:if-else.switch ...
- 从零开始学安全(二十一)●PHPSPL异常
- Android Studio 新建项目结构分析
这是我刚刚新建的项目 默认都是Android模式的项目结构,但这并不是真实的目录结构 把他换成Project模式 项目的真实目录结构 1app 项目的代码,资源 2 gradle wrappere ...
- C#一个窗体调用另一个窗体的方法
一个窗体调用另一个窗体的方法:例如:窗体B要调用窗体A中的方法1.首先在窗体A中将窗体A设为静态窗体public static FormA m_formA; //设此窗体为静态,其他窗体可调用此 ...