sql中insert的用法(一)

  • 格式:docx
  • 大小:11.94 KB
  • 文档页数:6

sql中insert的用法(一)

SQL中INSERT的用法详解

1. INSERT INTO语句

• 使用INSERT INTO语句可以向表中插入一条或多条记录。

• 语法: INSERT INTO 表名 (列1, 列2, 列3, ...)

VALUES (值1, 值2, 值3, ...);

• 示例:

INSERT INTO students (name, age, gender) VALUES ('John', 20, 'Male');

2. 插入多条记录

• 使用INSERT INTO语句可以同时插入多条记录。

• 语法:

INSERT INTO 表名 (列1, 列2, 列3, ...)

VALUES (值1, 值2, 值3, ...),

(值4, 值5, 值6, ...),

...

(值n, 值n+1, 值n+2, ...); • 示例:

INSERT INTO students (name, age, gender)

VALUES ('John', 20, 'Male'), ('Emily', 22, 'Female'), ('Michael', 19, 'Male');

3. 插入默认值

• 使用DEFAULT关键字可以插入默认值。

• 示例:

INSERT INTO students (name, age, gender, city)

VALUES ('Jessica', 21, 'Female', DEFAULT);

4. 插入查询结果

• 可以使用INSERT INTO语句插入另一个查询的结果。

• 语法:

INSERT INTO 表名 (列1, 列2, 列3, ...)

SELECT 列1, 列2, 列3, ...

FROM 另一个表

WHERE 条件;

• 示例:

INSERT INTO employees (name, age, department)

SELECT name, age, department FROM temp_employees

WHERE age > 25;

5. 插入子查询结果

• 可以使用子查询的结果来作为INSERT INTO语句的值。

• 示例:

INSERT INTO employees (name, age, department)

VALUES ((SELECT name FROM temp_employees WHERE id = 1),

(SELECT age FROM temp_employees WHERE id =

1),

'Sales');

6. 插入时忽略重复记录

• 使用INSERT IGNORE语句可以在插入时忽略已存在的重复记录。

• 语法:

INSERT IGNORE INTO 表名 (列1, 列2, 列3, ...)

VALUES (值1, 值2, 值3, ...);

• 示例: INSERT IGNORE INTO students (id, name, age)

VALUES (1, 'John', 20);

7. 插入时替换重复记录

• 使用REPLACE INTO语句可以在插入时替换已存在的重复记录。

• 语法:

REPLACE INTO 表名 (列1, 列2, 列3, ...)

VALUES (值1, 值2, 值3, ...);

• 示例:

REPLACE INTO students (id, name, age)

VALUES (1, 'John', 21);

这些是INSERT INTO语句的一些常见用法,你可以根据不同的需求选择合适的方式来插入数据到SQL表中。

8. 插入其他表的部分数据

• 可以使用INSERT INTO语句插入其他表的部分数据。

• 语法:

INSERT INTO 表名 (列1, 列2, 列3, ...)

SELECT 列1, 列2, 列3, ...

FROM 其他表

WHERE 条件; • 示例:

INSERT INTO students (name, age)

SELECT name, age

FROM temp_students

WHERE gender = 'Female';

9. 插入当前日期和时间

• 可以使用函数NOW()插入当前日期和时间。

• 示例:

INSERT INTO orders (order_date)

VALUES (NOW());

10. 插入自增主键的值

• 如果表的主键是自增的,可以使用NULL占位符插入自增主键的值。

• 示例:

INSERT INTO students (id, name, age)

VALUES (NULL, 'Emily', 22);

11. 插入指定的列

• 可以只插入指定的列,其他列会自动设置为默认值或NULL。

• 语法: INSERT INTO 表名 (列1, 列2, 列3, ...)

VALUES (值1, 值2, 值3, ...);

• 示例:

INSERT INTO students (name, age)

VALUES ('Michael', 19);

12. 插入特定的行数

• 可以使用LIMIT关键字插入特定的行数。

• 语法:

INSERT INTO 表名 (列1, 列2, 列3, ...)

SELECT 列1, 列2, 列3, ...

FROM 其他表

WHERE 条件

LIMIT 行数;

• 示例:

INSERT INTO students (name, age)

SELECT name, age

FROM temp_students

WHERE gender = 'Male'

LIMIT 5;

这些是关于SQL中INSERT的更多用法,通过灵活运用这些技巧,你可以更方便地插入数据到SQL表中。