从 MySQL 表中删除约束
约束是一组规则或限制,禁止在 MySQL 列中输入数据。MySQL 中的表具有用户想要限制的各种属性或列。
应用的障碍禁用 MySQL 列集中所有类型的数据值的允许,从而提供跨列的一致性。它仅启用应用的约束集定义中允许的值。
在 MySQL 中创建具有约束的表
在 MySQL 中,用户可以将约束与表模式一起应用到列上。这些约束可以是下面给出的两种类型。
- 列级约束
- 表级约束
使用约束创建表的语法:
Create table tablemname
attributeName1 attributeType constraint,
attributeName2 attributeType constraint,
...
attributeNameN attributeType constraint,
TableLevelConstraint(AttributeName)
上面代码中的语法显示了如何为每个创建表级和列级约束。两者背后的想法是赋予用户根据需要添加约束的权限。
列级约束
:在定义属性名称时定义non-null
和unique
等约束类型。这意味着约束名称在提供属性的数据之后。表级约束
:约束的类型在表定义的末尾定义。这些约束类似于PrimaryKey
ForeignKey
和Index
约束。
实际查询表之前的查询列表:
create table studentPK ( id varchar(255) not null, firstName varchar(255), lastname varchar(255), age integer, primary key (id));
上面的命令创建了一个表 studentPK
,其属性包括 id
、firstName
、lastName
和 age
。主键
约束是 MySQL 中定义的一个关键字,用于创建表的主键或唯一标识符。
该语法在其参数中采用参数以使属性成为主键。
Describe studentPK;
另一个查询是描述创建的表。下面显示的图像说明了输入到 studentPK
表的字段中的约束。
从 MySQL 表中删除约束
在 MySQL 中执行 DROP 约束的查询:
Alter table studentPK drop primary key;
上述语法使用 Alter
关键字更改 studentPk
的语法。由于约束在表级别,因此很容易在表级别很好地删除。
Alter
命令最适合更改表的模式。它通过从同一表中删除主键来更改 StudentPk
表的模式。
下面是相同的本地运行图像。
同样,当在其他表中使用相同的键时,它会通过删除另一个表的外键而被删除。
查询创建外键
约束:
create table studentDept ( deptid varchar(255) not null, deptName varchar(255), id varchar(255), foreign key(id) references studentPK (id));
上面的查询在另一个关系 studentDept
表上创建了一个外键作为 id
。外键是通过使用关键字 foreign key
形成的。
除了关键字之外,它还需要 references
关键字来链接父表以使两个表相互依赖。references
关键字将 studentPk
表的 id
字段绑定为 studentDept
表中的外键。
输出可以在下图中得到验证:
在内部创建外键时,会创建该键的新键名。描述表和查看名称的语句如下:
SHOW CREATE TABLE studentDept;
下面是控制台输出的图片,可以看到 MySQL 中的表结构。
上图显示外键是用名称 studentdept_ibfk_1
创建的。现在,很容易删除具有创建名称的外键。
Alter table studentDept drop foreign key studentdept_ibfk_1;
上面的查询从 studentDept
表中删除了外键。Alter
命令表明更改发生在模式级别。
外键从 studentDept
表中删除。可以使用 describe
命令重新检查它。
删除外键之前要记住的几点:
-
外键名是需要的。从表中删除约束需要一个键。
-
不知道键名的
drop
命令导致如下所示的错误: -
SHOW CREATE TABLE
命令是强制性的。
Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.
LinkedIn