首页 > 其他分享 >约束:对于数据的限制

约束:对于数据的限制

时间:2024-07-03 18:59:20浏览次数:19  
标签:限制 32 外键 约束 user VARCHAR 数据 alter

主键约束

主键约束:唯一约束+非空约束,该字段上的数据不能重复且不能为null

注意:一张表必须有且只有一个主键

添加主键约束 -- 方式一(推荐)
CREATE TABLE user(
    username VARCHAR(32) PRIMARY KEY,
    password VARCHAR(32),
    nick_name VARCHAR(32),
    name VARCHAR(32),
    age INT(3),
    salary DECIMAL(20,2)
)

添加主键约束 -- 方式二
CREATE TABLE user(
    username VARCHAR(32),
    password VARCHAR(32),
    nick_name VARCHAR(32),
    name VARCHAR(32),
    age INT(3),
    salary DECIMAL(20,2),
    phone VARCHAR(32)
)
alter table user add primary key(username);

添加主键约束 -- 方式三
CREATE TABLE user(
    username VARCHAR(32),
    password VARCHAR(32),
    nick_name VARCHAR(32),
    name VARCHAR(32),
    age INT(3),
    salary DECIMAL(20,2),
    phone VARCHAR(32),
    primary key(username,password)
)

删除主键约束
alter table user drop primary key;

唯一约束

理解:该字段上的数据不能重复,但可以为null

创建唯一约束
alter table user add unique(phone);

删除唯一约束
alter table user drop index phone;

非空约束

理解:该字段上的数据不能为null,但可以重复

添加非空约束
alter table user modify password varchar(32) not null;

删除非空约束
alter table user modify password varchar(32) null;

需求:设置password字段为非空字段,设置默认值为'000000'
alter table user modify password varchar(32) not null default '000000';

外键约束

理解:验证两个字段的参照完整性

创建外键约束
alter table user add foreign key(nationality_id) references nationality(id);

删除外键约束

注意:外键名使用SHOW CREATE TABLE user;查看

alter table user drop foreign key user_ibfk_1;

注意:项目中不用外键

原因:使用外键约束效率会降低,因为添加数据、修改数据会去外键指向的表中查询

外键的优点:不会有脏数据的出现

外键的缺点:添加数据、修改数据会去外键指向的表中查询

缺点的解决方案:客户端选项就不会出现未有的数据

标签:限制,32,外键,约束,user,VARCHAR,数据,alter
From: https://blog.csdn.net/secret010/article/details/140160148

相关文章

  • 24位PCM采样数据和16位相互转换算法实例解析
    一概念1.24bit音频:24bit指使用3个字节记录振幅值,意味可以记录16,777,216种声音振幅的变化,动态范围可达144dB(人耳听觉的动态范围是120dB,超过120dB人耳会痛,所以120dB又称痛阀)。下面是三种常见的音频采样比对表: 2.24位一般是采样深度的概念,还有一......
  • 数据流图
    数据流图数据流图表示数据的流动,可以有多层,每层逐步细化,通过对顶层的加工进行分解可以得到下一层的图,直到无法分解得到底层图。基本元素外部实体矩形加工用圆矩或者圆表示,用圆矩容易填写文字描述好看,用圆容易区分加工和外部实体,软考的出题一般都是圆矩数据存储开口矩形或......
  • Oracle PL / SQL数据类型
    PL/SQL是SQL的过程语言扩展,它支持与SQL对数据库相同的数据类型。PL/SQL可以处理任何数据库数据类型,并且还有自己的数据类型。VARCHAR2:我们将使用数据类型VARCHAR2处理PL/SQL中的字符串。PL/SQLVARCHAR2最多可容纳32,767个字符。NUMBER:我们将使用数据类型NUMBER处......
  • Neo4j图数据库操作
    Neo4j图数据库操作文章目录Neo4j图数据库操作1批量添加节点、关系1.1直接使用`UNWIND`批量创建关系1.2使用CSV文件批量创建关系1.3选择方法2索引2.1创建单一属性索引2.2创建组合属性索引2.3创建全文索引2.4列出所有索引2.5删除索引2.6注意事项3清空所......
  • Oracle数据库统计信息收集
    Oracle数据库统计信息收集重新收集表统计信息--重新收集表统计信息BEGINDBMS_STATS.GATHER_TABLE_STATS(OWNNAME=>'ORCL',TABNAME=>'XXX',ESTIMATE_PERCENT=>100,DEGREE=>4);END;重新收集列统计信息......
  • 数据万象盲水印 - AIGC的“保护伞”
    导语近期AIGC的爆火让人们觉得AI似乎无所不能,打工人们已然将AI发展成了工作的一大助手,但同样也伴随着很多AI的受害者。一些专家、画家、学者们发现自己的“作品风格”正在被AI“抄袭剽窃”。传统水印的痛点在当今的数字时代,图片被广泛应用于各种场景,包括广告、社交媒体、电......
  • 小白也能懂的Mysql数据库索引详解
    核心概念主键索引/二级索引聚簇索引/非聚簇索引回表/索引覆盖索引下推联合索引/最左联合匹配前缀索引explain一、[索引定义]1.索引定义在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现......
  • 微服务数据流的协同:Eureka与Spring Cloud Data Flow集成指南
    微服务数据流的协同:Eureka与SpringCloudDataFlow集成指南在构建基于SpringCloud的微服务架构时,服务发现和数据流处理是两个关键的组成部分。Eureka作为服务发现工具,而SpringCloudDataFlow提供了数据流处理的能力。本文将详细介绍如何将Eureka与SpringCloudDataFl......
  • 大模型如何把企业的数据用起来
    基本技能人工智能产品经理属于产品经理的一种,必须对用户、需求、商业模式有深刻的认知。除此之外,人工智能产品经理还需要4项基本技能:懂数据、懂算法、会沟通、懂行业;如图1所示。图1人工智能产品经理的基本技能数据由行业产生,人工智能产品经理需要拥有敏锐的数据洞察力......
  • ETL数据集成丨使用ETLCloud实现MySQL与Greenplum数据同步
    我们在进行数据集成时,MySQL和Greenplum是比较常见的两个数据库,我们可以通过ETLCloud数据集成平台,可以快速实现MySQL数据库与数仓数据库(Greenplum)的数据同步。MySQL数据库:优点:轻量级与高性能:MySQL体积小、启动快,对资源消耗相对较低,适合处理高并发的OLTP(在线事务处理)场景。开源......