暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

sql server 主键、默认值

华仔的后花园 2022-04-19
1360

抄代码抄错的小牛马

默认值概述

当表insert数据的时候,如果无明确为该列赋值,则该列采取其定义的默认值。

语法

default 默认值

实际例子:创建表,并给性别默认值为 男。

    create table st  --创建表


    (


    学号 nvarchar(6) not null,


    性别 nvarchar(10) not null default '男',


    constraint pk_学号1 primary key (学号)


    )


    验证默认值:

      insert into st values('01','女')
      insert into st(学号) values('02')


      select * from st


      验证默认值设置成功:


      X


      删除默认值

      sp_help 表名 --查找constraint_name

      sp_help st  --查询结果,找到constraint_name 的值,直接drop,就可删除

       

      语法:

        alter table 表名
        drop 查找到的constraint_name值

        例子:

        alter table st 
        drop  DF__st__性别__114A936A 

        结果:



        主键


        • 一个表只有一个主键,其主键值不可重复不可为空。

        • 主键不是必需的,但建议每个表都设置一个主键。

        • 主键可以是一个字段,也可以是多个字段组成,分别称为:单字段主键,复合主键。单字段主键为主

        • 作用

        • 保证实体完整性

        • 加快数据库的操作速度

        • 语法

        • constraint 主键名称 primary key (主键列名)

        实际例子:我们创建了一个 student 表,并以学号列设置了名称为 pk_学号 的主键。

          use yxhlhm --指定数据库
          go
          create table student --创建表
          (
          学号 nvarchar(6) not null,
          姓名 nvarchar(10) not null,
          constraint pk_学号 primary key (学号)
          )

          插入数据看看:

            --插入数据
            insert into student values('01','张三')
            insert into student values('02','李四')
            insert into student values('03','王五')

             


             验证主键的唯一性:

            在继续插入上面的数据:可得到如下结果:

             由此,基于 学号列 创建主键,就要求 学号列的值不可重复 !!!


            文章转载自华仔的后花园,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

            评论