意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

【MySQL】数据处理(数据的插入)

来源:恒创科技 编辑:恒创科技编辑部
2023-12-20 00:51:59


一、数据的插入单表的插入

通过前面的学习,我们已经掌握了如何去建立一张表格,光有表格还不行,还得有数据,接下来我将带领大家一起学习数据(记录)的插入。
首先要创建一张表格:

create table 藏书信息
(
图书编号 char(12) not null,
ISBN编号 varchar(20) not null,
总藏书量 smallint not null,
馆内剩余 smallint not null,
藏书位置 varchar(20) not null,
入库时间 date null
);

1.在插入记录的时候,我们用到的是 insert 语句
2.基本语法:
insert into 表名1(列名1,列名2,列名3…)
values(值1,值2,值3…);


【MySQL】数据处理(数据的插入)

insert into 藏书信息(图书编号,ISBN编号,总藏书量,馆内剩余,藏书位置,入库时间)
values("tp7040273144","9787121201478","30","30","a-1-1","2015/06/10");

//通常我们再添加记录时不会只添加一条,这就涉及到了多条记录的的插入,这时只需紧跟在values关键字后面连续插入,用逗号隔开即可。

insert into 藏书信息(图书编号,ISBN编号,总藏书量,馆内剩余,藏书位置,入库时间)
values("tp7040273144","9787121201478","30","30","a-1-1","2015/06/10"),
("tp7040281286","9787040393293","20","20","a-1-1","2015/09/12"),
("tp7302187363","9787302187363","30","30","a-1-1","2014/10/26"),
("tp7040302363","9787040302363","30","30","a-1-1","2015/09/17"),
("tp7115217806","9787115217806","20","20","a-1-1","2015/09/17"),
("tp7115189579","9787115374035","20","20","a-1-1","2015/05/18"),
("tp7121052347","9787121052347","20","20","a-1-1","2014/09/12"),
("tp7111229827","9787111220827","20","20","a-1-1","2014/05/18");

特别注意的是
1.后面列名须跟表中的字段名称和顺序一一对应,值的输入也须如此,否则系统会报错

mysql> insert into 藏书信息(图书编号,ISBN编号,总藏书量,馆内剩余,藏书位置,入库时间)
values("tp7040273144","9787121201478","30","30","2015/06/10","a-1-1");
1292 - Incorrect date value: 'a-1-1' for column '入库时间' at row 1

2.插入的数据必须符合表格的内部属性

【MySQL】数据处理(数据的插入)_整型


这里图书编号插入的记录长度超过制表时定义的长度(还有一些在空值上、字符串、整型数据的插入需要注意)

mysql> insert into 藏书信息(图书编号,ISBN编号,总藏书量,馆内剩余,藏书位置,入库时间)
values("tp704027314489","9787121201478","30","30","","2015/06/10");
1406 - Data too long for column '图书编号' at row 1
表间数据的添加

首先我们创建了新表 图书_total
然后再原有的数据基础上进行数据的“移植”

mysql>  insert into  图书_total
select 出版社.出版社名称,sum(藏书信息.总藏书量),sum(藏书信息.总藏书量*图书信息.价格)
from 藏书信息,图书信息,出版社
where 藏书信息.ISBN编号=图书信息.ISBN编号 //where添加查找信息的条件
and 图书信息.出版社=出版社.出版社ID //and并列 与前一个条件同等地位
group by 出版社.出版社名称; //group by 按照指定列名排序

Query OK, 3 rows affected (0.00 sec)
Records: 3 Duplicates: 0 Warnings: 0

mysql> select*from 图书_total;
+----------------+------+------+
| 出版社 | 数量 | 金额 |
+----------------+------+------+
| 高等教育出版社 | 40 | 1300 |
| 人民邮电出版社 | 20 | 580 |
| 电子工业出版社 | 20 | 580 |
+----------------+------+------+
3 rows in set (0.08 sec)


上一篇: 【MySQL】连接(Join)以及 求交集和差集 下一篇: 【MySQL】多表连接