MySQL: 创建两个关联的表,用联表sql创建一个新表

news/2025/3/26 0:17:25/

MySQL: 创建两个关联的表

建表思路

  • USERS 表:包含用户的基本信息,像 IDNAMEEMAIL 等。
  • v_card 表:存有虚拟卡的相关信息,如 type 和 amount
  • 关联字段USERS 表的 V_CARD 字段和 v_card 表的 v_card 字段用于建立关联。

建表 SQL 语句

以下是创建这两个表的 SQL 语句,以 MySQL 为例:

sql

-- 创建 USERS 表
CREATE TABLE IF NOT EXISTS USERS (ID INT AUTO_INCREMENT PRIMARY KEY,NAME VARCHAR(255) NOT NULL,EMAIL VARCHAR(255) UNIQUE NOT NULL,ID_CARD VARCHAR(18) UNIQUE NOT NULL,V_CARD VARCHAR(50),ADDRESS VARCHAR(255)
);-- 创建 v_card 表
CREATE TABLE IF NOT EXISTS v_card (v_card VARCHAR(50) PRIMARY KEY,type VARCHAR(50),amount DECIMAL(10, 2)
);

代码解释

  1. USERS 表

    • ID:这是自增的主键,用于唯一标识每个用户。
    • NAME:用户的姓名,为非空字段。
    • EMAIL:用户的邮箱,要求唯一且非空。
    • ID_CARD:用户的身份证号,同样要求唯一且非空。
    • V_CARD:用于关联 v_card 表的字段。
    • ADDRESS:用户的地址。
  2. v_card 表

    • v_card:作为主键,用于唯一标识每张虚拟卡。
    • type:虚拟卡的类型。
    • amount:虚拟卡的金额,使用 DECIMAL(10, 2) 类型,能够精确到小数点后两位。

MySQL联表创建一个新表

在 MySQL 中,你可以使用 CREATE TABLE ... AS 语句来根据查询结果创建新表,示例如下:

sql

CREATE TABLE new_table AS
SELECT USERS.ID,USERS.NAME,USERS.EMAIL,USERS.ID_CARD,USERS.V_CARD,USERS.ADDRESS,v_card.type,v_card.amount
FROM USERS
JOIN v_card ON USERS.V_CARD = v_card.v_card;

上述代码中,new_table 是你要创建的新表的名称,CREATE TABLE ... AS 会将查询结果的列结构和数据复制到新表中。

执行结果:


http://www.ppmy.cn/news/1583086.html

相关文章

【后端开发面试题】每日 3 题(十八)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:https://blog.csdn.net/newin2020/category_12903849.html 📚专栏简介:在这个专栏中,我将会分享后端开发面试中常见的面试题给大家,每天的题目都是独…

​技术解构麦萌短剧《命运旋涡》:从「时间序列的因果重构」到「对抗性干预的强化学习」​

《命运旋涡》以「时间回溯」为技术内核,揭示了高维因果推理与对抗性干预的算法博弈。本文将通过机器学习视角,拆解这场时空防御战的底层逻辑。 ​1. 时间序列重构:循环神经网络中的记忆觉醒 许晴(Agent_Xu)的重生可建…

ChatGPT降低论文AIGC重复率的提示词合集(高效降重方法)

💡 问题:写完毕业论文后,查AIGC率过高,手动降重后仍然很高,该怎么办? 📌 解决方案: 1️⃣ 先查AIGC率(找出AI生成的部分) 2️⃣ 用ChatGPT优化(使…

HTML5学习成果(仅HTML部分)

招聘信息注册页面的实现&#xff08;仅有页面&#xff09; 在学习完Web前端开发的HTML5部分后&#xff0c;综合所学知识制作 招聘信息注册页面。 代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>招聘信息注册页面…

Vue输入选择控件常用的校验格式

1.在lib目录下新建文件夹dic.js // 空白数据的占位符 const PLACEHOLDER -- // 时期格式 const FORMAT_DATETIME YYYY-MM-DD HH:mm:ss const FORMAT_DATE YYYY-MM-DD const FORMAT_MONTH YYYY-MM const FORMAT_TIME HH:mm:ss const FORMAT_HHMM HH:mm const FORMAT_DATE…

clamav服务器杀毒(Linux服务器断网状态下如何进行clamav安装、查杀)

ClamAV服务器杀毒&#xff08;服务器断网状态也可以使用该方法&#xff09; 服务器因为挖矿病毒入侵导致断网&#xff0c;进行离线的clamav安装并查杀 安装包下载网址&#xff1a;https://www.clamav.net/downloads 安装.deb&#xff0c;如果服务器处于断网状态&#xff0c;可以…

基于Arm GNU Toolchain编译生成的.elf转hex/bin文件格式方法

基于Arm GNU Toolchain编译生成的.elf转hex/bin文件格式方法 已经弃用的版本&#xff08;Version 10.3-2021.10&#xff09;&#xff1a;gcc-arm-none-eabi&#xff1a;https://developer.arm.com/downloads/-/gnu-rmArm GNU Toolchain当前版本&#xff1a;https://developer.a…

[特殊字符] 力扣热题 394:字符串解码(详细解析)(Go语言版)

&#x1f680; 力扣热题 394&#xff1a;字符串解码&#xff08;详细解析&#xff09; &#x1f4cc; 题目描述 力扣 394. 字符串解码 给定一个经过编码的字符串&#xff0c;返回它解码后的字符串。 编码规则为&#xff1a;k[encoded_string]&#xff0c;表示其中方括号内部的…