MySQL数据库是当今更流行的关系型数据库之一,它被广泛用于Web应用程序、商业应用系统等。MySQL数据库的特点是可靠性高、稳定性好、维护成本低,因此备受开发者青睐。在MySQL数据库中,一个常见的数据操作是插入表中的数据,本文将介绍如何。
一、创建多个表
在MySQL数据库中创建多个表非常简单,我们使用下面的SQL语句在数据库中创建一些表:
“`
CREATE TABLE user(
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
password VARCHAR(20) NOT NULL,
eml VARCHAR(30),
PRIMARY KEY (id)
);
CREATE TABLE order(
id INT NOT NULL AUTO_INCREMENT,
user_id INT NOT NULL,
amount DECIMAL(10,2),
create_time TIMESTAMP,
PRIMARY KEY (id),
FOREIGN KEY (user_id) REFERENCES user(id)
);
CREATE TABLE product(
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
price DECIMAL(10,2) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE order_item(
order_id INT NOT NULL,
product_id INT NOT NULL,
quantity INT NOT NULL,
PRIMARY KEY (order_id, product_id),
FOREIGN KEY (order_id) REFERENCES order(id),
FOREIGN KEY (product_id) REFERENCES product(id)
);
“`
我们创建了四个表,分别是user、order、product、order_item,其中user表存储用户信息,order表存储订单信息,product表存储产品信息,order_item表存储订单项信息。
二、使用INSERT INTO语句插入数据
在MySQL数据库中,我们使用INSERT INTO语句插入数据,下面是一些例子:
“`
INSERT INTO user (name, password, eml) VALUES (‘Tom’, ‘123456’, ‘tom@qq.com’);
INSERT INTO product (name, price) VALUES (‘iPhone 11’, 6499.00);
INSERT INTO order (user_id, amount, create_time) VALUES (1, 6499.00, ‘2023-11-11 00:00:00’);
“`
这些语句将分别向user表、product表、order表插入一行数据。我们可以在MySQL数据库中查看这些表是否已经插入了数据:
“`
SELECT * FROM user;
SELECT * FROM order;
SELECT * FROM product;
“`
查询结果如下所示:

三、一次插入多个表
有时候,我们需要向多个表中插入数据,这时候我们可以使用事务(Transaction)来保证数据的完整性。在MySQL数据库中,我们使用BEGIN、COMMIT、ROLLBACK等关键词来进行事务控制。
下面是一个例子,我们使用事务向user表、product表、order表插入数据:
“`
BEGIN;
INSERT INTO user (name, password, eml) VALUES (‘Tom’, ‘123456’, ‘tom@qq.com’);
INSERT INTO product (name, price) VALUES (‘iPhone 11’, 6499.00);
INSERT INTO order (user_id, amount, create_time) VALUES (LAST_INSERT_ID(), 6499.00, NOW());
INSERT INTO order_item (order_id, product_id, quantity) VALUES (LAST_INSERT_ID(), LAST_INSERT_ID() – 1, 1);
COMMIT;
“`
这些语句将分别向user表、product表、order表、order_item表插入数据,并且保证了数据的完整性。我们可以在MySQL数据库中查看这些表是否已经插入了数据:
“`
SELECT * FROM user;
SELECT * FROM order;
SELECT * FROM product;
SELECT * FROM order_item;
“`
查询结果如下所示:

我们可以看到,四个表中都已经成功地插入了数据。
一次插入多个表是MySQL数据库中非常常见的操作,我们介绍了如何创建多个表、使用INSERT INTO语句插入数据以及一次插入多个表。在实际应用中,我们需要根据具体情况选择最适合的方法,才能更大程度地提高数据库的效率和性能。
相关问题拓展阅读:
- MySQL数据库如何跨数据库插入数据,我现在要同时向2个库的2个表插入相同记录
- 新手求助怎样向mysql数据库中的数据表批量插入数据
MySQL数据库如何跨数据库插入数据,我现在要同时向2个库的2个表插入相同记录
连接不同的数据库只能使用不同的数据连接。
你再建一个数据连接到另外一个库,执行插入。
你这个必须得指定DB名表名以后才能插入啊,得切换DB啊
新手求助怎样向mysql数据库中的数据表批量插入数据
drop procedure if exists s_card;
delimiter $$
CREATE PROCEDURE s_card()
BEGIN
DECLARE j INT(11);
loop1: WHILE j
insert INTO `tablename`(xxxxxx) values (xxx);
SET j=j+1;
END WHILE loop1;
END$$
delimiter ;
把上面存储过程运行一下,输入 call s_card()可以循环插入1000条数据
如橡改果要指定输入条数可以把数拍或字从外界梁贺判传入
mysql往多个表中插数据库的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于mysql往多个表中插数据库,一次插入多个表,轻松实现MySQL数据库插入,MySQL数据库如何跨数据库插入数据,我现在要同时向2个库的2个表插入相同记录,新手求助怎样向mysql数据库中的数据表批量插入数据的信息别忘了在本站进行查找喔。