• 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, 19 rows affected (0.09 sec)
    Records: 19  Duplicates: 0  Warnings: 0
    
    mysql> show tables;
    +-------------------+
    | Tables_in_groupdb |
    +-------------------+
    | course            |
    | dept              |
    | emp               |
    | jwc               |
    | salgrade          |
    | sc                |
    | student           |
    | temp              |
    +-------------------+
    8 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(11) | NO   | PRI | NULL    |       |
    | sname | varchar(20) | YES  | UNI | NULL    |       |
    | ssex  | varchar(2)  | YES  |     | NULL    |       |
    | sage  | smallint(6) | YES  |     | NULL    |       |
    | sdept | varchar(20) | YES  |     | NULL    |       |
    +-------+-------------+------+-----+---------+-------+
    5 rows in set (0.05 sec)
    
    +-------+-------------+------+-----+---------+-------+
    | Field | Type        | Null | Key | Default | Extra |
    +-------+-------------+------+-----+---------+-------+
    | sno   | varchar(11) | NO   | PRI | NULL    |       |
    | cno   | varchar(4)  | NO   | PRI | NULL    |       |
    | grade | smallint(6) | YES  |     | NULL    |       |
    +-------+-------------+------+-----+---------+-------+
    3 rows in set (0.05 sec)
    
    +---------+-------------+------+-----+---------+-------+
    | Field   | Type        | Null | Key | Default | Extra |
    +---------+-------------+------+-----+---------+-------+
    | cno     | varchar(4)  | NO   | PRI | NULL    |       |
    | cname   | varchar(40) | YES  |     | NULL    |       |
    | cpno    | varchar(4)  | YES  | MUL | NULL    |       |
    | ccredit | smallint(6) | YES  |     | NULL    |       |
    +---------+-------------+------+-----+---------+-------+
    4 rows in set (0.05 sec)

    再对表格进行创建并插入数据:

    mysql> create table jwc (sno varchar(11) not null,sname varchar(20) not null,ssex varchar(2),sage smallint(6),sdept varchar(20),cno varchar(4),cname varchar(40),grade smallint(6),cpno varchar(4),ccredit smallint(6));
    Query OK, 0 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, 19 rows affected (0.06 sec)
    Records: 19  Duplicates: 0  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

  • 相关阅读:
    SQL字段排序
    delphi MessageBox 用法
    delphi获取当前计算机所有盘符
    PHP限制IP
    delphi 显示数据
    GUI模块分解与开发征集
    delphi 用户登录 代码
    Hello China GUI模块鼠标指针的实现
    DELPHI 托盘 实例
    delphi 内存流 操作
  • 原文地址:https://www.cnblogs.com/joy9707/p/8973521.html
Copyright © 2020-2023  润新知