Mysql多种方式插入数据
发布时间: 2024-04-30 15:49:25 阅读量: 89 订阅数: 98
MYSQL 导入数据的几种不同
![MySQL安装配置与使用教程](https://img-blog.csdnimg.cn/3fc9aa629d7545c5a3fe91ac86bcd0f3.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAU29sb1ZlcnNpb24=,size_20,color_FFFFFF,t_70,g_se,x_16)
# 1. MySQL数据插入概述**
MySQL数据插入是将数据存储到MySQL数据库中的基本操作。通过插入操作,我们可以向表中添加新行,从而扩展数据库中的数据。MySQL提供了多种方式来插入数据,包括使用SQL语句、API和ORM框架。在本章中,我们将概述MySQL数据插入的各种方法,并讨论每种方法的优点和缺点。
# 2. 使用SQL语句插入数据
### 2.1 INSERT语句的基本语法
`INSERT` 语句用于向表中插入新行。其基本语法如下:
```sql
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...)
```
其中:
- `table_name` 是要插入数据的表名。
- `column1`, `column2`, ... 是要插入数据的列名。
- `value1`, `value2`, ... 是要插入数据的列值。
例如,向 `users` 表中插入一行数据:
```sql
INSERT INTO users (name, email, age)
VALUES ('John Doe', 'john.doe@example.com', 30)
```
### 2.2 INSERT INTO ... SELECT ...
`INSERT INTO ... SELECT ...` 语句允许从另一个表或查询中选择数据并将其插入到目标表中。其语法如下:
```sql
INSERT INTO table_name (column1, column2, ...)
SELECT column1, column2, ...
FROM other_table
WHERE condition
```
其中:
- `table_name` 是要插入数据的表名。
- `column1`, `column2`, ... 是要插入数据的列名。
- `other_table` 是要从中选择数据的表名或查询。
- `condition` 是可选的 WHERE 子句,用于过滤要选择的数据。
例如,从 `orders` 表中选择订单总额大于 100 美元的订单,并将其插入到 `high_value_orders` 表中:
```sql
INSERT INTO high_value_orders (order_id, customer_id, order_date, total_amount)
SELECT order_id, customer_id, order_date, total_amount
FROM orders
WHERE total_amount > 100
```
### 2.3 INSERT ... ON DUPLICATE KEY UPDATE ...
`INSERT ... ON DUPLICATE KEY UPDATE ...` 语句允许在插入新行时更新现有行。其语法如下:
```sql
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...)
ON DUPLICATE KEY UPDATE column1 = value1, column2 = value2, ...
```
其中:
- `table_name` 是要插入数据的表名。
- `column1`, `column2`, ... 是要插入数据的列名。
- `value1`, `value2`, ... 是要插入数据的列值。
- `ON DUPLICATE KEY UPDATE` 子句指定在插入新行时要更新的列和值。
例如,向 `users` 表中插入一行数据,如果该行已存在,则更新 `email` 列:
```sql
INSERT INTO users (name, email, age)
VALUES ('John Doe', 'john.doe@example.com', 30)
ON DUPLICATE KEY UPDATE email = 'john.doe@example.net'
```
# 3. 使用API插入数据
### 3.1 MySQL Connector/Python
MySQL Connector/Python是MySQL官方提供的Python客户端库,它提供了与MySQL数据库交互的简单易用的接口。
#### 3.1.1 安装和导入
```python
pip install mysql-connector-python
import mysql.connector
```
#### 3.1.2 建立连接
```python
# 建立连接
connection = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="mydb"
)
# 创建游标
cursor = connection.cursor()
```
#### 3.1.3 使用execute()方法插入数据
```python
# 使用execute()方法插入数据
query = "INSERT INTO users (name, email) VALUES (%s, %s)"
va
```
0
0