legongju.com
我们一直在努力
2025-01-11 21:09 | 星期六

sql如何创建表添加外键

在SQL中,创建表并添加外键的方法如下:

  1. 首先,创建两个表,一个作为主表(包含主键),另一个作为从表(包含外键)。
-- 创建主表
CREATE TABLE 主表名 (
    主键列名 数据类型 PRIMARY KEY,
    其他列名1 数据类型,
    其他列名2 数据类型
);

-- 创建从表
CREATE TABLE 从表名 (
    外键列名 数据类型,
    其他列名1 数据类型,
    其他列名2 数据类型,
    FOREIGN KEY (外键列名) REFERENCES 主表名(主键列名)
);
  1. 如果已经存在的表中添加外键,可以使用ALTER TABLE语句。
-- 添加外键
ALTER TABLE 从表名
ADD FOREIGN KEY (外键列名) REFERENCES 主表名(主键列名);

举个例子,假设我们有两个表:students(学生)和courses(课程),其中courses表中的student_id列是外键,它引用了students表中的id列。

-- 创建 students 表
CREATE TABLE students (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    age INT
);

-- 创建 courses 表
CREATE TABLE courses (
    id INT PRIMARY KEY,
    course_name VARCHAR(50),
    student_id INT,
    FOREIGN KEY (student_id) REFERENCES students(id)
);

或者使用ALTER TABLE添加外键:

-- 创建 courses 表
CREATE TABLE courses (
    id INT PRIMARY KEY,
    course_name VARCHAR(50),
    student_id INT
);

-- 添加外键
ALTER TABLE courses
ADD FOREIGN KEY (student_id) REFERENCES students(id);

未经允许不得转载 » 本文链接:https://www.legongju.com/article/102497.html

相关推荐

  • oracle怎么访问sqlserver数据库

    oracle怎么访问sqlserver数据库

    要在Oracle中访问SQL Server数据库,您需要创建一个数据库链接。这是一个简化的步骤来实现这个目标: 安装和配置Heterogeneous Services (HS):
    首先,确保...

  • sql server如何给用户授权表

    sql server如何给用户授权表

    在 SQL Server 中,可以使用以下步骤为用户授权访问特定的表: 打开 SQL Server Management Studio (SSMS)。
    连接到要管理的 SQL Server 实例。
    展开数...

  • sql如何返回唯一不同的值

    sql如何返回唯一不同的值

    在SQL中,要返回唯一不同的值,可以使用DISTINCT关键字
    SELECT DISTINCT column_name FROM table_name; 这将返回指定列(column_name)中的所有唯一不同的值...

  • sql的索引是什么

    sql的索引是什么

    SQL 索引(Index)是一种数据库对象,它允许数据库管理系统(DBMS)更高效地访问表中的数据。索引通过指定表中一列或多列的值来创建一个顺序排列的数据结构,从而...

  • oracle数据库怎么查询

    oracle数据库怎么查询

    在Oracle数据库中查询数据,你可以使用SQL(Structured Query Language)语句。以下是一些基本的查询示例: SELECT语句:这是最常用的查询语句,用于从数据库表中...

  • oracle怎么查询数据库表名

    oracle怎么查询数据库表名

    在Oracle中,要查询数据库表名,可以使用以下SQL语句:
    SELECT table_name FROM user_tables; 这将返回当前登录用户所拥有的所有表名。如果你想查看其他用户...

  • 怎么查看oracle数据库空间大小

    怎么查看oracle数据库空间大小

    要查看Oracle数据库空间大小,您可以使用以下SQL查询:
    SELECT tablespace_name, ROUND(SUM(bytes) / 1024 / 1024 / 1024, 2) AS "Size (GB)"
    FROM db...

  • oracle数据库grant用法是什么

    oracle数据库grant用法是什么

    在Oracle数据库中,GRANT语句用于为用户或角色授予特定的权限
    GRANT privilege_name [, privilege_name]...
    TO user_name [, user_name]...
    [WIT...