不知不觉,踏上IT之路,光阴似箭,日月如梭.虽好像回到从前,回到那个无忧无虑的童年,回到那个花样少年的青春;回到那个年少幼稚的小学;回到那个整天幻想的初中;回到那个顽强不屈,誓死不弃的高中;回到那个整天望着天空想着大学生活的无忧无虑...

可是时光在流逝,回不去了,对吗?

不悔梦归处,只恨太匆匆.一句话:请珍惜眼前吧!亲们..

好吧!有点伤感!言归正转:数据表

01.四种完整性约束

.实体完整性:针对数据行设置的完整性

.域完整性:针对数据列设置的完整性。

.引用完整性:外键约束

.自定义完整性:为了满足我们的业务需求,我们自己量身定制的完整性约束,一般

通过存储过程。

02.SQL Server中数据类型

下面给大家说说几种常用的几种:

int:存储整型数字

numeric(18, 2):存储小数

decimal(18, 2):存储小数

nvarchar():存储文字

以后严重建议大家只要是保存字符串就用nvarchar()类型,n代表的unicode编码,该编码是国际通用编码,可以避免乱码的出现。var代表长度可变。表中该列真正存储的内容就占它本身的空间,而不会占用该列通过(20)设置的长度所占用的空间。

varchar():存储可变长度的文本

char(4):存储固定长度的文本

text();SQL Sever2000的使用使用的大文本类型,现在2005.2008  2012已经无情的毫无怜悯之心的抛弃了它,

nvarchar(Max)

DateTime:保存日期和时间

照片:image(二进制存储)

--以后我们存储姓名:nvarchar(20)

--存储年龄:int

--存储性别:bit

--存储一篇文章:nvarchar(max)

尽量不要使用ntext或者是text,因为text和ntext读取效率非常低。

03.为表建立约束

01.主键约束

一张表一定要设置主键,否则别人会骂死你。

如果一张表不设置主键,到后续学习框架的时候,框架就欺负你,给你报错。

不能给自增列手动给值,这个值是由系统自动给的。

.非空约束

.默认值约束

.check约束

.外键约束

注意:外键约束只能设置在外键表中

04.外键:

在一张表表A中某列是主键,但是在另外一张表表B中该列不是主键。那么

表A称为主键表,表B称为外键表。

--只能在外键表中设置外键

05.标识列:

为了唯一确定一行数据在该表中唯一而设定的一列。

--应用前提:

01.必须是int(smallint)类型

.在标识规范处设置:标识种子,标识增量

(种子值:)标识种子:从哪个数据开始增长

(步长:)标识增量:每次增长几个数

06.通配符

_:有且只有一个字符

%:任意个任意字符

eg:Email like '%@%'

其中,%代表任意多个字符.关闭后保存表后,该约束建立.以后在向表中输入或插入或更新数据时,约束将起作用,如果Email输入的字符不包括@,将出现错误报告.

07.常见问题:

01.外键把控的不好

.在SQL Server中,字符串和日期类型数据要加单引号,数值类型不用

.每张表中必须都有一个主键,没有主键的表是不行的。

.主键列不允许为空

.不推荐使用复合主键,主键列选择依据:尽量简单。

06.如果找不到有意义的列作为表的主键,那么就加多一列ID作为

该表的主键列。

到这里我们的知识就讲完了!是不是总是不能尽兴呀!不好意思,时间有限,就此别过,下次再聊楼!

你还记的那一年你我学习的-->>用表组织数据*(数据表)的更多相关文章

  1. 还需要注册的是我们还有一个是“交差集” cross join, 这种Join没有办法用文式图表示,因为其就是把表A和表B的数据进行一个N*M的组合,即笛卡尔积。表达式如下:

             还需要注册的是我们还有一个是"交差集" cross join, 这种Join没有办法用文式图表示,因为其就是把表A和表B的数据进行一个N*M的组合,即笛卡尔积.表 ...

  2. 记升级一次的http2学习

    首先,就先对比下http2和http1.X的区别和升级它的优势吧. 在 HTTP .X 中,为了性能考虑,我们会引入雪碧图.将小图内联.使用多个域名等等的方式.这一切都是因为浏览器限制了同一个域名下的 ...

  3. 记一次svg反爬学习

    网址:http://www.porters.vip/confusion/food.html 打开开发者工具后 页面源码并不是真实的数字,随便点一个d标签查看其样式 我们需要找到两个文件,food.cs ...

  4. 记Windows服务器Redis 6379被攻击 被设置主从模式同步项目数据

    在工作中第一次经历被攻击,我是一个前端,同时复负责维护一个已上线的项目,在最近一段时间小程序与后台经常出现这个报错, 搜了下说我的从机是只读模式,不能写入,问了同事得知这个项目是单机模式,根本不存在从 ...

  5. 容器使用的12条军规——《Effective+STL中文版》试读

    容器使用的12条军规——<Effective+STL中文版>试读     还 记的自己早年在学校学习c++的时候,老师根本就没有讲STL,导致了自己后来跟人说 起会C++的时候总是被鄙视, ...

  6. 利用memcached构建高性能的Web应用程序(转载)

    面临的问题 对于高并发高访问的Web应用程序来说,数据库存取瓶颈一直是个令人头疼的问题.特别当你的程序架构还是建立在单数据库模式,而一个数据池连接数峰 值已经达到500的时候,那你的程序运行离崩溃的边 ...

  7. Memcache应用场景介绍,说明

    面临的问题 对于高并发高访问的Web应用程序来说,数据库存取瓶颈一直是个令人头疼的问题.特别当你的程序架构还是建立在单数据库模式,而一个数据池连接数峰 值已经达到500的时候,那你的程序运行离崩溃的边 ...

  8. memcache的应用场景和实现原理

    面临的问题 对于高并发高访问的 Web应用程序来说,数据库存取瓶颈一直是个令人头疼的问题.特别当你的程序架构还是建立在单数据库模式,而一个数据池连接数峰 值已经达到500的时候,那你的程序运行离崩溃的 ...

  9. 【转】memcached工作原理介绍

    FROM: http://my.oschina.net/flynewton/blog/8984 官方主页: http://memcached.org/ 面临的问题  对于高并发高访问的Web应用程序来 ...

随机推荐

  1. cocos2dx 2.x 骨骼动画优化

    本文原链接:http://www.cnblogs.com/zouzf/p/4450861.html 公司用的骨骼动画的版本貌似还停留在2.1之前的年代而已没有更新,该因各种历史原因吧,而有个大项目“一 ...

  2. ALTER SEQUENCE 修改序列解决唯一约束冲突 unique constraint violated

    背景 自增序列会遇到也会遇到唯一约束冲突吗?是的,最常见的情况就是数据迁移之后,导致数据最大值超过序列值. 软件开发中不遇到些出乎意料的问题,总感觉不太够劲. 修改序列(ALTER SEQUENCE) ...

  3. __declspec(dllimport)

    我相信写WIN32程序的人,做过DLL,都会很清楚__declspec(dllexport)的作用,它就是为了省掉在DEF文件中手工定义导出哪些函数的一个方法.当然,如果你的DLL里全是C++的类的话 ...

  4. Python--Cmd窗口运行Python时提示Fatal Python error: Py_Initialize: can't initialize sys standard streams LookupError: unknown encoding: cp65001

    源地址连接: http://www.tuicool.com/articles/ryuaUze 最近,我在把一个 Python 2 的视频下载工具 youku-lixian 改写成 Python 3,并 ...

  5. MxNet Windows下安装

    项目链接:https://github.com/dmlc/mxnet 因为要做一些开发工作,prebuilt的lib不能满足需求.由于工作环境要求是windows,所以可以利用cmake工具来构建. ...

  6. 转战farbox

    好久没更新博客了,感觉在博客园这种技术为主的博客里面写太多东西写得太杂了,平时的阅读体验非常糟糕,我一直都是一个喜欢记录的人,以前经常有在笔记本上写日记的习惯,但是自从用了网上博客之后,好像就再也没有 ...

  7. python 字符串查找

    python 字符串查找有4个方法,1 find,2 index方法,3 rfind方法,4 rindex方法. 1 find()方法: )##从下标1开始,查找在字符串里第一个出现的子串:返回结果3 ...

  8. D3D的绘制

    一.D3D中的绘制 顶点缓存和索引缓存:IDirect3DVertexBuffer9 IDirect3DIndexBuffer 使用这两缓存而不是用数组来存储数据的原因是,缓存可以被放置在显存中,进行 ...

  9. [git]解决:git config --global push.default matching

    解决:git config --global push.default matching 这个警告的意思是:需要设置默认push的分支,所以设置好全局push的默认分支就好了.命令如下: 在有git目 ...

  10. Android 学习笔记之AndBase框架学习(一) 实现多功能标题栏

    PS:Volley框架终于通过看源码的方式完成了所有的学习..开始学习AndBase...AndBase的源码实在是多的离谱...因此就不对所有的源码进行分析了... 学习内容: 1.使用AndBas ...