SQL增加表的约束(主键、外键、check,唯一)

2023-11-10

以下操作是在已经创建了表之后,进行的约束条件的增加

1、增加check约束条件

alter  table  表名   add  constraint  约束条件名称    check(约束条件);
如:
alter   table  test  add   constraint   ch_salary  check(salary>0) ;

2、增加主键约束条件

alter  table  表名   add  constraint  约束条件名称   primary  key (主键列);
如:
alter  table  test  add  constraint  pk_id   primary  key (test_id)

3、增加外键约束条件

alter  table1  add  constraint  约束条件名称   foreign   key( 表名1外键列)   references2(2 的主键列)
如:
alter  table  employees  add  constraint  fk_dept_id    foreign key(department_id)    departments (department_id)

4、增加NOT NULL约束条件

ALTER TABLE   表名  ADD CONSTRAINT 约束条件名称 UNIQUE (columncolumn...)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL增加表的约束(主键、外键、check,唯一) 的相关文章

  • SQL Server 上的语法错误

    这可能是一个愚蠢的语法错误 但我只是继续阅读我的程序 但我无法弄清楚我的错误在哪里 消息 156 第 15 级 状态 1 第 41 行关键字附近的语法不正确 为了 这是我的代码 alter procedure LockReservation
  • MySQL - 从临时表插入

    这看起来非常简单 但我坚持使用简单的插入语句 见下文 begin work CREATE TEMPORARY TABLE IF NOT EXISTS insert table AS select r resource id fr file
  • SQL 错误:“没有这样的表”

    我试图解决为什么我的代码为所有查询返回 null 的原因 最后发现 sql 查询什么也没有返回 我使用简约代码创建了一个新的 AIR 文档 s WindowedApplication
  • 给定“java.sql.SQLIntegrityConstraintViolationException”是否可以确定错误的列

    鉴于我有一个类型为 java sql SQLIntegrityConstraintViolationException 的异常 是否可以以编程方式确定错误的列 或多列 我问这个问题是因为我想将错误映射回客户端的数据模型以指示错误的字段 例如
  • 串行类型的外键 - 确保始终手动填充

    我有两个表 国家和地区 CREATE TABLE Countries id SERIAL name VARCHAR 40 NOT NULL PRIMARY KEY id CREATE TABLE Regions id SERIAL coun
  • 不带 GROUP BY 的聚合查询

    这个查询似乎在我的旧机器上完美运行 但是 在我的 MySQL 5 7 14 和 PHP 5 6 25 的新机器上 它会抛出错误 致命错误 未捕获异常 PDOException 并带有消息 SQLSTATE 42000 语法错误或访问冲突 1
  • PostgreSQL 中“-”处或附近的语法错误

    我正在尝试运行查询来更新用户密码 alter user dell sys with password Pass 133 但因为 它给了我这样的错误 ERROR syntax error at or near LINE 1 alter use
  • SQL 查询用于计算每个客户的订单数量和总金额

    我有两张桌子Order与列 OrderID OrderDate CID EmployeeID And OrderItem与列 OrderID ItemID Quantity SalePrice 我需要返回客户 ID CID 每个客户的订单数
  • SQL Join 列上类似于另一列[重复]

    这个问题在这里已经有答案了 可能的重复 mysql连接查询使用like https stackoverflow com questions 1930809 mysql join query using like 我想要进行连接 其中一列包含
  • SQL Server 2008R2 和创建 XML 文档

    论坛上的第一篇文章 因为我真的被这个问题困住了 以下查询正确地将有效的 XML 文档分配给 xTempXML 变量 类型为 xml 注 文档的长度 转换为varchar max 711 select xTempXML select Pres
  • 检查两个“select”是否相等

    有没有办法检查两个 非平凡的 选择是否等效 最初我希望两个选择之间有形式上的等价 但是答案在证明 sql 查询等价性 https stackoverflow com questions 56895 proving sql query equ
  • 如何通过子 POJO 的属性过滤复合 ManyToMany POJO?

    我有两个像这样的房间实体 Entity public class Teacher implements Serializable PrimaryKey autoGenerate true public int id ColumnInfo n
  • st_intersects 与 st_overlaps

    这两个查询有什么区别 select a gid sum length b the geom from polygons as a roads as b where st intersects a the geom b the geom gr
  • 在 SQL Server 上执行分页的最佳方式是什么?

    我有一个数据库超过200万记录 我需要执行分页以在我的 Web 应用程序上显示 该应用程序每页必须有 10 条记录DataGrid 我已经尝试使用ROW NUMBER 但是这种方式会选择所有 200 万条记录 然后只得到 10 条记录 我也
  • 如何在MYSQL中将整个字符串小写并保持第一个大写[重复]

    这个问题在这里已经有答案了 我的表栏目 我预期的输出会在列中发生变化 Smith Allen Doyle Dennis Baker Waker 这是我尝试过的 但不起作用 UPDATE TABLE employee SET last nam
  • 如何在 DB2 中创建返回序列值的函数?

    如何在 DB2 中创建一个从序列中获取值并返回该值的函数 应该可以在 select 或 insert 语句中使用该函数 例如 select my func from xxx insert into xxx values my func 基本
  • 删除数据库中的行后如何重新排序ID

    我正在使用 C 来制作具有 sql 数据库的程序 在数据库中我有一个名为Workers 它有一个自动增量和主键ID column 当我删除一条记录时 ID 之间会出现间隙 删除记录后如何重新排序 ID UPDATE 我要做的就是找到记录后将
  • 日期语句之间的 JPQL SELECT [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我想将此 SQL 语句转换为等效的 JPQL SELECT FROM events WHERE events date BETWE
  • 我不断收到错误“关系 [TABLE] 不存在”

    我一直在尝试查询数据库中的两个表 在服务器资源管理器中 我可以看到两个表 甚至可以看到其中的列 我们将它们称为 Schema table1 和 Schema table2 其中 Schema 的第一个字母大写 我尝试运行以下查询 selec
  • 使用加权行概率从 PostgreSQL 表中选择随机行

    输入示例 SELECT FROM test id percent 1 50 2 35 3 15 3 rows 你会如何编写这样的查询 平均 50 的时间我可以获得 id 1 的行 35 的时间 id 2 的行 15 的时间 id 3 的行

随机推荐

  • 简单实用Python程序

    描述 此为遍历一个文件夹里面的所有 py文件并将文件名输出到txt文件 import os import os path import re rootdir D dpkt master dpkt fileTest open r D file
  • Nhibernate使用HQL返回自定义类型

    摘要 使用HQL返回自定义类型的结果集 前提 已经定义好Customer类及其Nhibernate映射文件xml 表结构及数据 自定义类 Mapping文件 条件查询 Criteria Query public IList
  • Python进阶-----高阶函数zip() 函数

    目录 前言 zip 函数简介 运作过程 应用实例 1 有序序列结合 2 无序序列结合 3 长度不统一的情况 前言 家人们 看到标题应该都不陌生了吧 我们都知道压缩包文件的后缀就是zip的 当然还有rar等类型 在Python中也有这么一个函
  • remote: Support for password authentication was removed on August 13, 2021. Please use a personal ac

    一 问题描述 访问了全球最大的同性交友网站 又刚好去更新提交代码 又或你创建了一个新的仓库送给自己 又刚好想把这个仓库送给 push github 你就刚好会遇到这个问题 remote Support for password authen
  • Web菜鸟入门教程 - Springboot接入认证授权模块

    网络安全的重要性不言而喻 如今早已不是以前随便弄个http请求就能爬到数据的时代 而作为一个架构师 网络安全必须在产品开发之初就考虑好 因为在产品开发的后期 一方面是客户增多 压力变大 可供利用的时间也会变少 另一方面 随着时间的推移 项目
  • 归并排序的思想

    归并排序是一种基于分治思想的经典排序算法 它将待排序的数组分成两个部分 然后递归地对这两个部分进行排序 最后再将排序好的两个部分归并成一个有序的数组 具体实现过程如下 1 将待排序数组不断二分 直到只剩下一个元素 此时该元素就是有序的 2
  • C语言基础(十二)- 数据结构概览

    相关术语 数据 类 数据对象 集合 数据元素 类对象 数据项 属性 什么是数据结构 概念 相互之间存在一种或多种特定关系的数据元素 类对象 的集合 数据结构包括 数据的逻辑结构 数学形式 集合结构 线性结构 1 1 树形结构 1 n 图形结
  • ORA-28009:connection as SYS should be as SYSDBA OR SYSOPER

    1 美图 1 背景 Navicate链接ORACLE报错 ORA 28009 connection as SYS should be as SYSDBA OR SYSOPER 直接链接报错 ORA 28009 connection as S
  • elasticsearch启动报错解决 问题集分析

    elasticsearch解决启动报错问题集 ps 别问我为什么知道这么多报错 我就是从安装到启动 一步一步按着下面报错顺序踩坑的 气死了 希望能帮到入门的你 1 内存报错 报错信息 Java HotSpot TM 64 Bit Serve
  • Hadoop实战实例

    分享一下我老师大神的人工智能教程 零基础 通俗易懂 http blog csdn net jiangjunshow 也欢迎大家转载本篇文章 分享知识 造福人民 实现我们中华民族伟大复兴 Hadoop实战实例 Hadoop是Google Ma
  • Numpy.linalg模块的lstsq()进行线性回归拟合(数学建模)

    建模中经常使用线性最小二乘法 实际上就是求超定线性方程组 未知数少 方程个数多 的最小二乘解 前面已经使用pinv 求超定线性方程组的最小二乘解 下面再举两个求最小二乘解的例子 并使用numpy linalg模块的lstsq 函数 求解 先
  • cef3:禁止win10高dpi下cef对内部网页进行缩放

    cef对内部网页进行缩放
  • Pycharm中常用快捷键使用及注释方式

    Pycharm中常用快捷键使用及注释方式 1 快捷键 设置 Ctrl Alt s 或 File gt Settings gt Keymap gt 搜索栏搜索 format gt Code 快速创建文件 Alt Insert 快速注释代码 C
  • insightface pytorch 答疑指南

    之前写过一篇人脸识别从原理到实践 详细介绍了人脸识别相关的算法 模型和Loss等 里面也提到insightface成为当前工业事实上的基准 但是它各种牛逼 唯一不足的点就是开始时选了mxnet框架开发 奈何现在基本没什么人用了 所以在22年
  • PCL 使用LCCP算法进行点云分割

    LCCP分割 一 算法原理 1 概述 2 参考文献 二 代码实现 三 结果展示 1 原始点云 2 分割结果 四 相关链接 五 测试数据 一 算法原理 1 概述 LCCP是Locally Convex Connected Patches的缩写
  • Android使用Gradle统一配置依赖版本

    转自 http blog csdn net u014651216 article details 54602354 前言 目前的Android开发为了减少编译时间 开发效率 大多都采用模块化 组件化的开发方式 采用这种方式不可避免的将会用到
  • UE4入门序列 01(UE4安装和环境配置)

    1 UE4的安装流程 2 创建一个示例项目 蓝图和C 3 C 的环境设置 4 运行示例项目 1 UE4的安装流程 Epic Games官网下载客户端 注册一个Epic Games的账号 Epic Games客户端包括了Epic公司旗下的Ep
  • vue el-select下拉框,选择后赋值成功,但是框上不显示选中的值的解决办法

    最近在做项目时发现el select下拉框 选择后赋值成功 但是框上不显示选中的值 后来查了下官方文档之后发现原因 vue 无法监听动态新增的属性的变化 需要用 set 来为这些属性赋值 如上图所示 操作人下拉框初始没有值 选择了操作班组之
  • Go语言的跨文件调包

    一 前言 文件的结构如下 go mod main main go util util go 文件在调用其它包的时候 需要在代码中引用其他的函数 包的命名一般都以小写为主 文件中函数的以首字符为大写的函数为共有函数 小写的为私有函数 只能是在
  • SQL增加表的约束(主键、外键、check,唯一)

    以下操作是在已经创建了表之后 进行的约束条件的增加 1 增加check约束条件 alter table 表名 add constraint 约束条件名称 check 约束条件 如 alter table test add constrain