mysql根据查询结果创建表

现在假设存在三张表

s(sno,sname.sex,age,dept)              //sno代表学生的学号 , sname代表学生姓名   , sex代表性别 ,age代表年龄,dept代表系

c(cno,cname,tname)                             //cno课程号 ,cname课程名 , tname老师名字

sc(sno,cno,grade)                                     //sno学号,cno课程号,grade成绩

现有如下要求:将一门课的成绩大于等于80分学生的学号、姓名和系名新建一个基本表stu(sno,sname,dept)

create table stu (

select sno , sname ,dept from s where s.sno in (select sno from sc where sc.grade >= 80)

);

时间: 2024-10-12 08:56:43

mysql根据查询结果创建表的相关文章

Hibernate连接mysql数据库并自动创建表

天才第一步,雀氏纸尿裤,Hibernate第一步,连接数据库. Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. 所以说,Hibernate讲白了就是简化了与数据库之间的操作,那么要玩转它自然就得连接上数据库咯.(与Hibernate对应的orm框架还有Mybatis,只不过M

Discuz 使用 MySQL 8.0 无法创建表forum_forum问题

Discuz 使用 MySQL 8.0 无法创建表forum_forum 1.安装Discuz,使用MySQL8.0创建数据库时报错,提示缺少forum_forum表. 造成的原因: MySQL8.0对很多关键字保留了,需要对表名进行转意. Discuz 默认使用的是MySQL5.6的架构 2.按照以下命令修改Discuz源文件即可. sed -ri 's/ {2}([a-z0-9_]+)/ `\1`/g' install/data/install.sql uc_server/install/u

mysql 给axel数据创建表

create table point( id int primary key auto_increment ,point_x double, point_y double, boundry bool ); 一.sql语句 1.操作数据库 (1)创建数据库 CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...] create_specification:    [DEFA

MySQL简单查询和单表查询

MySQL记录操作 概览 MySQL数据操作: DML 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现数据的删除 使用SELECT查询数据以及. 插入数据insert 1. 插入完整数据(顺序插入) 语法一: INSERT INTO 表名(字段1,字段2,字段3-字段n) VALUES(值1,值2,值3-值n); 语法二: INSERT INTO 表名 VALUES (值1,值2,值

mysql触发器应用和创建表错误代码: 1118 Row size too large. 解决

1.针对数据库查询问题的方便,可以建立重要表的log备份记录表,在主表的添加,修改,删除添加触发器,修改触发器增加触发字段的点,限制条件. 数据库log表查问题比从线上多台服务器上下载日志文件相对方便,但是两者的侧重点不同. 2.错误代码: 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhe

工作随笔——mysql子查询删除原表数据

最近在开发的时候遇到一个mysql的子查询删除原表数据的问题.在网上也看了很多方法,基本也是然并卵(不是写的太乱就是效率太慢). 公司DBA给了一个很好的解决方案,让人耳目一新. DELETE fb.* FROM froadbill.bill fb LEFT JOIN froadbill.refundinfo br ON br.billSeqNo = fb.seq_no WHERE br.billSeqNo IS NULL AND fb.create_time >='20150102000000

create table 使用select查询语句创建表的方法分享

转自:http://www.maomao365.com/?p=6642 摘要:下文讲述使用select查询语句建立新的数据表的方法分享 ---1 mysql create table `新数据表名` select * from `旧数据表名`; -------------------------------- ---2 oracle create table 新数据表名 as select * from 旧数据表名 -------------------------------- --3 mss

MySQL 子查询与多表联合查询

子查询:就是一个查询的结果作为另一个查询的数据源或者条件. 如何查询出工资最大的人的姓名? mysql> select max(sal) from emp; --查询出工资最大值 +----------+ | max(sal) | +----------+ | 5000.00 | +----------+ 1 row in set (0.00 sec) mysql> select ename,sal from emp where sal = (select max(sal) from emp)

sql server 与 mysql 分页查询以及创建临时表的区别

一: 分页查询的时候 sql server使用的是top关键字,而mysql 使用的是limit e.g: 查询第五个到第十个入职的职员 sql server2000: select top 6 * from emp where empno not in (select top 4 empno from emp order by hiredate) order by hiredate; mysql: select * from emp order by hire date limit 4,6;