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以上大小了. 文件太大,公司网络也不稳定, ...
随机推荐
- linux 命令 — cut
cut 以列的方式格式化输出 依赖定界符 cut -f field_list filename 以默认定界符(tab,制表符)分割文件的列,输出指定的列field_list,field_list由列号 ...
- Win32文件系统编程
Win32文件系统编程 一丶了解什么是文件系统 文件系统是抽象的.是windows在软件层面提供的一层虚拟的数据结构. 文件系统分为NTFS 跟 FAT32. 具体看看两者的区别吧. 磁盘分区容量. ...
- WCF 的学习过程
之前没有接触过WCF,这两天学习中.把遇到的问题和解决办法记下来. 遇到的问题: (1).HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理 ...
- JavaScript基础——深入学习async/await
本文由云+社区发表 本篇文章,小编将和大家一起学习异步编程的未来--async/await,它会打破你对上篇文章Promise的认知,竟然异步代码还能这么写! 但是别太得意,你需要深入理解Promis ...
- go使用websocket遇到dial:x509: certificate signed by unknown authority
websocket.DefaultDialer.Dial(url, headers) 改为 websocket.Dialer{TLSClientConfig: &tls.Config{Root ...
- Dubbo 源码解析四 —— 负载均衡LoadBalance
欢迎来我的 Star Followers 后期后继续更新Dubbo别的文章 Dubbo 源码分析系列之一环境搭建 Dubbo 入门之二 --- 项目结构解析 Dubbo 源码分析系列之三 -- 架构原 ...
- CSRF跨站伪造请求
一.什么是CSRF CSRF(Cross Site Request Forgery) 跨站请求伪造.也被称为One Click Attack和Session Riding,通常缩写为CSRF或XSRF ...
- Hibernate入门(十一)多对多案例
Hibernate多对多案例 1.用户对角色 DROP TABLE IF EXISTS emp_role; DROP TABLE IF EXISTS employee; DROP TABLE IF E ...
- JavaScript机器学习之KNN算法
译者按: 机器学习原来很简单啊,不妨动手试试! 原文: Machine Learning with JavaScript : Part 2 译者: Fundebug 为了保证可读性,本文采用意译而非直 ...
- HTML5 常用标签整理
<!--1. html5 文本 --> <div> <header> <hgroup> <h1>h1</h1> <h2& ...