本文主要是介绍Inserting a/multiple/hierarchical Row(s)| 插入单/多/分层行 | MySQL,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Inserting a Row
学习如何在表中插入一行
会使用的语句:INSERT INTO
案例
在customer表中插入一行,该表的列及其属性如下:
方式一
输入所有该表中对应的列所赋予的值
INSERT INTO customers
VALUES (default,'June','Zhu',NULL,'15819287702','address','city','CA',DEFAULT)
-- 按照column依次给出要填入的值
-- 建议不要输入确切的值,因为这列不能有重复值,防止重复报错
-- 字符串和日期要带上引号,单引号双引号都可以
方式二
选择部分列,赋值
INSERT INTO customers(first_name,last_name,birth_date,address,city,state)
-- 在表的后面,写出想要插入值的列
-- 这样就不用在使用DEFAULT或者NULL的值了,只需要给上述列提供值
VALUES ('June','Zhu',NULL,'address','city','CA')
这个方式的一个好处是,可以不按照原表的列顺序进行赋值
可以通过改变INSERT INTO后的排序,来输入对应的VALUES后的值
Inserting multiple Rows
案例
以shipper表为例
代码
INSERT INTO shippers (name)
VALUES ('Shipper1'),('shipper2'),('shipper3')
结果
练习
在product表中插入三行
代码
INSERT INTO products (name,quantity_in_stock,unit_price)
VALUES('June' , '5' ,'5.20'),('June2' , '5' ,'5.20'),('June3' , '5' ,'5.20'),('June4' , '5' ,'5.20'),('June5' , '5' ,'5.20')
结果
Inserting hierarchical Rows
如何向多表插入数据
这里将展示如何在子母表中插入对应数据
这里使用到的表包括orders和order_items
比如一个订单会有多个产品,如何保证联动的关系下插入数据
首先了解一下order表有哪些列
了解一下如何获取新记录的id
INSERT INTO orders (customer_id,order_date,status)
VALUES (1,'2023-08-02',1);SELECT LAST_INSERT_ID ()
-- 它能返回 我们插入新行时MYSQL生成的那个id
获取到该id后,我们可以用于插入到子记录表中
查看一下order_items里的列有哪些
编写代码
INSERT INTO orders (customer_id,order_date,status)
VALUES (1,'2023-08-02',1);INSERT INTO order_items ()
VALUES (LAST_INSERT_ID (),1,1,2.95),(LAST_INSERT_ID (),2,1,2.95)
这篇关于Inserting a/multiple/hierarchical Row(s)| 插入单/多/分层行 | MySQL的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!