Oracle数据库单行操作SQL语句示例

版权申诉
0 下载量 61 浏览量 更新于2024-10-27 收藏 989B RAR 举报
Oracle数据库是全球广泛使用的数据库系统之一,由甲骨文公司(Oracle Corporation)开发。它以其高性能、高可靠性和高安全性而著称,在金融、电信、政府等多个行业中都有应用。SQL(Structured Query Language,结构化查询语言)是用于存储、检索和操作关系数据库的标准编程语言,通过使用SQL语句,用户可以执行各种数据库操作。 对于Oracle数据库而言,单行操作是指在表中对某一条具体记录进行操作的过程,主要包括插入(INSERT)、更新(UPDATE)和删除(DELETE)操作。 1. 插入(INSERT)操作: 在Oracle数据库中,插入操作是向表中添加新数据行的过程。基本的INSERT语句语法如下: ```sql INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...); ``` 例如,向员工表 EMP 中插入一条新记录可以写成: ```sql INSERT INTO EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) VALUES (7369, 'SMITH', 'CLERK', 7902, TO_DATE('17-DEC-1980', 'DD-MON-YYYY'), 800, NULL, 20); ``` 这里,我们为员工表 EMP 插入了一个新的员工记录。 2. 更新(UPDATE)操作: 更新操作用于修改表中现有记录的数据。UPDATE语句的基本语法如下: ```sql UPDATE 表名 SET 列1 = 值1, 列2 = 值2, ... [WHERE 条件]; ``` 如果不指定WHERE子句,表中的所有记录都会被更新。例如,修改员工表 EMP 中员工的薪水可以写成: ```sql UPDATE EMP SET SAL = SAL + 100 WHERE EMPNO = 7369; ``` 这将增加员工号为7369的员工的薪水100。 3. 删除(DELETE)操作: 删除操作用于从表中移除数据行。DELETE语句的基本语法如下: ```sql DELETE FROM 表名 [WHERE 条件]; ``` 同样,如果不指定WHERE子句,表中的所有记录都会被删除。例如,删除员工号为7499的员工记录可以写成: ```sql DELETE FROM EMP WHERE EMPNO = 7499; ``` 这将删除员工号为7499的记录。 以上示例均来自Oracle数据库操作的单行操作语句,是Oracle数据库管理与操作中的基础知识点。对于初学者来说,理解这些基本的SQL操作语句至关重要,它们是执行数据库操作、数据更新和数据维护等工作的基石。 在压缩文件select.sql中,可能包含了一系列用于演示Oracle数据库单行操作的SQL语句示例。通过运行这些示例,用户可以进一步加深对单行操作的理解,并在实际数据库环境中进行练习和验证。学习这些基本的单行操作语句,对于数据库管理人员和数据分析师来说,是必备的基础技能,它有助于他们更好地管理Oracle数据库,维护数据的完整性和准确性。

import pymysql import time while True: # 连接源数据库 src_conn = pymysql.connect(host='10.43.64.110', port=3306, user='selectuser', password='Xy@123456', database='messpdb') print("连接源数据库成功") # 连接目标数据库 dst_conn = pymysql.connect(host='10.43.144.231', port=3306, user='root', password='123456', database='czjsc') print("连接目标数据库成功") # 创建源游标对象 src_cursor = src_conn.cursor() # 创建目标游标对象 dst_cursor = dst_conn.cursor() # 编写SQL查询语句 #各牌号烟丝总重量 sql1 = 'select mat_id,material_name ,ROUND (sum(quantity) ,1 ) weight ,unit_id from messpdb.silk_stock a left join messpdb.maindata_material b on a.mat_id =b.ctrl where mat_id >0 group by mat_id,material_name, unit_id' sql2 = "select ROUND (sum(quantity) ,1 ) weight ,unit_id from messpdb.silk_stock a where mat_id >0 group by unit_id" sql3 = "select aa.ids,ROUND (aa.c1/bb.c2 ,3 )*100 from (select 1 as ids,count(box_code) c1 from messpdb.silk_stock a where mat_id >0 group by ids) aa, (select 1 as ids,count(box_code) c2 from messpdb.silk_stock a group by ids)bb where aa.ids=bb.ids" # 执行SQL查询语句 src_cursor.execute(sql1) src_cursor.execute(sql2) src_cursor.execute(sql3) # 获取查询结果 results1 = src_cursor.fetchall() results2 = src_cursor.fetchall() results3 = src_cursor.fetchall() print("查询数据库成功") # 更新数据到目标数据库 for row in results1: mat_id = row[0] material_name = row[1] weight = row[2] unit_id = row[3] # 将数据更新到目标数据库中 update_sql = "update cs_list set material_name=%s, weight=%s, unit_id=%s where mat_id=%s" dst_cursor.execute(update_sql, (material_name, weight, unit_id, mat_id)) print("更新数据成功") # 更新数据到目标数据库 for row in results2: weight = row[0] unit_id = row[1] # 将数据更新到目标数据库中 update_sql = "update cs2_list set weight=%s, unit_id=%s where id=1" dst_cursor.execute(update_sql, (weight, unit_id)) for row in results3: ids = row[0] stock_ratio = row[1] # 将数据更新到目标数据库中 update_sql = "update cs3_list set stock_ratio=%s where id=1" dst_cursor.execute(update_sql, stock_ratio) # 提交事务并关闭连接 dst_conn.commit() dst_cursor.close() src_cursor.close() dst_conn.close() src_conn.close() print("断开数据库连接成功") time.sleep(1) 帮我debug

2023-06-02 上传