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表中。