数据库技术提升-MySQL数据库原理、设计与应用【2.1】

第5章 单表操作

学习目标
.掌握复制表结构与致据的操作
.掌握数据的排序,限量与分组
.掌握常用聚合函数与比较函数
.掌握MySOL常用适算特的使用

        在前面的章节中已经学习了数据表的创建,数据类型,约束,字符集的设置,以及数据的基本增、删、改,查操作。但实际需求会更加复杂,前面学习过的内容不能够完全满足开发需求,所以需要深人学习更多的数据操作。例如,为数据表插人大量的测试数据,对查询的数据进行筛选、分组、排序或限量。本章将围绕数据库中的单表操作进行详细讲解。

5.1 数据操作

5.1.1 复制表结构和数据

1.复制已有的表结构
在开发时,若需要创建一个与已有数据表相同结构的数据表时,可以通过以下的语法完成表结构的复制。基本语法格式如下。
CREATE IIEMEORAEY] TABLE: [IE MOT EXISIS]表名
[LIK旧表名|(旧表名)}
在上述语法中,仅能从“旧表名”中复制一份相同的表结构,但不会复制表中保存的数据。其中,“(}"表示语法在使用时可以任选其中一种,"|"表示或的意思。因此,在复制已有的表结构时,可以使用“I.IKE 旧表名”或"(1.IKE 旧表名)"中的任意一种语法格式。
下面从第4 章创建的 shop 数据库中,复制一份与 sh_goods 数据表相同结构的 my_goods 表到 mydb 数据库中,具体 SQL, 语句如下。

mysql>UsE shop;
Database changed
mySq1>CREATE TABLE mydb.my goods LIkE sh_goods /
Query OK,0 rows affected(0.07 sec)

按以上步骤创建完成后,可以利用 SHOW CREATE TABLE 查看 my_goods 表的结构,具体 SQL 语句如下。

从上述结果可知,只需一行操作就可以依据已有的表创建出与其相同结构的表
2.复制已有的表数据
数据复制也可称为蠕虫复制,是新增数据的一种方式,它是从已有的数据中获取数据,并且将获取到的数据插入到对应的数据表中,实现成倍的增加。需要注意的是,此种方式获取数据与插人数据的表结构要相同,否则可能会遇到插人不成功的情况。基本语法格式如下
INSERT [INTO] 数据表名 1[(字段列表)]SEIECT[(字段列表)] EROM 数据表名 2;

在上述语法中,数据表名1和数据表名2通常使用的是同一个表(如 my_goods 表),从而可在短期内快速增加表的数据量,测试表的压力以及效率等,相关内容会在本书数据库优化部分讲解,此处读者了解即可。
下面利用以上语法从 sh_goods 表中复制数据到 my_goods 表中,具体 SQL 语句如下

my3ql> INSERT INTO mydb.my goods SELECT * ERM sh goods;
Query OK,10 rows affected (0.01 sec)
Records:10 Duplicates:0warnings:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BinaryStarXin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值