zoukankan      html  css  js  c++  java
  • 关于SqlServer表结构 2(回归基础)

    关于SqlServer表结构的问题。先来了解一下SqlServer中的数据类型以及它们的用法

    整型: 短整型 smallint 整型 int 长整型 bitint

    标识列:identity(它是只读的)只能用整型 smallint、int、bigint

    浮点数:float--->C#、java的double

    money--->decimal

    bit 0,1--->boolean false、true

    字符串类型:

    char(10)    单字节固定长度的字符类型、不足不空格,最大8000

    varchar(10)   单字节可变长度的字符类型,可回收没有用到的空间,最大8000

    关于两者的选择,关键在于在处理数据时是否保证填满,如果保证填满可以选择char,相反如果不确定录入的数据是否能够填满多少个字节,那么就选择varchar,因为他可以回收未填满的数据,减少内存的消耗!

    标准字符:可以在键盘上看得到的字符都属于标准字符(单字节)

    非标准字符:中文、日文、法文、俄文等(双字节)

    nchar:双字节 第一个字母 n 就是Unicode的缩写(所有键盘上看不到的都属于Unicode编码范围) 有多少存多少,最大4000,因为是双字节 8000/2

    nvarchar:可回收双字节 Unicode 最大4000

    与char和varchar原理是一样的,带n一个数字代表双字节。不带n一个数字代表单字节

    text 最大2GB文本上限

    ntext:没记错的话应该是可变的

    时间类型:

    date:日期 年月日

    time:时间 时分秒

    datetime:日期时间 年月日时分秒

    --primary key 1.不允许为空 2.不允许重复 3.可以被子表的外键列引用
    --identity(1,1) 标识列只能在整型列上使用 只读的不允许修改
    --not null 不允许为空
    --unique不允许重复,唯一
    --foreign key 外键
    --references 引用
    --check 检查约束用来判断数据类型是否合法
    --getdate获取当前系统时间
    --datediff 时间差 datediff(year,BornDate,getdate())参数一:按年来算时间差(也可以是month,day),参数二:录入时间 ,参数三系统时间 后面时间-前面时间
    --len()获取字符数量
    create table Grade
    (
        Id int primary key identity(1,1),
        GradeName varchar(10) not null
    )
    go
    create table Class
    (
        Id int primary key identity(1,1),
        ClassName varchar(10) not null unique,
        GradeId int  foreign key references Grade(Id)
    )
    go
    create table Student
    (
        Id int primary key identity(1,1),
        StuCode int not null,
        ClassId int references Class(Id) not null,
        StuName nvarchar(10) not null check(len(StuName)>=2) default('佚名'), --姓名必须大于等于2
        BornDate date not null check(datediff(year,BornDate,getdate())>=18),
        Phone varchar(25) not null,
        [Address] nvarchar(200) null default('宿舍'),
        Email varchar(20) null
    )
    go
  • 相关阅读:
    HTML5新增
    【目录】洛谷|CODEVS题解汇总
    【搜索】kkksc03考前临时抱佛脚
    【模拟】压缩技术
    【模拟】爱与愁的一千个伤心的理由
    【搜索】棋盘
    【模拟】图书管理员
    【递归】对称二叉树
    【题单】挖坑大行动
    【模拟】弹珠游戏
  • 原文地址:https://www.cnblogs.com/hcyesdo/p/13419772.html
Copyright © 2011-2022 走看看