首页 > 数据库 >Mysql数据库之约束条件

Mysql数据库之约束条件

时间:2024-07-13 17:30:37浏览次数:14  
标签:约束条件 数据库 Mysql 数据类型 约束 表名 table 表中 列名

一、主键约束

主键约束(PRIMARY KEY constraint)用于唯一标识数据库表中的每条记录。

语法:

create table  表名 (

    列名1 数据类型 primary  key,

    列名2 数据类型,

    ...

);

在主键的后面添加:auto_increment, 可以让主键自增。

设置auto_increment之后,可以不用设置id, id会自增。

创建表之后再创建主键的语法:alter table  表名  add  primary key  (列名1, 列名2, ...);

二、非空约束

非空约束是一种数据库约束,用于确保表中的某个列不接受空值。当为表的某个列定义了非空约束后,插入或更新该列时,必须提供非空的值。

语法:

create table 表名 (

    列名 数据类型 not  null,

    ...

);

创建表之后再设置非空的语法:alter table 表名 modify 列名 数据类型 not null;

三、唯一约束

唯一约束是一种数据库约束,用于确保表中的某个列或一组列的值是唯一的,即不允许重复值。唯一约束是一种数据完整性措施,它可以保证数据的唯一性和一致性。

语法:

create table  表名 (

    列名2 数据类型 unique,

    ...

);

在创建好的表中添加唯一约束:alter table 表名 add  constraint 约束名 unique (列名1, 列名2, ...);

四、默认值约束

默认值约束是一种数据库约束,用于在插入数据时,如果未显式为列指定值,则自动使用指定的默认值,是一种数据完整性措施,它确保了在缺少显式值的情况下,表中的列始终具有默认值。

语法:

Create table 表名 (

    列名1 数据类型 default  默认值,

    列名2 数据类型 default  默认值,

    ...

);

在创建好的表中添加默认值约束:alter table 表名 alter colum 列名 set default 默认值;

五、外键约束

外键约束是一种数据库约束,用于在相关表之间建立关联关系,保持数据的完整性和一致性。

外键约束可以确保在一个表中的列值必须在另一个表中存在。

语法:

Create  table  表名 (

    列名1 数据类型,

    列名2 数据类型,

    ...

    foreign key  (列名) references   关联表名(关联列名)

);

例:作者和文章的关系是:1:N, 外键存在多的一方,所以外键设在文章表, 所以先创建作者表。

创建作者表:

创建文章表,并设置外键:

在创建好的表中添加外键约束(约束名自己命名):

alter table 表名 add constraint  约束名 foreign key (列名) references 关联表名(关联列名);

标签:约束条件,数据库,Mysql,数据类型,约束,表名,table,表中,列名
From: https://blog.csdn.net/chenchun0458/article/details/140364092

相关文章

  • Msql数据库之DDL(数据定义语言)的相关操作
    数据定义语言(DDL):用于创建、修改和删除数据库对象,如数据库、表、视图、索引等一、数据库的相关操作:1、创建数据库语法:createdatabase[ifnotexists]数据库名;例:createdatabaseifnotexiststest;2、使用(切换)数据库:语法:use 数据库名;例:use test;3、查......
  • MYSQL 从入门到熟练 详解(看这一篇就够啦)
    一、MYSQL入门1.数据库概述(1)定义数据库(Database)是“按照数据结构来组织、存储和管理数据的仓库”。它是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的数据冗余、较高的数据独立性和......
  • 【PyQt5连接Mysql】python连接成功记录(版本对应)-最新
    在做一个qt登陆注册界面时,不得不使用数据库的连接,但是一直连接失败,记录一下个人成功解决的方法,希望能帮到各位。我的版本为Qt5VersionNumberis:5.15.2,PyQt5Versionis:5.15.10,Mysql8.0。参考:①PyCharm+PyQt5(5.15.2)+mysql,PyQt5连接mysql,踩坑与解决办法②PyQt5连......
  • 在 PostgreSQL(简称 pg)数据库中,普通用户修改自己的密码可以通过 SQL 命令完成?可以
    查看权限ALTERUSERusernameWITHPASSWORD'newpassword';如果你是以普通用户身份登录,通常你只能更改自己的密码,而不能更改其他用户的密码。在PostgreSQL中,普通用户通常拥有的权限取决于他们在数据库中的角色和分配给他们的权限。数据库管理员(DBA)可以为不同的用......
  • MySQL数据库day7.11
    一,SQL概述1.1 SQL语句语法MySQL数据库的SQL语句不区分大小写,关键字建议使用大写,以分号结尾。例如:SELECT*FROMuser;使用/**/、--、#的方式完成注释/*多行注释*/--单行注释#单行注释SELECT*FROMuser;1.2 SQL中数据的常用数据类型......
  • MySQL8.0 新特性函数索引
    MySQL8.0中的函数索引(Function-BasedIndex)是一种高级索引特性,它允许数据库管理员或开发者对表中的列执行表达式计算后的结果进行索引,而不是直接对列值或列的前缀值进行索引。这种索引技术可以显著提高查询性能,特别是在需要对列值进行复杂计算或转换的查询场景中。MySQL8......
  • MySQL sql_safe_updates参数
    sql_safe_updates是MySQL中的一个系统变量,用于控制MySQL服务器是否允许在没有使用KEY或LIMIT子句的UPDATE或DELETE语句上执行更新或删除操作。当这个变量被设置为ON时,MySQL会拒绝那些可能影响到表中大量行的UPDATE或DELETE语句,除非这些语句明确使用了W......
  • 基于微信小程序的海鲜预订系统(后端JavaSSM+MySQL)
    目录摘要IAbstractII目录III第1章绪论11.1研究背景及意义11.1.1选题背景11.1.2选题意义11.2国内外研究现状及发展趋势21.2.1国外研究现状21.2.2国内研究现状21.2.3发展趋势31.3研究的主要内容3第2章系统技术52.1Java语言52.1.1......
  • Mysql之日常运维命令总结
    1、连接MySQL数据库mysql-uroot-p'password'mysql-uroot-p'password'-h127.0.0.1-P3306mysql-uroot-p'password'-S/path/to/mysql.sock2、查看当前数据库中的会话状态showprocesslist;3、查看当前数据库中的活动会话(排除掉空闲Sleep状态的会话)select*fro......
  • 基于springboot的医院资源管理系统,附源码+数据库+论文,包远程安装调试
    1、项目介绍互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,采用医院资源管理系统可以有效管理,使信息......