mysql/mariadb将选择查询的结果重新生成一张新表格
比如想要生成类似如下的表格
mysql> select student.*,sc.cno,course.cname,sc.grade,course.cpno,course.ccredit from student,sc,course where student.sno=sc.sno and sc.cno=course.cno;

第一种直接生成:
mysql> create table temp(select student.*,sc.cno,course.cname,sc.grade,course.cpno,course.ccredit from student,sc,course where student.sno=sc.sno and sc.cno=course.cno);
Query OK, rows affected (0.09 sec)
Records: Duplicates: Warnings: mysql> show tables;
+-------------------+
| Tables_in_groupdb |
+-------------------+
| course |
| dept |
| emp |
| jwc |
| salgrade |
| sc |
| student |
| temp |
+-------------------+
rows in set (0.05 sec)
mysql> select * from temp;

第二种先创建一个表格:
首先查看各个表格的结构:
mysql> desc student;desc sc;desc course; +-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| sno | varchar() | NO | PRI | NULL | |
| sname | varchar() | YES | UNI | NULL | |
| ssex | varchar() | YES | | NULL | |
| sage | smallint() | YES | | NULL | |
| sdept | varchar() | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
rows in set (0.05 sec) +-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| sno | varchar() | NO | PRI | NULL | |
| cno | varchar() | NO | PRI | NULL | |
| grade | smallint() | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
rows in set (0.05 sec) +---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| cno | varchar() | NO | PRI | NULL | |
| cname | varchar() | YES | | NULL | |
| cpno | varchar() | YES | MUL | NULL | |
| ccredit | smallint() | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
rows in set (0.05 sec)
再对表格进行创建并插入数据:
mysql> create table jwc (sno varchar() not null,sname varchar() not null,ssex varchar(),sage smallint(),sdept varchar(),cno varchar(),cname varchar(),grade smallint(),cpno varchar(),ccredit smallint());
Query OK, rows affected (0.67 sec) mysql> insert into jwc(select student.*,sc.cno,course.cname,sc.grade,course.cpno,course.ccredit from student,sc,course where student.sno=sc.sno and sc.cno=course.cno);
Query OK, rows affected (0.06 sec)
Records: Duplicates: Warnings: 0
mysql> desc temp;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| sno | varchar(11) | NO | | NULL | |
| sname | varchar(20) | YES | | NULL | |
| ssex | varchar(2) | YES | | NULL | |
| sage | smallint(6) | YES | | NULL | |
| sdept | varchar(20) | YES | | NULL | |
| cno | varchar(4) | NO | | NULL | |
| cname | varchar(40) | YES | | NULL | |
| grade | smallint(6) | YES | | NULL | |
| cpno | varchar(4) | YES | | NULL | |
| ccredit | smallint(6) | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
10 rows in set (0.05 sec)
2018-04-30
mysql/mariadb将选择查询的结果重新生成一张新表格的更多相关文章
- MySQL/MariaDB数据库的查询缓存优化
MySQL/MariaDB数据库的查询缓存优化 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL架构 Connectors(MySQL对外提供的交互接口,API): ...
- mysql/mariadb学习记录——查询
连接查询:同时设计两个及以上的表的查询 连接条件或连接谓词:用来连接两个表的条件一般格式: [<表名1>]<列名1> <比较运算符> [<表名2>]&l ...
- mysql/mariadb学习记录——查询2
Alias——使用一个列名别名AS 关键字: mysql> select sno as studentId,sname as studentName from student; +------- ...
- MySQL/MariaDB 版本选择
ALPHA.BETA.Release Candidate(RC).Release.GA等版本号的意义 MySQL数据库会存在很多版本,在这么多的版本中,我们如何进行选择,那么,首先我们要了解各个版本号 ...
- mysql/mariadb学习记录——查询3(AVG、SUM、COUNT)函数
AVG() 求平均数函数: //求emp表中的sal属性的平均值 mysql> select avg(sal) as salAverage from emp; +-------------+ | ...
- MySQL/MariaDB表表达式(3):视图
视图是表表达式的一种,所以它也是虚拟表.对视图操作的时候会通过语句动态的从表中临时获取数据. 1.创建.修改视图 CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED ...
- mysql系列-⼀条SQL查询语句是如何执⾏的?
⼀条SQL查询语句是如何执⾏的? ⼤体来说,MySQL 可以分为 Server 层和存储引擎层两部分 Server 层 Server 层包括连接器.查询缓存.分析器.优化器.执⾏器等,涵盖 MySQL ...
- Mariadb/MySQL数据库单表查询基本操作及DML语句
Mariadb/MySQL数据库单表查询基本操作及DML语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一数据库及表相关概述 1>.数据库操作 创建数据库: CREATE ...
- mysql/mariadb学习记录——连接查询(JOIN)
//本文使用的数据表格//persons表中id_p为主键//orders表中id_o为主键,id_p为外键参考persons表中的id_p mysql> select * from perso ...
随机推荐
- Modernizing Business Process with Cloud and AI
The world is awash with digital transformation. Every customer and partner that I talk to, across ev ...
- oracle 用户系统权限
conn sys as sysdba; create user test identified by test; grant create session to test; grant create ...
- 机器学习中正则惩罚项L0/L1/L2范数详解
https://blog.csdn.net/zouxy09/article/details/24971995 原文转自csdn博客,写的非常好. L0: 非零的个数 L1: 参数绝对值的和 L2:参数 ...
- 简单解析Spring核心IOC容器原理
将大体流程解析了一边,具体可以看源代码一个方法一个方法的跟下 XmlBeanFactory的功能是建立在DefaultListableBeanFactory这个基本容器的基础上的,并在这个基本容器的基 ...
- [UI] 精美UI界面欣赏[6]
精美UI界面欣赏[6]
- The Master of Science degree in Computer Scienc
Computer Science MS Degree MS Degree or Depth 45.00 Hours Required http://scpd.stanford.edu/ ...
- 铁乐学Python_day12_作业
1.写函数,返回一个扑克牌列表,里面有52项,每一项是一个元组 例如:[('红心',2),('草花',2), -('黑桃','A')] def poker(): suit = ['红心', '梅花', ...
- Beanstalkd 的理解
Beanstalkd 的理解 Beanstalkd 是一个轻量级的内存型队列,利用了和Memcache 类似的协议.其官网beanstakkd官网 下方的感谢语说: Many thanks to me ...
- 一、JavaScript概述 二、JavaScript的语法 三、JavaScript的内置对象
一.JavaScript的概述###<1>JavaScript的概念 又称ECMAScript,和java没有任何关系 嵌入在HTML元素中的 被浏览器解释运行的 一种脚本语言. ###& ...
- TFS使用笔记——合并不同分支的代码
问题描述:我们需要把2.37中改动的代码合并到2.38当中. 查看“Pending Changes”,单击“Change”列排序,查看merge的items,然后选中merge的items,最后“Ch ...