一、插入数据
插入数据是数据库基础操作之一,而MySQL插入操作的语法如下:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
其中,table_name
是要插入数据的表名,column1, column2, column3, ...
指定要插入数据的列名,value1, value2, value3, ...
指定要插入的值。
以下是一个插入数据的例子:
INSERT INTO Customers (CustomerName, ContactName, Country)
VALUES ('John Doe', 'John Doe Inc.', 'USA');
该语句会向Customers
表中插入一条数据,包含CustomerName
、ContactName
和Country
三列数据,对应的值分别为'John Doe'
、'John Doe Inc.'
和'USA'
。
二、更新数据
更新数据是数据库操作中非常常见的操作之一,MySQL更新操作的语法如下:
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
其中,table_name
是要更新数据的表名,column1 = value1, column2 = value2, ...
指定要更新的列和对应的值,WHERE condition
指定要更新的行,如果不加该条件,则会更新整个表。
以下是一个更新数据的例子:
UPDATE Customers
SET ContactName = 'Jane Doe'
WHERE CustomerID = 1;
该语句会将Customers
表中CustomerID
为1的行的ContactName
列的值更新为'Jane Doe'
。
三、插入或更新数据
有时候需要插入一条数据,如果数据已经存在,则进行更新操作。MySQL提供了INSERT INTO ... ON DUPLICATE KEY UPDATE
语法来实现这一功能。
语法如下:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...)
ON DUPLICATE KEY UPDATE column1 = value1, column2 = value2, ...;
如果要插入的数据在表中已经存在,则更新对应列的值。
以下是一个例子:
INSERT INTO Customers (CustomerID, CustomerName, ContactName, Country)
VALUES (1, 'John Doe', 'John Doe Inc.', 'USA')
ON DUPLICATE KEY UPDATE ContactName = 'Jane Doe';
如果表中已经存在CustomerID
为1的行,则会将该行ContactName
列的值更新为'Jane Doe'
。如果不存在,则会插入一条数据,包含CustomerID
、CustomerName
、ContactName
和Country
四列数据,对应的值分别为1
、'John Doe'
、'John Doe Inc.'
和'USA'
。
四、批量插入数据
如果需要插入大量数据,一条一条地插入是非常低效的。MySQL提供了INSERT INTO ... VALUES (),(),()...
语法来实现批量插入。
语法如下:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...),
(value1, value2, value3, ...),
(value1, value2, value3, ...),
...
可以一次性插入多个数据,加快插入效率。
以下是一个例子:
INSERT INTO Customers (CustomerName, ContactName, Country)
VALUES ('John Doe', 'John Doe Inc.', 'USA'),
('Jane Doe', 'Jane Doe Inc.', 'USA'),
('James Smith', 'James Smith Inc.', 'UK');
该语句会向Customers
表中插入三条数据,分别为'John Doe'
、'Jane Doe'
和'James Smith'
。