首页 > 数据库 >【MYSQL】MYSQL约束-----非空约束(not null)和唯一约束(unique)

【MYSQL】MYSQL约束-----非空约束(not null)和唯一约束(unique)

时间:2024-10-08 18:53:43浏览次数:3  
标签:20 非空 varchar 约束 MYSQL table null alter

1、概念

MYSQL非空约束(not null),指字段的值不能为空。对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据库就会报错。

注意:非空约束一张表中可以有多个。

2、语法

方式1:在创建表时指定(常用)

<字段名> <数据类型> not  null

例如:

create  table    t_user(

id  int,

name   varchar(20)  not  null,

address  varchar(20)  not  null

);

方法二:创建表之后再指定

语法:alter    table   表名     modify   字段     类型   not  null

create  table    t_user(

id  int,

name   varchar(20)  not  null,

address  varchar(20)

);

alter  table   t_user   modify   name   varchar(20)  not  null;

3、删除非空约束

语法: alter    table    表名  modify    字段   类型

示例:

create  table    t_user(

id  int,

name   varchar(20)  not  null,

address  varchar(20)

);

alter  table   t_user   modify   name   varchar(20)  not  null;

alter  table   t_user   modify   name   varchar(20)  ;

4、唯一约束(unique)

(1)概念

唯一约束(unique)是指所有记录中字段的值不能重复出现。例如:为id字段加上唯一性约束后,每条记录的id值都是唯一的,不能重复出现。

(2)语法

方式一:创建表时指定(常用)

<字段名><数据类型>  unique;

方式二:创建表后指定

alter   table   表名    add    constraint   约束名  unique  (列);

(3)删除唯一约束

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

注意:对于在创建表时指定唯一约束,则字段名就是唯一约束名。而在创建表之后指定唯一约束,则约束名就是唯一约束名。

示例:

use   my_mysql;
-- 创建表,并指定表中某列是唯一约束
create  table   t_user8(
id  int,
name  varchar(5),
phone_number  varchar(20)  unique
);
-- 删除唯一约束
alter  table   t_user8  drop index phone_number;

标签:20,非空,varchar,约束,MYSQL,table,null,alter
From: https://blog.csdn.net/hefaxiang/article/details/142634230

相关文章

  • 免费送源码:Java+spring boot+MySQL springboot社区快递代取服务系统 计算机毕业设计原
    摘 要信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对社区快递代取服务系统等问题,对社区快递代取服务系统进行研究分析,然后开发设计出社区快递代......
  • MySQL慢查询优化&缩容实践
    索引调整在一个数据量较大的订单表中,发现某些查询因为缺少合适的索引而变慢。添加了必要的索引后,查询效率明显提升。查询条件调整在一个sql中需要根据时间条件查询,但是等号左边的字段使用了函数操作(将时间戳转换成了年月日),导致索引失效进行了全表扫描。解决:将等号右边的条件反......
  • MySQL的基本语法(增,删,改,查)
    MySQL的基本语法(增,删,改,查)MySQL中的(增)操作创建数据库CREATEDATABASE库名;例如:CREATEDATABASEdb;创建一个名为db的数据库。创建列表use数据库名;CREATETABLE表名(字段名1数据类型1,字段名2数据类型2);例如:usedb;CREATETABLEplayers(uidBI......
  • Prometheus + Grafana 监控 MySQL 数据库
    文章目录1、前置介绍2、搭建流程2.1、安装Docker2.2、安装MySQL2.3、安装MySQLExporter2.4、安装Prometheus2.5、安装Grafana1、前置介绍本次监控平台搭建,我使用2台阿里云服务器来完成本次的搭建部署操作,配置如下:阿里云ECS1:2核2G,Ubuntu22.02,内网ip:172.16.0......
  • MySQL数据库备份与恢复
    MySQL数据库的备份与恢复是数据库管理中至关重要的一部分。无论是在Windows还是Linux系统上,掌握这些技能都能有效保护数据,防止数据丢失。本文将详细介绍MySQL数据库的备份与恢复方法,包括常用工具和步骤。一、备份MySQL数据库1.使用 mysqldump 工具mysqldump是......
  • linux中mysql5.7安装
    系统要求:CentOS7.664位卸载系统自带mariadb-lib1、rpm-qa|grepmariadb2、rpm-emariadb-libs-5.5.68-1.el7.x86_64 --nodeps 解压tar包:tar-xvfmysql*.tar以下加粗rpm包需要安装:mysql-community-common-5.7.23-1.el7.x86_64.rpmmysql-community-libs-co......
  • MySQL与RESTfulAPI
    MySQL与RESTfulAPI 2024-01-2566阅读7分钟 1.背景介绍MySQL与RESTfulAPI是一个非常重要的技术主题,它们在现代互联网应用中扮演着关键角色。在这篇文章中,我们将深入探讨这两个技术的核心概念、算法原理、最佳实践以及实际应用场景。1.背景介绍MySQL是一种流行的关......
  • Mysql高级篇(下)——主从复制
    主从复制一、概述二、作用......
  • MySQL9的3个新特性
    本文讲解MySQL9的3个新特性:支持将JSON输出保存到用户变量、支持准备语句以及支持面向AI的向量存储。17.12 MySQL9新特性1——支持将JSON输出保存到用户变量从MySQL9版本开始支持将EXPLAINFORMAT的JSON输出保存到用户变量,下面通过一个案例来理解该新特性。      创建......
  • 技术解读GaussDB (for MySQL)流控机制
    本文分享自华为云社区《【华为云MySQL技术专栏】GaussDB(forMySQL)流控技术解读》,作者:GaussDB数据库。本文主要介绍GaussDB(forMySQL)在不同服务层次上是如何实现过载保护的,具体包括反馈式和主动平滑流控两种机制。1.背景介绍GaussDB(forMySQL)是存储计算分离架构的云......