zoukankan      html  css  js  c++  java
  • 你还记的那一年你我学习的-->>用表组织数据*(数据表)

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

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

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

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

    01.四种完整性约束

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

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

       03.引用完整性:外键约束

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

           通过存储过程。

    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.主键约束

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

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

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

      02.非空约束

      03.默认值约束

      04.check约束

      05.外键约束

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

    04.外键:

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

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

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

    05.标识列:

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

    --应用前提:

      01.必须是int(smallint)类型

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

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

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

         

    06.通配符

          _:有且只有一个字符

          %:任意个任意字符

    eg:Email like '%@%'

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

    07.常见问题:

     01.外键把控的不好

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

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

     04.主键列不允许为空

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

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

        该表的主键列。

  • 相关阅读:
    Test_StringBuilder
    什么是朋友
    Uncharted4-Resource-Extract
    在使用 .NET Remoting 技术开发跨进程通信时Remoting找不到请求的服务--解决方法
    SourceTree 拉取github资源包时报错:fatal: unable to access 'https://github.com/xxx.git/': OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443 --解决办法
    .net core3.1 文件导出报错The type initializer for 'Gdip' threw an exception 的解决方法
    .net core3.1文件下载之MimeTypeMapHelper
    .net core3.1 webapi项目部署在centos7中,通过supervisor来做进程守护遇到backoff Exited too quickly (process log may have details)的错误--并提供解决方法
    jenkins安装在ubuntu的解决方法-运维系列
    supervisord.conf配置文件详情
  • 原文地址:https://www.cnblogs.com/zhangzongle/p/4917183.html
Copyright © 2011-2022 走看看