一、插入數據
插入數據是數據庫基礎操作之一,而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'。
原創文章,作者:FAVAY,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/318030.html
微信掃一掃
支付寶掃一掃