DB2 基本操作练习 关系型数据库

python连接db2的官方库ibm_db的api IBM_DBAPI 文档摘要 该文档详细介绍了 IBM_DBAPI 的核心功能和使用方法。主要内容包括: 连接管理:提供 connect/pconnect 建立连接,active 检查状态,close 关闭连接,以及错误处理函数 conn_error/conn_errormsg。 事务控制:包含 commit/rollback 事务操作,以及 autocommit 自动提交设置。 SQL执行:支持 exec_immediate 直接执行,prepare 预处理,execute 执行语句,execute_ma 阅读详情

 

  

 

-- 查询 USER 下所有数据

select *from SQLJ.USER;

-- USER中插入数据

insert into SQLJ.USER(name, age, sex) values('005', 21, '1');

insert into SQLJ.USER(name, age, sex) values('006', 22, '0');

insert into SQLJ.USER(name, age, sex) values('007', 23, '1');

insert into SQLJ.USER(name, age, sex) values('008', 24, '0');

 

-- 删除BOOK表 【好像不适用,下面再学习】

DROP TABLE SQLJ.BOOK;

 

-- 创建BOOK   book 小写自动转大写

create table SQLJ.book (

    id Integer not null,

    name varchar(12),

    userId Integer,

    primary key (id)

);

 

-- 给 book添加外键

alter table SQLJ.book add foreign key(userId) references SQLJ.USER;

 

-- 查看book表数据

select *from book;

 

-- 查看表结构 【尝试未成功,待研究】

describe table SQLJ.USER;

describe table SQLJ.BOOK;

 

 

-- 给book添加两条数据 

-- 添加书本id为1,名称为语文,外键userId为1 ,由于关联表user中无主键为1的记录,所以该条插入失败, SQLCODE=503

insert into SQLJ.book(id, name, userId) values(1, '语文', 1);

 

select *from SQLJ.USER;

-- 下面插入正常的语句

insert into SQLJ.book(id, name, userId) values(1, '语文', 5);

insert into SQLJ.book(id, name, userId) values(2, '语文', 6);

insert into SQLJ.book(id, name, userId) values(3, '语文', 7);

insert into SQLJ.book(id, name, userId) values(4, '语文', 8);

 

-- 简单查询

 

-- 查询name 为001的user

select *from SQLJ.USER where name='001';

-- or 运算符 查询name为001 或者 004的user

select *from SQLJ.USER where name='001' or name='004';

-- and 运算符 查询name为 001 和 004 (这个是没有的)

select *from SQLJ.USER where name='001' and name='004';

-- 查询 age在22 到24 之间的user

select *from SQLJ.USER where age > 22 and age <24;

-- bettwen and 查询年龄在22 到 24 之间的

select *from SQLJ.USER where age between 22 and 24;

-- 查找性别为 0 的user

select *from SQLJ.USER where sex='0';

-- 删除一条记录 删除name 为007的user

delete  from SQLJ.USER where name='007';

 

-- 修改一条记录 USER 修改ID为10的name(006)为 (javaboy)

update SQLJ.USER set name = 'javaboy' where id =10;

-- 给每一个User 加一岁年龄

update SQLJ.USER set age = age + 1;

 

--  查询指定字段 并以别名显示 查询

select name as 姓名, sex as 性别 from SQLJ.USER;

-- 使用表的别名进行查询

select u.name as 姓名 from SQLJ.USER u;

-- 使用 distinct 查询sex种类

-- 其原理为 排序并去重

-- 另外可以参考group by ,我们一般通过group by 进行

-- 分组以后取每组中的一个就可以实现distinct方式 (麻烦)

select distinct(sex) from SQLJ.USER;

-- 条件查询  [< > = <= >= != <>]

 

-- 找出年龄小于22的user

select *from SQLJ.USER where age <= 22;

-- 查询年龄不等于25的user

select *from SQLJ.USER where age <> 25;

-- 查询年龄在22 到 23之间的user

select *from SQLJ.USER where age>=22 and age<= 23;

 

-- 模糊查询

-- like 、 rlike、 %、  _ 、 in 、  not in 、  between and 、 is null 、 not null

select *from SQLJ.USER where name like '%4';

select *from SQLJ.User where name like '00_';   -- _ 占位一个字符

select *from SQLJ.User where name like '0_';

select *from SQLJ.USER where name in ('004', '001', '003', '111')

select *from SQLJ.USER where name not in ('004', '001', '003', '111')

select *from SQLJ.USER where name between '004' and '006';

select *from SQLJ.USER where name is null;

select *from SQLJ.USER where name is not null;

 

 

-- 聚合查询

-- count 计算有多少个user

select count(name) 人数 from SQLJ.USER;

 

-- 统计男女人数分别有多少

select case when(sex=0) then '女' when(sex=1) then '男' else 'xx' end as 性别,  count(sex) 数量 from SQLJ.USER group by sex;

 

-- 找出年龄最大的user

select *from SQLJ.USER

    where age in (

        select max(age) 最大值 from SQLJ.USER

    );

-- 找出年龄最小的user

select  min(age) 最小值 from SQLJ.USER;

-- 计算平均年龄

select avg(age) 平均年龄 from SQLJ.USER;

-- 关联查询

-- 查询

select *from SQLJ.USER;

select *from SQLJ.BOOK;

 

 

select *from SQLJ.USER u join SQLJ.BOOK b on u.id=b.userId;

select *from SQLJ.USER u inner join SQLJ.BOOK b on u.id=b.userId;

select *from SQLJ.USER u left join SQLJ.BOOK b on u.id=b.userId;

select *from SQLJ.USER u right join SQLJ.BOOK b on u.id=b.userId;

 

-- 排序

select *from SQLJ.USER order by age desc;

select *from SQLJ.USER order by age asc;

 

-- 删除、更改列名无 ,通常通过删表重建或视图完成

 

 

 

1.导入

b2 “import from xxx.del of del modified by codel, codepage=1208 inSert into QHSLCP.STORE_INFO

2.导出

export to xxxx.del of del modified by codel! nochardel decplusblank striplzeros codepage=1386;

 

执行sql脚本:db2 -tvf xxxxx.sql

 

 

 

未完后续。。。。。

 

Python(31):Python3.7操作DB2数据库工具类 阅读详情

相关推荐

DB2数据库回滚方法及回滚实例

1、还原数据库db2 restore db dc from /db2_backup/dc taken at 20121102142900 with 1 buffers buffer 2562、回滚数据库,1&gt;和2&gt;只执行其一。1&gt;、作用是将数据库回滚到最新日志时间db2 rollforward db dc to end of logs and stop2&gt;、作用将数据库...

qq_42223218的博客 1万+

数据库面试题

INSTEAD OF 触发器能够在更新视图时捕捉修改操作,并将这些修改应用到底层的表上,以实现视图的更新。3、设t1,t2,t3是如下三个事务,其中r为数据库中某个项,设r的初始值为0,t1:r:=r+4 , t2:r:=r*4 ,t3:r:=4 若允许这三个事务并行执行,试列出所有的可能结果。包含计算列或表达式的视图:如果视图中包含了计算列或者表达式,如 r1 + r2,那么这样的视图无法直接更新。包含多个表的视图:一个视图如果涉及到了多个表的连接,那么通常无法直接更新。

weixin_47139678的博客 539

DB2数据库使用技巧与实践

本文还有配套的精品资源,点击获取 简介:DB2是由IBM开发的关系型数据库管理系统,广泛用于要求数据安全性和稳定性的企业级应用。本文档将分享DB2的使用经验和技巧,包括数据库基础、安装配置、SQL语句应用、性能优化、备份恢复、安全管理、故障诊断、高可用性集群配置、监控调优、以及升级与迁移等关键知识点。 1. DB2基础概念及特性 在当今的信息技术世界中,数据...

weixin_34598113的博客 1262

自己整理的学习资料——DB2 V8数据库基础(十八)

3.3.5 WITH表达式(公共表表达式) WITH 公共表表名 AS (SELECT …. AS 公共列名 FROM 表名), 公共表表名1 AS ...

congjiduo1159的博客 193

Electron与node-ibm_db模块:实现DB2数据库连接

Electron(前身为Atom Shell)是由GitHub开发,用于构建跨平台的桌面应用程序。它允许开发者使用Web技术(HTML, CSS, JavaScript)构建用户界面,并且运行在Mac, Windows, Linux等操作系统上。Electron将Chromium和Node.js封装在一个应用中,使得开发人员可以利用Web开发的技术栈来构建原生桌面应用。在数据密集型的应用开发中,数据库操作占据着核心地位。

weixin_30674431的博客 967

IBM DB2数据库证考试题库C2090-611

IBM 认DB2数据库证考试题库C2090-611 两套118题,认真做两遍,可轻松通过考试。

数据库mysql 基本命令

。。。。。= =。。。。 进入mysql: mysql -uroot ; 创建一个数据库: create database [数据库名字]; (注意最后的分号不能漏) 删除一个数据库:drop database [数据库名字]; 查看已有的数据库:show databases; (查看已存在的表类似) 选中一个数据库:use [数据库名字]; 创建表:create table [表名]...

weixin_30562507的博客 198

db2数据库面试问题

用于DB2面试的人使用,介绍DB2的基本知识和SQL语言的用法,谢谢大家指正。

Python通过ibm_db模块进行DB2数据库SQL语句执行及结果返回

执行SQL语句 方法一: 语法: 调用ibm_db.prepare()函数并传递以下参数: 1.从ibm_db.connect()或ibm_db.pconnect()函数返回的有效数据库连接资源; 2.包含SQL语句的字符串,包括需要变量输入的任何列或谓词值的参数标记(?)。该字符串可以包含由XMLQUERY子句包装的XQuery表达式 3.ibm_db.execute()执行SQL语句 im...

weixin_42970378的博客 8895

IBM DB2数据库认证考试题库C2090-614

IBM DB2数据库认证考试题库C2090-614 是属于DB2数据最高一级认证考试,认认真真把题库看上两边通过很轻松。

ptrade从零开始学习量化交易第166期【ptrade量化策略研究参考--三个因子挖掘思路】

三个因子挖掘思路

GJ57017_wx的博客 1245

Python通过ibm_db模块进行DB2数据库连接

- 下载ibm_db模块 具体安装步骤自行百度 然后import ibm_db进行模块导入 连接到DB2数据库 语句 描述 ibm_db.connect() 创建非持久连接 ibm_db.pconnect() 创建持久连接。对于持久连接,Python请求之间的连接保持打开状态,如果后续的Python脚本请求具有相同的凭证集,则允许重用连接 代码示例: # 导入ibm...

weixin_42970378的博客 7222

保姆级教程:用GlobleLand30数据+GTB3.3软件,一步步搞定MSPA景观格局分析

本文提供GlobleLand30数据结合GTB3.3软件进行MSPA景观格局分析的保姆级教程,涵盖数据预处理、软件操作、结果解读全流程,特别针对零基础用户常见问题提供解决方案,助力研究者高效完成景观生态学分析。

weixin_26757925的博客 450

DB2数据库基本介绍

文章目录一、DB2数据库1、简介2、特点二、2.1、2.2、参考文章 一、DB2数据库 百度 1、简介 DB2是IBM一种分布式数据库解决方案。说简单点:DB2就是IBM开发的一种大型关系型数据库平台。它支持多用户或应用程序在同一条SQL 语句中查询不同database甚至不同DBMS中的数据。DB2数据库有如下一些版本:(比如DB2 for Unix,DB2 for Windows,DB2 for AS/400,DB2 for OS/390等)。 DB2是IBM公司开发的关系数据库管理系统,它有多种

一个后端菜鸟的博客 4470

【大二组培训】2017年电子设计大赛H题总结(软件部分)

文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码如下(示例): import numpy as np import pandas as pd import matplotlib.pyplot as plt im

HAIBARA的博客 3020

【考试大纲】中级多媒体应用设计师考试大纲

中级多媒体应用设计师考试大纲

邓邓子的博客 382

DB2数据库

DB2是IBM一种分布式数据库解决方案

每天都要开心呀(#^.^#) 1万+

详解Pytorch求导

本文主要详解Pytorch求导,希望能对学习Pytorch的同学有所帮助。 文章目录 1. pytorch求导问题 2. pytorch三大类求导代码示例 2.1 标量求导 2.2 向量求导&矩阵求导

weixin_43178406的博客 3072

DB2数据库基本操作手册

其中,database is consistent 的值可能是 YES 或者 NO ,会与原来的 db cfg 不一样,这没有关系。查询一张表占用的页数(大小)(NPAGES 表示有效页数,FPAGES 表示总页数,CARD 表示记录数)需要将原来没有归档出来的活动日志也拿过来用,数据库故障可能日志就没有了,那么活动日志的。runstats 之后需要对静态 sql 重新绑定,如 C 写的 sql,程序包。分析快照中执行总时间长的语句,根据 2 个文件的结果进行计算,得到最正确的结果。

Auspicious航的博客 3349

YOLOv11涨点改进| TGRS 2026 | 独家创新首发、特征融合改进篇| 引入STSAM协同时空注意力融合模块,发论文热点创新,注意力能够互相引导强化边界和结构细节,增强目标检测、图像分割涨点

🔥本文提出了一种改进YOLOv11网络模型的STSAM协同时空注意力融合模块,用于提升高分辨率遥感变化检测的精度。STSAM通过并行处理全局跨时相注意力和局部坐标注意力,能有效聚焦真实变化目标,强化边界和结构细节。该模块包含两个分支:Cross-Attention分支通过时间嵌入增强双时相特征的时间差异,CoordAtt分支则强化局部结构细节。实验表明,STSAM能显著提升变化检测性能,同时保持训练稳定性。文章详细介绍了模块结构、原理、优势,并提供了完整的核心代码实现和配置方法,包括三种改进方案。

Ai缝合怪、助力小伙伴高效发论文 216

1 四种防反接电路——multisim仿真

摘要:防反接电路可防止电源反接损坏器件,主要有四种方案:1)二极管串联(低成本,适用小电流);2)整流桥(无极性输入,但效率低);3)保险丝+稳压管(低损耗但需更换);4)MOS管方案(大电流、高效率,主流选择)。选型需考虑电流、压降和成本,MOS管因其低导通电阻(毫欧级)成为大电流应用的首选。口诀:"小电流二极管,大电流用MOS"可快速指导设计。

XU157303764的博客 1565

如何彻底删除DB2中的Database以及DB2文件配置

如何彻底删除DB2中的Database以及DB2文件配置 Posted by MIB Admin on 二 - 26 - 2008 暂无评论 615 views 首先我不是专门做DB2的,只是工作中遇到了一些问题并且X文个DB2根本无法跟它沟通,所以对删除DB这个新手问题做一些个人解释。 背景操作(类似) 1、在“配置助手”中选择数据库A点击右键,选择“除去数据库” 2、

Jack-Win 1万+

超级全的PCB LAYOUT高速信号走线指南——简化应用版

在PCB Layout中,几乎涵盖了所有的高速信号走线指南。包括了TF/SD、HDMI、LVDS、DVP、eDP、MIPI、USB2.0、USB3.0、MAC、BT.1120、PCIE高速信号等等。此版本为简化版。

bhxc809751502的博客 8546

db2数据库的启动和关闭

分类: 在一个DB2 实例下,可以创建多个database(具体每个实例下可以创建多少个database,可以通过DB2 GET DBM CFG查看.一旦建立了数据库之后,就可以对其进行操作,然而,在向数据库中建立对象或访问数据库中的对象(数据)之前,必须先知道如何启动和停止数据库. 本小节简单介绍了db2 database通过command line的方式如何实现启动和停止

a_as31243qadfg的专栏 2819

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

DB2数据库专用python库--ibm_db

对 IBM Db2 for LUW 和 IBM Db2 for z/OS 的 Python 支持Python、适用于 IBM Db2 for LUW 和 IBM Db2 for z/OS 的 DB-API 组件提供用于连接到 IBM Db2 for LUW 和 IBM Db2 for z/OS 的 Python 接口ibm_db是Python连接IBM DB2数据库的核心驱动包,支持本地及远程数据库操作。

weixin_44733966的博客 1216

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

DB2 connect to database连接数据报错

今天应用报错,尝试重启db2服务,报错了: [db2inst1@localhost db2dump]$ db2stop03/16/2012 14:13:04 0 0 SQL1025N The ...

cuandui4473的博客 2979

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

上一篇: Caused by: j ava. net. Comnec tException: Comnection timed out: comnect 连接超时
下一篇: XSS前端简单防范
元善
博客等级 码龄9年 12粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值