admin 管理员组

文章数量: 887044


2023年12月18日发(作者:类似于switch的语句)

insert into语句用法

Insert Into语句是SQL语言中最常用的语句之一,它用于向数据库中插入新的数据。在本文中,我们将详细介绍Insert Into语句的用法,并列举10个Insert Into语句的实例。

1. 插入单行数据

Insert Into语句最基本的用法是插入单行数据。下面是一个示例:

```

INSERT INTO customers (name, email, phone) VALUES ('John

Smith','****************','555-1234');

```

这个语句将在customers表中插入一行数据,包括name、email和phone三个字段的值。

2. 插入多行数据

如果需要一次性插入多行数据,可以使用Insert Into语句的扩展语法。下面是一个示例:

```

INSERT INTO customers (name, email, phone) VALUES ('John

Smith', '****************','555-1234'), ('Jane Doe',

'****************','555-5678'), ('Bob Johnson',

'***************','555-9012');

```

这个语句将在customers表中插入三行数据,每行数据包括name、email和phone三个字段的值。

3. 插入默认值

如果某个字段的值可以使用默认值,可以在Insert Into语句中省略该字段的值。下面是一个示例:

```

INSERT INTO customers (name, email) VALUES ('John Smith',

'****************');

```

这个语句将在customers表中插入一行数据,包括name和email两个字段的值。phone字段的值将使用默认值。

4. 插入查询结果

Insert Into语句还可以插入查询结果。下面是一个示例:

```

INSERT INTO new_customers (name, email, phone) SELECT

name, email, phone FROM old_customers WHERE status =

'active';

```

这个语句将从old_customers表中选择status为active的行,并将name、email和phone字段的值插入到new_customers表中。

5. 插入自增长值

如果某个字段需要自动生成唯一的值,可以使用自增长字段。下面是一个示例:

```

CREATE TABLE orders (id INT AUTO_INCREMENT PRIMARY

KEY, customer_id INT, amount DECIMAL(10,2));

```

这个语句创建了一个orders表,其中id字段是自增长字段。下面是一个插入数据的示例:

```

INSERT INTO orders (customer_id, amount) VALUES (1,

100.00);

```

这个语句将在orders表中插入一行数据,customer_id字段的值为1,amount字段的值为100.00,id字段的值将自动生成。

6. 插入当前时间

如果需要在某个字段中插入当前时间,可以使用NOW()函数。下面是一个示例:

```

INSERT INTO orders (customer_id, amount, date) VALUES (1,

100.00, NOW());

```

这个语句将在orders表中插入一行数据,customer_id字段的值为1,amount字段的值为100.00,date字段的值为当前时间。

7. 插入NULL值

如果某个字段的值为NULL,可以在Insert Into语句中使用NULL关键字。下面是一个示例:

```

INSERT INTO customers (name, email, phone) VALUES ('John

Smith','****************',NULL);

```

这个语句将在customers表中插入一行数据,包括name和email两个字段的值,phone字段的值为NULL。

8. 插入条件值

如果需要根据某个条件插入不同的值,可以使用CASE语句。下面是一个示例:

```

INSERT INTO orders (customer_id, amount, status) VALUES (1,

100.00, CASE WHEN amount > 50 THEN 'approved' ELSE

'pending' END);

```

这个语句将在orders表中插入一行数据,customer_id字段的值为1,amount字段的值为100.00,status字段的值根据amount字段的值自动确定。

9. 插入子查询结果

如果需要插入子查询的结果,可以使用子查询语句。下面是一个示例:

```

INSERT INTO new_customers (name, email, phone) SELECT

name, email, phone FROM old_customers WHERE status =

'active' AND phone IS NOT NULL;

```

这个语句将从old_customers表中选择status为active且phone不为NULL的行,并将name、email和phone字段的值插入到new_customers表中。

10. 插入多个表的数据

如果需要同时向多个表中插入数据,可以使用Insert Into语句的扩展语法。下面是一个示例:

```

INSERT INTO customers (name, email, phone) VALUES ('John

Smith', '****************','555-1234'), ('Jane Doe',

'****************','555-5678'), ('Bob Johnson',

'***************','555-9012');

INSERT INTO orders (customer_id, amount) VALUES (1,

100.00), (2, 200.00), (3, 300.00);

```

这个语句将在customers表和orders表中分别插入三行数据。在Insert Into语句中使用逗号分隔多个值,可以同时插入多个数据。


本文标签: 插入 语句 数据 字段 表中