SQL Server数据库---》基础
SQL Server:只是操作数据库的一个工具(这种工具,只是提供一个界面化的方式让用户方便操作数据库)
开启服务:点击:我的电脑(计算机)--管理--服务和应用程序--服务--开启SQL Server(MSSQLSERVR)
工具(sql server)要操作数据库,一定要连接服务器(因为数据是放在服务器中)
服务器只认识命令(sql语句),sql语句其实就是告诉服务器要做什么。要和服务器交互就得先生成sql语句
表的每一个列名就是我们的类的属性,数据库是非面向对象的语言
主键:是独一无二的,是非空的,是数据行的唯一标识,一个表可以没有主键,但是没有特殊理由表都要设定主键
主键分为:1,业务主键:是唯一值
2,逻辑主键:就是我们自己加的列
数据的完整性:( 四种完整性)
1.实体完整性:实体就是指表的每一行记录,它是保证每一行记录都是唯一的
主键:非空,唯一
标识列:由系统自动生成,永远 不可能重复,它最适合做主键
唯一键:唯一,但是可以为null,只能null一次
2.域完整性:域:就是指字段,也就是这个完整性是为了保证字段的值是合理有效
如:Check约束 类型 非空 默认值
3.自定义完整性:按用户自己的需要创建Check约束
如:Check约束 存储过程 触发器
4.引用完整性:莫一个表的字段值不是独立存在的,它是引用自另外一个已经存在的表的字段值。它的取值范围不能超出主表对应字段的值的范围,被引用的表就是主表,引用的表就是从表,也称为外键表
1.选择外键表去创建主外键关系
2.建立主外键关系的字段的类型需要一致
3.建立主外键关系的字段的意义必须要一样
4.在添加主外键关系表数据的时候,先添加主表,再添加外键表。
5.在删除主外键关系表数据的时候,先删除从表,再删除主表的值。
6.建议主外键关系的字段在主表中必须是 主键或唯一键
注意:所有的约束,存储过程都存储在sysObjects类中
约束:
主键约束【primary key PK】、唯一键约束(unique UQ)、外键约束(foreign key FK) 、check约束(CK) 、 默认值约束 (default DF)【从表==外键表】
代码创建约束:
语法:
alter table 表名
add constraint 约束名称 约束类型 约束说明
约束名称:如:主键Primary key--PK 唯一键:unique--UQ
约束:Check--CK 默认值:default--DF
外键表:foreign key--FK
约束类型:如Primary unique Check default
Foreign 都是类型
约束说明:比如主键 唯一键 外键表 这些后面带Key的就是跟字段 Check约束就是跟表达式 默认值后面就是跟值
设置Person表id 为唯一键的代码如下:
if exists(Select * from sysobjects where name='PK_id' ) 如果sysobjects表中有
alter table Person drop constraint PK_id 就从这个表中删除
alter table Person 修改Person表
add constraint PK_id Primary Key(id) Person表中的id设为主键
设置Person表time 的默认值为2015的代码如下:
--设置默认值default for
alter table Person
add constraint DF_time default('2015') for time
设置Person表 age 的约束 Check约束的代码为:
alter table Person
add constraint CK_age Check(age>=0 and age<=100)
注意:只有查询可以多表操作,增删改都是单表操作
SQL Server数据库---》基础的更多相关文章
- Sql Server数据库基础
--------------------------------------第一章 Sql Server数据库基础------------------------------------------ ...
- C#面试题(转载) SQL Server 数据库基础笔记分享(下) SQL Server 数据库基础笔记分享(上) Asp.Net MVC4中的全局过滤器 C#语法——泛型的多种应用
C#面试题(转载) 原文地址:100道C#面试题(.net开发人员必备) https://blog.csdn.net/u013519551/article/details/51220841 1. . ...
- SQL Server 数据库基础笔记分享(下)
前言 本文是个人学习SQL Server 数据库时的以往笔记的整理,内容主要是对数据库的基本增删改查的SQL语句操作和约束,视图,存储过程,触发器的基本了解. 注:内容比较基础,适合入门者对SQL S ...
- SQL Server 数据库基础笔记分享(上)
前言 本文是个人学习SQL Server 数据库时的以往笔记的整理,内容主要是对数据库的基本增删改查的SQL语句操作和约束,视图,存储过程,触发器的基本了解. 注:内容比较基础,适合入门者对SQL S ...
- 【2017-03-09】SQL Server 数据库基础、四种约束
一.数据库和内存的区别 数据库:一些存储在硬盘上的数据文件 内存:计算机临时存储的一些数据 二.常用数据库 .Net - SQL Server PHP - MySql Java - Oreacl 三. ...
- SQL Server数据库基础笔记
启动和停止SQL Server服务三种形式 后台启动服务 计算机->右键->管理->服务和应用程序->服务->sql server(MSSQLSERVER) SQL Se ...
- SQL Server 数据库基础知识
数据库(Database)是由文件管理系统发展起来的,按照数据结构来组织.存储和管理数据的建立在计算机存储设备上的仓库. 特点: 尽可能小的冗余度. 具有较高的数据独立性和易扩 ...
- sql server 数据库基础知识(二)
CASE函数用法1:单值判断,相当于switch caseCASE expression WHEN value1 THEN returnvalue1 WHEN value2 THEN returnva ...
- sql server 数据库基础知识(一)
主键(PrimaryKey):主键就是一个表中每个数据行的唯一标识.不会有重复值的列才能当主键.一个表可以没有主键,但是会非常难以处理,因此没有特殊理由表都要设定主键.SQLServer中生成GUID ...
- SQL Server 数据库基础编程
Ø Go批处理语句 用于同时执行多个语句 Ø 使用.切换数据库 use master go Ø 创建.删除数据库 方法1. --判断是否存在该数据库,存在就删除 if (exists ...
随机推荐
- -DDEBUG编译标记
想必大家都有利用输出函数如printf来帮助我们调试程序的经历,这是一种比较原始的程序调试辅助方法,在Linux下也可以为我们所用.不过这种方法有一个明显的缺点,就是在调试完后我们必须注释或删除掉这些 ...
- ReactNative setNativeProps
在封装原生组件的过程,如果我们希望在reactnative中触发原生的属性,但是又不需要暴露在reactnative的组件中. 那么我们就要用到setNativeProps这个方法,这个方法会直接触发 ...
- 《github一天一道算法题》:分治法求数组最大连续子序列和
看书.思考.写代码. /*************************************** * copyright@hustyangju * blog: http://blog.csdn. ...
- Android解析中国天气网的Json数据
在Android开发中.一般的APP都是通过获取server端的数据来更新UI.从server获取到的数据能够是Json.它的数据量要比XML要小,这里解析中国天气网上获取的数据,尽管已经不再更新了. ...
- 手工删除oracle的方法
大致方法如下: 1.删除物理文件 1.1.oracle安装文件. 1.2.系统目录下,program files文件下的oracle文件 2.注册表中大概有这么几个地方: hkey ...
- nginx添加需要代理的域名 配置
dap.cns.360buy.com为需要nginx代理的域名,被代理的端口为:8089,配置需要在${nginx_home}/conf/nginx.conf的文件中加入如下配置即可 upstream ...
- 视频编解码学习之路(H264)
学习视频编解码技术很难吗?视频编解码技术的未来是什么? 明了的说,无论是软件还是硬件设计,视频编解码技术有很多难点,都需要很长一段时间积累才行. 从一开始接触MPEG-2到最新的H.264标准,可算走 ...
- 常用Java Web 服务器
Java Web应用程序需要部署在Java web服务器中运行,常用的Java Web服务器有Tomcat.GlassFish.WebLogic.JBoss.WebSphere.Jetty.JRun等 ...
- (转)MarginTop 为何影响父元素的 MarginTop
这个问题困惑了很久,虽然没有大碍早就摸出来怎么搞定它,但始终不明白原因出在哪里,如果只是IE有问题我也不会太在意,可问题是所有上等浏览器都表现如此,这样叫我怎能安心?今天总算下狠心查出来怎么回事,居然 ...
- Java生成PDF报表
一.前言 前几天,做ASN条码收货模块,需要实现打印下载收货报表,经一番查找,选定iText--用于生成PDF文档的一个Java类库.废话不多说,进入正题. 二.iText简介 iText是著名的开放 ...