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 命令 — cut

    cut 以列的方式格式化输出 依赖定界符 cut -f field_list filename 以默认定界符(tab,制表符)分割文件的列,输出指定的列field_list,field_list由列号 ...

  2. Win32文件系统编程

    Win32文件系统编程 一丶了解什么是文件系统 文件系统是抽象的.是windows在软件层面提供的一层虚拟的数据结构. 文件系统分为NTFS 跟 FAT32. 具体看看两者的区别吧. 磁盘分区容量. ...

  3. WCF 的学习过程

    之前没有接触过WCF,这两天学习中.把遇到的问题和解决办法记下来. 遇到的问题: (1).HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理 ...

  4. JavaScript基础——深入学习async/await

    本文由云+社区发表 本篇文章,小编将和大家一起学习异步编程的未来--async/await,它会打破你对上篇文章Promise的认知,竟然异步代码还能这么写! 但是别太得意,你需要深入理解Promis ...

  5. go使用websocket遇到dial:x509: certificate signed by unknown authority

    websocket.DefaultDialer.Dial(url, headers) 改为 websocket.Dialer{TLSClientConfig: &tls.Config{Root ...

  6. Dubbo 源码解析四 —— 负载均衡LoadBalance

    欢迎来我的 Star Followers 后期后继续更新Dubbo别的文章 Dubbo 源码分析系列之一环境搭建 Dubbo 入门之二 --- 项目结构解析 Dubbo 源码分析系列之三 -- 架构原 ...

  7. CSRF跨站伪造请求

    一.什么是CSRF CSRF(Cross Site Request Forgery) 跨站请求伪造.也被称为One Click Attack和Session Riding,通常缩写为CSRF或XSRF ...

  8. Hibernate入门(十一)多对多案例

    Hibernate多对多案例 1.用户对角色 DROP TABLE IF EXISTS emp_role; DROP TABLE IF EXISTS employee; DROP TABLE IF E ...

  9. JavaScript机器学习之KNN算法

    译者按: 机器学习原来很简单啊,不妨动手试试! 原文: Machine Learning with JavaScript : Part 2 译者: Fundebug 为了保证可读性,本文采用意译而非直 ...

  10. HTML5 常用标签整理

    <!--1.  html5 文本 --> <div> <header> <hgroup> <h1>h1</h1> <h2& ...