MySQL多对多创建表语句(防忘记)

MySQL----表的一对多关系和多对多关系 MySQL----表的一对多关系和多对多关系 1.一对多关系 1.1名词解释: 一对多关系:通过主键外关系,形成一对多关系。 一表:又称之为主表,主表需要提供主键。 多表:又称之为从表,从表需提供外键。 1.2实例演示 一个分类拥有多个商品,这就是一对多关系。 1.3连接语法 alter table 从表 add constraint foreign key (外键) references 主表 (主键); 1.4一对多实践案例 在这里插入代码片 ... 阅读详情
-- 演员表
CREATE TABLE actor
(id INTEGER NOT NULL -- 演员编号
, NAME VARCHAR(35) -- 演员姓名
, PRIMARY KEY (id)
)DEFAULT CHARSET=utf8;
CREATE INDEX actor_name ON actor(NAME);
-- 电影表
CREATE TABLE movie
(id INTEGER NOT NULL -- 电影编号
, title VARCHAR(70) -- 电影名称
, yr DECIMAL(4) -- 年份
, score FLOAT -- 评分
, votes INTEGER -- 票房
, director INTEGER -- 导演
, PRIMARY KEY (id)
, FOREIGN KEY (director) REFERENCES actor(id)
)DEFAULT CHARSET=utf8;
CREATE INDEX movie_title ON movie(title);
-- 中间表
CREATE TABLE casting (
movieid INTEGER NOT NULL -- 电影编号
, actorid INTEGER NOT NULL -- 演员编号
, movieord INTEGER -- 演员排名
, PRIMARY KEY (movieid, actorid)
, FOREIGN KEY (movieid) REFERENCES movie(id)
, FOREIGN KEY (actorid) REFERENCES actor(id)
)DEFAULT CHARSET=utf8;
CREATE INDEX casting_movie ON casting(movieid);
CREATE INDEX casting_actor ON casting(actorid);
CREATE INDEX casting_ord ON casting(movieord);
 
-- 显示电影id=1中演员名单
SELECT a.NAME FROM movie m,actor a,casting c WHERE c.actorid=a.id AND c.movieid=m.id AND m.id=1
SELECT a.* FROM actor a,casting c WHERE c.actorid=a.id AND c.movieid=1
 
-- 显示电影'Alien'中演员名单
 
SELECT a.NAME FROM movie m,actor a,casting c WHERE c.actorid=a.id AND c.movieid=m.id
AND m.title='Alien'
 
 
-- 显示有'Harrison Ford'参演的电影名称
SELECT m.title FROM movie m,casting c,actor a WHERE c.actorid=a.id AND m.id=c.movieid AND a.NAME='Harrison Ford'
 
-- 显示有'Harrison Ford'参演的电影名称,但'Harrison Ford'角色排名不是第一
SELECT m.title FROM movie m JOIN casting c ON m.id=c.movieid JOIN actor a ON c.actorid=a.id WHERE a.NAME='Harrison Ford' AND c.movieord !=1
 
-- 显示1962年发行的电影,及该影片的主角(排名第一)
SELECT m.title, a.NAME FROM movie m,casting c,actor a WHERE c.actorid=a.id AND m.id=c.movieid AND m.yr=1962 AND c.movieord =1
 
-- 显示'John Travolta'每年出演的电影数量
SELECT m.yr,COUNT(m.id) FROM movie m,casting c,actor a WHERE c.actorid=a.id AND m.id=c.movieid AND a.NAME='John Travolta'
GROUP BY m.yr
 
-- 列出'Julie Andrews'参演的所有电影名称以及该片的主角
 SELECT m.title,a.NAME FROM actor a,casting c ,movie m WHERE a.id=c.actorid AND m.id=c.movieid AND m.id IN
(SELECT m1.id FROM casting c1,movie m1,actor a1 WHERE m1.id=c1.movieid AND a1.id=c1.actorid AND a1.NAME='Julie Andrews')
 AND c.movieord=1;
 
-- 列出在10部电影中出任过主角的演员
SELECT a.NAME FROM movie m,casting c,actor a WHERE c.actorid=a.id AND m.id=c.movieid
AND c.movieord =1 GROUP BY a.NAME HAVING COUNT(m.title)=10
 
-- 按演员人数的多少依次列出1978的电影以及演员数。
SELECT m.title,COUNT(a.id) num FROM movie m,casting c,actor a WHERE c.actorid=a.id AND m.id=c.movieid
AND m.yr=1978 GROUP BY m.id ORDER BY num DESC
 
 
-- 列出所有和'Art Garfunkel'合作过的演员
SELECT DISTINCT a.NAME FROM movie m,casting c,actor a WHERE c.actorid=a.id AND m.id=c.movieid
AND a.NAME !='Art Garfunkel' AND m.id IN
(SELECT c1.movieid FROM movie m1,casting c1,actor a1 WHERE c1.actorid=a1.id AND m1.id=c1.movieid AND a1.NAME='Art Garfunkel')

ParallelsDesktop 安装 CentOS-6.9-x86_64-minimal 教程 安装参考 tools没做 想安装的可以参考这个 mac 本机环境: 系统:macOS Catalina version 10.15.6 虚拟机软件:parallels Desktop 15 for Mac( Parallels Desktop-15.1.4(47270)) Centos镜像: CentOS-6.9-x86_64-minimal.iso https://mirrors.aliyun.com/centos-vault/6.8/isos/x86_64/ http://vault.centos. 阅读详情

相关推荐

智能工厂四大系统协同实战:ERP/PLM/MES/WMS集成架构与数据流解析

本文深入解析了智能工厂中ERP、PLM、MES、WMS四大核心系统的协同集成架构与数据流。通过实战案例,阐述了如何打通系统孤岛,实现从产品设计、资源计划、生产执行到仓储物流的数据无缝流转,从而构建高效、敏捷的智能工厂运营体系。

ujm567890的博客 676

SQL(中间表的使用)

中间表的使用

HanJuly9569的博客 2009

autoware 激光-相机联合标定

autoware进行激光-相机联合标定 ~~~ 刚开始进行激光-相机联合标定的时候,出现了不少问题,在此记录一下整体标定流程,以防忘记。在此,特别感谢佳明师弟,在录制数据集时提供的帮助。 ~~~ 0.系统配置: Ubuntu18.04系统 ROS Melodic opencv 3.2.0 vlp-16 一.安装autoware 这部分网上教程挺多的,但我在编译的过程中仍存在不少bug,唉~_~。 二.安装calibration_camera_lidar,从a...

nuo112的博客 1万+

G 双轴图sql脚本

无摘要

weixin_44976611的博客 229

解决创建conda环境时Solving environment: failed 和 ResolvePackageNotFound 的错误

环境配置文件是在别的机器上导出的,文件里的软件包是按照导出文件的机器配置的,因此导出的时候,把这些包的详细信息也导了出来,即第二个等号后面跟着的信息,当我们按照这个文件创建环境时,conda就会根据我们机器的配置信息,按照配置文件里包的详细信息,去找这个包,那当然找不到,结果发现“查无此包”,因此也就会报上面的错误。上面找到了问题的所在之处,解决起来就很简单了,只需要在配置文件 environment.yml 中将包的详细信息删除,也就是第二个等号后面的内容。然而升级超级慢不说,也没有解决我的问题。...

番茄炒蛋三分糖 4万+

别再只盯着GPS了!手把手教你用Python仿真UWB定位,30厘米精度是怎么算出来的?

本文详细解析了UWB(超宽带)室内定位技术的原理与实现,通过Python代码演示如何从三边测量法到实现30厘米精度的定位。文章涵盖了UWB的核心数学模型、Python仿真环境搭建、误差分析及优化策略,为开发者提供了实用的技术指南和应用场景。

weixin_26873711的博客 254

mysql 建立中间表,提供查询更新多条数据

MySQL 关联查询多条更新

zxy15538191283的博客 799

科研ABC - The Results Section(SCI论文写作补充)

1 前言 1.1 IMRD格式 1.2 Results部分意义 1.3 Results部分主要内容 2 Results & Discussion关系 2.1 Results & Discussion部分的搭配方式 2.2 Results & Discussion部分的区分 3 Results部分的结构 3.1 Move 1: Set the Stage 3.1....

洋洋洋2020的blog 1622

【MySQL基础】MySQL多表操作详解

MySQL中的多表操作详细讲解,一文让你掌握MySQL多表操作中的三种多表关系,五种多表查询,和四种子查询以及四种子查询关键字的操作和使用。

小杨的博客 2857

SCADA|测试KingSCADA4.0信创版采集汇川PLC AC810数据

摘要:雷工分享KingSCADA4.0信创版采集汇川PLC数据的配置过程。由于项目繁忙,笔记更新延迟。信创产业要求采用国产化产品,此次通过ModbusTCP协议连接AC810 PLC。主要步骤包括:新建IOServer应用(需厂家协助从3.8升级至4.0)、安装ModbusTCP驱动、配置设备地址(192.168.1.88:5021)、运行IOServer并通过网页监控变量。尽管信创版操作体验较差,但出于国产化战略需要仍需使用。雷工表示理解产品初期不足,相信未来会逐步优化。2025年4月11日记录于四川绵阳

做有价值的事,积累有价值的笔记! 865

21、二维卷积层(convolution2dLayer)的全面解析

本文全面解析了二维卷积层(convolution2dLayer)的原理、属性和应用,详细介绍了其在深度学习中的作用及实现方法。文章涵盖创建卷积层的语法、参数设置、算法原理、输入输出格式、优化策略以及实际应用案例,旨在帮助读者更好地理解和应用二维卷积层构建高效的深度学习模型。

red88的博客 325

mysql 笔记 --MySQL数据库建立多对多的数据表关系

mysql 笔记 在MySQL数据库建立多对多的数据表关系 http://blog.51cto.com/13145200724/1370753 请问数据库在创建表的时候如何设计表关系,一对一,一对多,多对多 请高手举例说明。谢谢!!! https://zhidao.baidu.com/question/251111120.html 效果图 DDL CREATE TABL...

weixin_43299649的博客 1万+

嵌入式工程师成长之路(10)——项目举例

送给大学毕业后找不到奋斗方向的你(每周不定时更新)

云轩阁 5万+

mysql使用SQL语句创建表

打开数据库: 步骤:新建查询(Ctrl+Q)→写SQL语句→运行→刷新→创建表成功 创建表的SQL语句一般格式: CREATE TABLE <表名>( <列名> <数据类型> [列级完整性约束定义] {, <列名> <数据类型> [列级完整性约束定义] … } [,表级完整性约束定义] ) 下面来举个列子来说明一下就更清晰了,...

LTLTLT_的博客 3万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

MySQL创建数据库表的语句和基础语句

下面的代码将使用sql语句创建一个数据库表。 格式: CREATE TABLE [IF NOT EXISTS] `表名` ( `字段名` 列类型 [属性] [索引] [注释], `字段名` 列类型 [属性] [索引] [注释], ....... `字段名` 列类型 [属性] [索引] [注释] ) [表类型] [字符集设置] [注释] 注意点: 使用英文() ,表的名称和字段尽量使用 `` 括起来 AUTO INCREMENT 自增 字符串用单引号括起来 所有的语句用结尾加上 , 最后

sinat_33940108的博客 6万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

MySQL练习:用户角色多对多表创建、插入和查询

一.表描述 一张用户表,一张角色表,一个用户可以对应多个角色,一个角色也可以对应多个用户,表关系为多对多,创建一个user_role表进行关联。 二.建表 -- 创建数据库 CREATE DATABASE demo; -- 切换到指定数据库 USE demo; --创建用户表 create table user( uid int(11) auto_increment not null, account varchar (32) , password varchar (32)

代码从一开始的博客 2519

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

mysql创建用户表的sql语句,mysql创建表的sql语句

mysql 动态sql语句,如何用一款小工具大大加速MySQL SQL语句优化(附源,mysql分页查询sql语句,mysql创建表的sql语句mysql建表语句_计算机软件及应用_IT/计算机_专业资料。. 建库: cre...用MySQL 创建数据库和数据表:步骤: 1、使用 show 语句找出在服务器上当前存在什么数据库: mysql>show databases; 2、创建一个数据库...

weixin_39825105的博客 2427

如何在MySQL中创建表

创建表可能是数据库开发中最流行的任务。在本文中,我们将回顾创建MySQL表的方法。当您需要通过脚本专门创建表时,第一种方法很有用。例如,您想在非常特定的时间创建一个表,但由于此时不在,您无法手动创建。因此,您可以使用Windows Scheduler调度创建 表过程–这是表创建查询的有益之处。第二种方法非常适合现场创建表格。在许多情况下,它也可以更加方便,因为它非常直观。有许多工具提供了这种功能,我们将看一看其中的一个——dbForge Studio for MySQL。让我们详细了解这两种方法。

m0_65012566的博客 4006

【跟着例子学MySQL】多表关联 -- 多对多关系

上篇文章👉《【跟着例子学MySQL】多表关联 – 一对多关系》 讲了一对多的多表关联。这篇接着讲解多对多的多表关联。

用最通俗的方式,分享最硬核的知识 1861

Navicat里MySQL表的创建(详细)

我以Navicat连接MySQL为例,演示表的创建方法。

2301_76297780的博客 7052

创建mysql表sql语句_mysql创建表的sql语句

mysql创建表的sql语句mysql建表常用sql语句:连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样)断开:exit (回车)创建授权:grant select on 数据库.* to 用户名@登录主机 identified by \"密码\"修改密码:mysqladmin -u用户名 -p旧密码 password 新密码删除授权: re...

weixin_42355665的博客 1550

PHP 创建 MySQL 表

// 使用 sql 创建数据表 $sql = "CREATE TABLE MyGuests ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50), reg_date TIMESTAMP )";$conn) { die("连接失败: " . mysqli_connect_error());

2301_78835635的博客 1692

创建mysql表sql语句_mysql创建表的sql语句详细总结

mysql创建表的sql语句mysql建表常用sql语句:连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样)断开:exit (回车)创建授权:grant select on 数据库.* to 用户名@登录主机 identified by \"密码\"修改密码:mysqladmin -u用户名 -p旧密码 password 新密码删除授权: re...

weixin_39548490的博客 1607

mysql语句创建商品表_MySQL语句创建表

MySQL语句创建表关注:242答案:2mip版解决时间 2021-02-02 01:20提问者慢慢学会遗忘2021-02-01 12:06最佳答案二级知识专家抚弦思华年2021-02-01 13:31【1】建立员工档案表要求字段:员工员工编号,员工姓名,性别,工资,email,入职时间,部门。【2】合理选择数据类型及字段修饰符,要求有NOT NULL,auto_increment, pr...

weixin_39792803的博客 2016

mysql忘记密码的三种解决方案

1、修改密码的三种方式 mysql用户分为root用户(超级管理员,拥有所有权限)和普通用户,mysql服务器通过权限表来控制用户对数据库的访问,这些权限表存于root用户下的mysql数据库中。 在使用mysql数据库过程中,往往需要修改密码的操作,下面介绍三种修改密码的方式: 1)使用mysqladmin命令在命令行指定新密码 mysqladmin -u root -p password '新密码’ 回车,将提醒你输入原密码 2)使用set语句 set password=password(“新密码”)

xuezhangmen的博客 3万+

mysql 建表语句示例_MySQL Create Table语句和示例

mysql 建表语句示例 In this article, I am going to explain the MySQL CREATE TABLE statement with examples. The following syntax contains basic statements to create a table in MySQL. 在本文中,我将通过示例解释MySQL C...

culuo4781的博客 1万+
上一篇: Spring applicationContext.xml配置文件中配置mybatis使用xml方式
下一篇: Spring开启注解AOP的支持放置的位置
JSON_ZJS
博客等级 码龄9年 30粉丝 159原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值