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 ...
随机推荐
- 单机安装hive和presto
问题: 公司最近在搞presto,主要是分析一下presto和hive的查询大数据量的性能对比: 我先把我的对比图拿出来(50条数据左右)针对同一条sql(select * from employee ...
- Replication--复制Token
--创建tokenDECLARE @tokenID AS INT;EXEC sys.sp_posttracertoken @publication = @publication,@tracer_tok ...
- Swift-EasingAnimation
Swift-EasingAnimation 效果 http://gizma.com/easing/ 源码 https://github.com/YouXianMing/UI-Component-Col ...
- orcl数据库查询重复数据及删除重复数据方法
工作中,发现数据库表中有许多重复的数据,而这个时候老板需要统计表中有多少条数据时(不包含重复数据),只想说一句MMP,库中好几十万数据,肿么办,无奈只能自己在网上找语句,最终成功解救,下面是我一个实验 ...
- Redis常用指令
1.使用指令存储数据 不同数据类型的使用 1.String > 在以上指令中我们使用set指令向redis存进了一个数据类型为string,名为str1,值为123456.(如果你要问为什么,那 ...
- C++中数字与字符串之间的转换(转)
http://www.cnblogs.com/luxiaoxun/archive/2012/08/03/2621803.html 1.字符串数字之间的转换 (1)string --> char ...
- 用yield实现python协程
刚刚介绍了pythonyield关键字,趁热打铁,现在来了解一下yield实现协程. 引用官方的说法: 与线程相比,协程更轻量.一个python线程大概占用8M内存,而一个协程只占用1KB不到内存.协 ...
- MVC中使用EF的技巧集(一)
一.建好数据库后,向项目中添加数据模型. 1.右键点击“Models” 文件夹,选择“添加”,再选择“添加新项”. 2.在“添加新项”窗口,选择左边的“数据”,然后再在右边选择“ADO.NET 实体数 ...
- zabbix 监控iptables
参看的文章链接忘了...... yum -y install iptstate 1.脚本位置和内容 [root@web1 scripts]# pwd /etc/zabbix/scripts [root ...
- n=n+1 放在print(s)的上面的影响 (2) n=n=+1在前面,则不满足前面<100条件时候,才跳出while的循环,这时候while循环结束, 到了外面的下一步-->print()
1+2+3+....+100= ? n=1 s = 0 while n < =100: s = s+n n= n+1 # n=n+1 在print(s)上面的情况 print(s)