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 -- 回忆笔记(一):初见数据库的更多相关文章

  1. SQL Server -- 回忆笔记(五):T-SQL编程,系统变量,事务,游标,触发器

    SQL Server -- 回忆笔记(五):T-SQL编程,系统变量,事务,游标,触发器 1. T-SQL编程 (1)声明变量 declare @age int (2)为变量赋值 (3)while循环 ...

  2. SQL Server -- 回忆笔记(三):ADO.NET之C#操作数据库

    SQL Server知识点回忆篇(三):ADO.NET之C#操作数据库 1.连接数据库 (1)创建连接字符串: 使用windows身份验证时的连接字符串: private string conStr= ...

  3. SQL Server -- 回忆笔记(四):case函数,索引,子查询,分页查询,视图,存储过程

    SQL Server知识点回忆篇(四):case函数,索引,子查询,分页查询,视图,存储过程 1. CASE函数(相当于C#中的Switch) then '未成年人' else '成年人' end f ...

  4. SQL Server -- 回忆笔记(二):增删改查,修改表结构,约束,关键字使用,函数,多表联合查询

    SQL Server知识点回忆篇(二):增删改查,修改表结构,约束,关键字使用,函数,多表联合查询 1. insert 如果sql server设置的排序规则不是简体中文,必须在简体中文字符串前加N, ...

  5. SQL Server 2008 错误15023:当前数据库中已存在用户或角色

    解决SQL Server 2008 错误15023:当前数据库中已存在用户或角色,SQLServer2008,错误15023,在使用SQL Server 2008时,我们经常会遇到一个情况:需要把一台 ...

  6. SQL Server 2008 R2如何开启数据库的远程连接

    SQL Server 2008 R2如何开启数据库的远程连接 SQL Server 2005以上版本默认是不允许远程连接的,如果想要在本地用SSMS连接远程服务器上的SQL Server 2008,远 ...

  7. 关于SQL Server 2005 的自动远程数据库备份

    原文:(原创)关于SQL Server 2005 的自动远程数据库备份 由于项目需要,需要对目标服务器上的数据库每天进行备份并转移,查阅网上的一些帮助,结合自己的实际需要,写了这篇文章,希望对有同样需 ...

  8. SQL SERVER统计服务器所有的数据库(数据库文件)、表(表行数)、字段(各字段)等详细信息

    原文:SQL SERVER统计服务器所有的数据库(数据库文件).表(表行数).字段(各字段)等详细信息 USE STAT GO SET NOCOUNT ON IF EXISTS(SELECT 1 FR ...

  9. sql server 2008 R2 压缩备份数据库

    今天需要把一个省外项目的数据库从服务器上备份.拷贝到本机(跨地域传输数据库备份文件). 连上VPN,通过远程桌面连接,连接上服务器,发现数据库文件已经有20G以上大小了. 文件太大,公司网络也不稳定, ...

随机推荐

  1. Linux命令行文本工具

    浏览文件 cat 查看文件内容 more 以翻页形式查看文件内容(只能向下翻页) less 以翻页形式查看文件内容(可以上下翻页) head 查看文件的头几行(默认10行) tail 查看文件的尾几行 ...

  2. jvm详情——5、选择合适的垃圾收集算法

    回收器选择JVM给了三种选择:串行收集器.并行收集器.并发收集器,但是串行收集器只适用于小数据量的情况,所以这里的选择主要针对并行收集器和并发收集器. 默认情况下,JDK5.0以前都是使用串行收集器, ...

  3. Tomcat8源码笔记(九)组件StandardContext启动流程--未完待续

    StandardContext代表的是webapps下项目,一个项目就是一个StandardContext,作为Tomcat组件的一部分,就会实现Lifecycle接口,被Tomcat管理着生命周期, ...

  4. 解读经典-《C#高级编程》第七版-Chapter1-.Net体系结构-Page6-13

    01 中间语言(IL) .Net中间语言(IL)的特性,很大程度上来自于要支持多语言互操作性.要支持多语言互操作性,是因为微软想搞一个大事情,将它的老产品线VB和VC++,VJ++都装入.Net架构中 ...

  5. Spring Cloud Stream如何消费自己生产的消息?

    在上一篇<Spring Cloud Stream如何处理消息重复消费>中,我们通过消费组的配置解决了多实例部署情况下消息重复消费这一入门时的常见问题.本文将继续说说在另外一个被经常问到的问 ...

  6. .net里的ref、out、params参数。

    1.ref參數 class Program    {        static void Main(string[] args)        {            int a = 10;    ...

  7. C# Parallel用法

    1.Parallel.Invoke 主要用于任务的并行 这个函数的功能和Task有些相似,就是并发执行一系列任务,然后等待所有完成.和Task比起来,省略了Task.WaitAll这一步,自然也缺少了 ...

  8. .net 后台判断是否要替换

    Response.Write("<script>window.onload=function (){if(confirm(\"该文件已经存在,确定要替换吗吗?\&quo ...

  9. 继承、接口、static、abstract

    继承: 1.用extends来完成继承 2.子类可以继承父类全部的数据域但是只有部分的数据域对子类可见 3.在java中支持单继承 4.单继承和多继承的比较 (1)多继承比单继承能够更好的提高代码的复 ...

  10. crontab命令行和日志查看

    1.基本命令行模式 注意:非root用户 systemctl restart crond 失效,请使用最底层的驱动重启 2.crontab日志 cron日志保存在系统目录/var/log/cron 命 ...