MySQL 创建主键,外键和复合主键的语句

MySQL 是一种关系型数据库管理系统,它提供了创建主键、外键以及复合主键的功能。下面是关于这些功能的完整攻略:

创建主键

主键是一列或一组列,用于唯一标识一条记录。在 MySQL 中,可以使用以下语句创建主键:

ALTER TABLE `table_name` ADD PRIMARY KEY (`column_name`);

其中,table_name 是要创建主键的表名;column_name 是要创建主键的列名。如果要在多个列上创建主键,则可以使用以下语句:

ALTER TABLE `table_name` ADD PRIMARY KEY (`column1_name`, `column2_name`);

示例:

假设我们有一个表叫做 employees,其中有一个名为 id 的列用来唯一标识每个员工。我们可以使用以下语句创建一个主键:

ALTER TABLE `employees` ADD PRIMARY KEY (`id`);

创建外键

在关系型数据库中,外键用来连接两个表。在 MySQL 中,可以使用以下语句创建外键:

ALTER TABLE `table_name`
ADD CONSTRAINT `fk_name`
FOREIGN KEY (`column_name`)
REFERENCES `foreign_table_name` (`foreign_column_name`);

其中,table_name 是要添加外键的表名;column_name 是包含外键的列名;fk_name 是外键的名称;foreign_table_name 是关联表的名称;foreign_column_name 是关联列的名称。

示例:

假设我们有一个表叫做 employees,其中有一个名为 dept_id 的列,它是一个外键,关联到名为 departments 的表的 id 列。我们可以使用以下语句创建外键:

ALTER TABLE `employees`
ADD CONSTRAINT `fk_dept_id`
FOREIGN KEY (`dept_id`)
REFERENCES `departments` (`id`);

创建复合主键

复合主键,顾名思义,是由多个列组成的主键。在 MySQL 中,可以使用以下语句创建复合主键:

ALTER TABLE `table_name` ADD PRIMARY KEY (`column1_name`, `column2_name`);

其中,table_name 是要创建复合主键的表名;column1_namecolumn2_name 是要包含在主键中的列名。

示例:

假设我们有一个表叫做 orders,其中每个订单由两个唯一标识符组成:order_idcustomer_id。我们可以使这两个列共同组成一个复合主键,以确保每个订单唯一:

ALTER TABLE `orders` ADD PRIMARY KEY (`order_id`, `customer_id`);

以上就是 MySQL 创建主键、外键和复合主键的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL 创建主键,外键和复合主键的语句 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • TestTrack Pro怎么安装?TestTrack Pro安装配置详细图文教程

    下面是“TestTrack Pro怎么安装?TestTrack Pro安装配置详细图文教程”的完整攻略: 1. 下载TestTrack Pro安装包 首先,在官方网站下载TestTrack Pro安装包。在下载页面选择与你的操作系统匹配的版本,一般有Windows和Mac版本可供选择。 2. 安装TestTrack Pro 下载完成后,双击安装包开始安装。根…

    database 2023年5月22日
    00
  • Adabas和Couchbase的区别

    Adabas和Couchbase是两个不同的数据库系统,它们有不同的特点和特性。下面将针对这两个数据库系统进行详细讲解他们的区别,包括数据结构、数据模型、数据访问、性能等方面的比较。 Adabas Adabas是一个关系数据库管理系统,它的特点是由其特有的数据结构ADAM(Adabas DAta Model)实现了高效的数据存取,以及高可靠性的事务处理。Ad…

    database 2023年3月27日
    00
  • 云服务器centos8安装oracle19c的详细教程

    下面我将为您详细讲解云服务器centos8安装oracle19c的详细教程。 准备工作 在开始安装oracle19c之前,我们需要完成以下准备工作: 确认服务器的硬件配置是否满足oracle19c的最低要求。 确认服务器操作系统是否为centos8,并确保系统已更新到最新版本。 下载oracle19c的安装文件,可以从官网下载。 安装Oracle数据库 1.…

    database 2023年5月22日
    00
  • mysql增删改查基础语句

    MySQL是一种关系型数据库管理系统,可以通过使用基本的SQL语句来对其进行增删改查操作。下面我将详细讲解MySQL的增删改查基础语句的攻略。 增加数据 在MySQL中,可以使用INSERT INTO语句将数据插入到表中。下面是一些INSERT INTO语句的示例: 插入一行: INSERT INTO table_name (column1, column2…

    database 2023年5月21日
    00
  • Linux whatis命令的使用方法

    请看下面的文本: Linux whatis命令的使用方法 命令简介 whatis 命令可以帮助用户快速查询某个命令的简介信息,该信息来自于 whatis 数据库。whatis 数据库中包含了大量命令的简介信息,因此使用 whatis 命令可以帮助用户快速了解某个命令的用途和基本使用方法。 命令格式 whatis [option] keyword 命令参数 -…

    database 2023年5月22日
    00
  • centos6.8下redis的安装和配置

    下载、安装 在redis官网可以获取到最新版本的redis 进入/usr/local/目录,执行如下命令 wget http://download.redis.io/releases/redis-4.0.2.tar.gztar xzf redis-4.0.2.tar.gzcd redis-4.0.2make 执行make构建redis时报如下错误,这是因为没…

    Redis 2023年4月13日
    00
  • SQL 变换结果集成一行

    将结果集合并为一行 在SQL中,我们可以结合使用GROUP_CONCAT()和GROUP BY语句,将多行结果合并为一行。 以以下表格为例: SELECT * FROM employees; emp_id name department salary 1 Alice Sales 50000 2 Bob Marketing 60000 3 Claire Sal…

    database 2023年3月27日
    00
  • 六分钟学会创建Oracle表空间的实现步骤

    下面是详细讲解“六分钟学会创建Oracle表空间的实现步骤”的完整攻略。 1. 准备工作 在开始创建Oracle表空间之前,需要先准备好以下基础工作: 已经安装Oracle数据库软件; 已经创建好了Oracle实例并启动; 已经以SYS用户登录到Oracle实例。 2. 创建表空间 创建表空间的语法如下所示: CREATE TABLESPACE 表空间名称 …

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部