数据库----------唯一约束、默认约束、零填充约束

news2024/12/25 15:47:07

目录

1.唯一约束(Unique)

1.概念

2.语法

3.添加唯一约束

4.删除唯一约束

2.默认约束(default)

1.概念

2.语法

3.添加默认约束

4.删除默认约束

3.零填充约束(zerofill)了解即可

1.概念

2.操作

3.删除


1.唯一约束(Unique)

1.概念

唯一约束(Unique Key)是指所有记录中字段的值不能重复出现。

例如,为id字段加上唯一性约束后,每条记录的id值都是唯一的,不能出现重复的情况。

2.语法

方式1:<字段名> <数据类型> unique
方式2:alter table 表名 add constraint 约束名 unique (列);

3.添加唯一约束

  • 方式1:创建表时指定
create table t_user8(
         id int,
		 name varchar(20),
		 phone_number varchar(20) unique -- 指定唯一约束
);
insert into t_user8 values (1001,'张三',138);
insert into t_user8 values (1002,'李四',138); -- 不可以
insert into t_user8 values (1002,'李四',139);

insert into t_user8 values (1003,'王五',null);
insert into t_user8 values (1004,'小六',null); 
-- 在MySQL中 null和任何值都不相同 甚至和自己都不相同

  •  方式2:创建表之后指定
格式:alter table 表名 add constraint 约束名 unique(列);

constraint:约束 

create table t_user9(
         id int,
		 name varchar(20),
		 phone_number varchar(20)
);
alter table t_user9 add constraint unique_pn unique(phone_number);
insert into t_user9 values (1001,'张三',138);
insert into t_user9 values (1002,'李四',139);

注:

  1. 唯一+非空=主键
  2. 一个表只能一个主键,但是唯一约束可以有多个

4.删除唯一约束

格式:alter table <表名> drop index <唯一约束名>/<列名>;
alter table t_user9 drop index unique_pn;

2.默认约束(default)

1.概念

MySQL默认值约束用来指定某列的默认值。

2.语法

方式1:<字段名> <数据类型> default <默认值>;
方式2: alter table 表名 modify 列名类型 default 默认值;

3.添加默认约束

  • 方式1:创建表时指定
create table t_user10 (
    id int,
    name varchar(20),
    address varchar (20) default '北京' -- 指定默认约束
);
insert into t_user10(id,name) values(1001, '张三');
insert into t_user10(id,name,address) values(1002, '李四','上海');
insert into t_user10 values(1003, '王五',null);

  • 方式2:创建表之后指定
    -- alter table 表名 modify 列名 类型 default 默认值;
    create table t_user11(
        id int,
        name varchar(20),
        address varchar(20)
    );
    alter table t_user11 modify address varchar(20) default '深圳';

    4.删除默认约束

-- alter table <表名> modify <字段名> <类型> default null;
alter table t_user11 modify address varchar(20) default null;

3.零填充约束(zerofill)了解即可

1.概念

  1. 插入数据时,当该字段的值的长度小于定义的长度时,会在该值的前面补上相应的0
  2. zerofill默认为int(10)
  3. 当使用zerofill时,默认会自动加unsigned(无符号)属性,使用unsigned属性后,数值范围是原值的2倍,例如,有符号为-128~+127,无符号为0~256。

2.操作

create table t_user12 (
    id int zerofill, -- 零填充约束
    name varchar (20)
);

3.删除 

alter table t_user12 modify id int;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/426300.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如来十三掌(与佛论禅、Rot13编码)

下载附件打开是一串... 佛经 666 这个编码方式还真是第一次遇见----与佛论禅 对文本进行与佛论禅密码解密 得到 MzkuM3gvMUAwnzuvn3cgozMlMTuvqzAenJchMUAeqzWenzEmLJW9 根据题目提示&#xff0c;如来十三掌&#xff0c;猜测是rot13加密&#xff0c;进行rot13解码 得到 Z…

Cloud computing

Cloud computing 可以看到右侧的容器虚拟化架构中&#xff0c;不需要运行额外的OS&#xff0c;这样启动的服务性能会相比于通过虚拟化软件实现的架构更优秀。但是虚拟机同样也有它的优点&#xff0c;比如它的安全、隔离性&#xff0c;可以运行不同的操作系统等等。 Virtualiz…

EasyCVR平台基于GB28181协议的语音对讲配置操作教程

EasyCVR基于云边端协同&#xff0c;具有强大的数据接入、处理及分发能力&#xff0c;平台可支持海量视频的轻量化接入与汇聚管理&#xff0c;可提供视频监控直播、视频轮播、视频录像、云存储、回放与检索、智能告警、服务器集群、语音对讲、云台控制、电子地图、平台级联等功能…

企业网站架构LAMP部署与优化(apache、mysql、php)

目录LAMP概述与简介编译安装Apache http服务1、关闭防火墙&#xff0c;将安装Apache所需软件包传到/opt/apache目录下2、在opt/apache目录下安装http所需软件包3、解压以下文件4、将解压的两个文件移到相应目录5、安装环境依赖包6、配置软件模块7、编译安装8、优化配置文件路径…

【linux】:linux下文件的使用以及文件描述符

文章目录 前言一、linux系统中的文件操作以及文件接口二、文件描述符 1.文件描述符的分配规则2.重定向总结前言 理解文件原理和操作&#xff1a; 我们先快速回忆下一C语言的文件操作&#xff1a; 首先看一下fopen函数的使用&#xff0c;然后我们写一段简单的C语言打开文件的代…

使用conda来管理虚拟环境

百度miniconda 下载windows版&#xff0c;安装的时候添加环境变量Conda -info -e 可以看到只有一个虚拟环境​ ​​​​​​3.Conda命令 &#xff08;1&#x…

高效学习方法分享和学习工具推荐

方法不对&#xff0c;努力白费&#xff1b;方法对了&#xff0c;事半功倍&#xff01; 口号喊起来&#xff0c;气氛拉满&#xff01; 我现在是吉林大学计算机科学与技术大四在读&#xff08;2023春季学期&#xff09;&#xff0c;刚好趁这个活动回顾一下我的大学生活。上过大学…

Android: 在wsl中使用libevent实现http服务器,并编写Android app 实现文件下载

在wsl中使用libevent实现http服务器&#xff0c;并编写Android app 实现文件下载 PC端&#xff1a; 在WSL中编译libevent-2.1.8-stable sample中的http-server.c&#xff0c;实现http测试用服务器 Makefile如下&#xff1a; #指定源文件为*.c src $(wildcard *.c) #通过src…

houjie-cpp面向对象

houjie 面向对象 面向对象&#xff08;上&#xff09; const 在一个函数后面放const&#xff0c;这个只能修饰成员函数&#xff0c;告诉编译器这个成员函数不会改数据 const还是属于函数签名的一部分。 引用计数&#xff1a;涉及到共享的东东&#xff0c;然后当某个修改的时候&…

Java的时代依然还在,合格的Java工程师成为紧缺人才

Java的时代依然还在&#xff0c;合格的Java工程师成为紧缺人才编程语言的世界变化莫测&#xff0c;在其中浮浮沉沉28年的Java&#xff0c;也经历见证了很多语言的兴起和衰败。在最新的编程语言排行榜中&#xff0c;Java依旧位居前三&#xff0c;可见Java的发展后劲有多强&#…

BlockCanary 卡顿监测

作者&#xff1a;海象 前言 最近在处理项目中的拍摄视频后上传界面卡顿的问题,找到 BlockCanary 这个工具来定位,由于不支持高版本 Android,当时在定位卡顿时先将项目的 targetSdk 版本降下来,当然这不是个长久的办法,打算花一点时间适配下高版本,先过一遍源码流程 网上很多博…

ESP32 分区表

ESP32 分区表 1. 分区表概述 ESP32 针对 flash 进行划分&#xff0c;划分为不同的区域用作不同的功能&#xff0c;并在flash的 0x8000 位置处烧写了一张分区表用来描述分区信息。 分区表可以根据自己的需要进行配置&#xff0c;每一个分区都有其特定的作用&#xff0c;可根据…

有学生问我,重构是什么?我应该如何回答?

重构到底是什么&#xff1f;只是代码的推倒重新编码&#xff1f;还是有规则、有方法可寻&#xff1f;当然&#xff0c;结论肯定是有的&#xff0c;本文&#xff0c;我们通过一个简单的实例&#xff0c;来理解一下重构。 1.借助一个实例需求 这是一个影片出租店用的程序&#…

管理笔记2职级管理

一职级目的&#xff1a; 1 员工发展的职业通道 2 招聘、晋升的公平性 二 能力模型 类似职级 三 晋升 当前级别的事做到了&#xff0c;已经做到下一个级别的事 考虑点&#xff1a;1考虑当前阶段时间&#xff0c;不会频繁晋升&#xff0c;2考虑绩效。 不断成长、主动做事&a…

认证授权SpringSecurity

如何引入SpringSecurity作为项目的权限认证服务 1.引入依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-security</artifactId> </dependency> <dependency><groupId>org.…

客快物流大数据项目(一百一十三):注册中心 Spring Cloud Eureka

文章目录 注册中心 Spring Cloud Eureka 一、Eureka 简介 二、架构图

不得不了解的linux网络配置

目录一、查看及测试网络1.1查看网络配置1.1.1ifconfig命令—查看网络接口地址1.1.2route命令—查看路由条目1.1.3hostname命令—查看主机名称1.1.4netstat命令—查看网络连接情况1.1.5 ss命令/lsof 命令— 获取socket(套接字)统计信息1.2测试网络连接1.2.1ping命令—测试网络连…

1 Nginx跨域配置

跨域问题在之前的单体架构开发中&#xff0c;其实是比较少见的问题&#xff0c;除非是需要接入第三方SDK时&#xff0c;才需要处理此问题。但随着现在前后端分离、分布式架构的流行&#xff0c;跨域问题也成为了每个Java开发必须要懂得解决的一个问题。 跨域问题产生的原因 产…

项目管理职业发展前景怎么样?

项目管理职业发展前景怎么样&#xff1f;我们可以从这三个问题出发—— 第一个问题&#xff1a;在中国「项目管理」的专业性的体现/认同度如何&#xff1f;缺少专业知识对未来工作选择的限制程度如何&#xff1f; 由于现在有不少跨专业从业者&#xff0c;他们通过自学考证等途…

计算广告(十二)

FFM模型 FFM&#xff08;Field-aware Factorization Machine&#xff0c;领域感知因子分解机&#xff09;是一种广泛应用于推荐系统和点击率预测&#xff08;CTR&#xff09;等任务的机器学习模型。 它是基于FM&#xff08;Factorization Machine&#xff0c;因子分解机&…