INSERT INTO SELECT 实例

需求:

     把一个表中特定的2列查询出来,然后插入到另外一张表,插到另一张表的其他列的值是固定值。

要插入的表,插入全部内容时是这样的:

INSERT INTO `mapping_record` (id,mapping_record.type,sim_id,wx_id,created_time,updated_time,is_available) 
VALUES (uuid(),'940ceb86d7c444bd81799edfd4a9beb3','00013543','00013543',1511237080130,NULL,'1')

现在要把sim_id,wx_id从其他表中查询出来,然后其他列按上面的定值,再插入到mapping_record表,sql大致如下:

INSERT INTO `mapping_record` (id,mapping_record.type,sim_id,wx_id,created_time,updated_time,is_available) 
SELECT uuid(),'59e5cb4b0c824adea8adb2a87870875d',soe.fd_keyword AS sim_id,mapping.fd_wid AS wx_id,1511237080130,NULL,'1'
FROM wechat_org_mapping  mapping,sys_org_element soe
where  ...

因为sim_id,wx_id是从其他表中查询出来,连接查询比较复杂,这里就不贴了。但是注意,只要把特殊的列查询出来,指定别名就可以了。


 以下2中从一个表复制插入到另一个表简单的情况

1、如果两个表所有的列都相同,把table1的记录复制到table2:

INSERT INTO table2
SELECT * FROM table1;

2、只复制某一列:

INSERT INTO table2
(column_name(s))
SELECT column_name(s)
FROM table1;

我用的是mysql数据库,Oracle也支持这种写法。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Oracle插入数据语句格式为: INSERT INTO 表名 (列1, 列2, 列3, ...) VALUES (值1, 值2, 值3, ...); 其中,表名为要插入数据的表名,列1、列2、列3等为要插入数据的列名,值1、值2、值3等为要插入的数据值。 例如,要向名为“students”的表中插入一条数据,该数据包含学生的姓名、年龄和性别,可以使用以下语句: INSERT INTO students (name, age, gender) VALUES ('张三', 18, '男'); ### 回答2: Oracle是一款强大的关系型数据库管理软件,它是企业级数据库管理系统中不可或缺的一部分。在Oracle中,插入数据是一项非常基础和重要的操作。使用INSERT INTO VALUES语句可以将数据插入到表中。 INSERT INTO VALUES是插入数据的一种方式,它的语法如下: INSERT INTO table_name (column1, column2, ..., columnN) VALUES (value1, value2, ..., valueN); 其中,table_name是需要插入数据的表名;column1, column2, ..., columnN是表中需要插入的列名;value1, value2, ..., valueN是插入的数据值。 下面是一些INSERT INTO VALUES语句的实例: -- 插入一条新数据 INSERT INTO employee (id, name, age, gender) VALUES (1, 'Tom', 23, 'M'); -- 插入多条数据 INSERT INTO employee (id, name, age, gender) VALUES (2, 'Lily', 25, 'F'), (3, 'Jack', 26, 'M'), (4, 'Rose', 24, 'F'); 在实际使用中,还可以使用INSERT INTO SELECT语句插入通过查询得到的数据。 总之,INSERT INTO VALUES是Oracle中常用的插入数据的方式之一,通过它可以方便地将数据插入到表中。在使用时需要注意语法和数据类型等方面的问题,以确保数据插入的正确性和有效性。 ### 回答3: Oracle数据库中的INSERT INTO VALUES语句用于向表中插入新的数据行。它的语法如下: INSERT INTO table_name (column1, column2, column3, …) VALUES (value1, value2, value3, …); 其中,table_name 表示要插入数据的表名;column1, column2, column3, … 表示要插入数据的列名;value1, value2, value3, … 表示要插入数据的值。 举个例子: INSERT INTO employees (employee_id, first_name, last_name, department) VALUES (1001, 'John', 'Smith', 'IT'); 上面的语句插入了一条新的数据行到employees表中,该行的employee_id列的值为1001, first_name列的值为'John',last_name列的值为'Smith',department列的值为'IT'。 需要注意的是,插入数据时必须保证相应的列名和值的个数、数据类型、顺序等对应正确,否则会出现错误。 此外,还可以使用INSERT INTO VALUES语句插入自增长主键列的值,Oracle数据库中可以使用序列和触发器来实现,具体方法可以参考Oracle官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值