sql每日问题

JDBC是Java操作数据库的标准接口,它定义了与数据库交互的各种方法。通过Driver和DriverManager建立连接,使用Connection、PreparedStatement和ResultSet处理SQL。JDBC允许面向接口编程,确保代码的可移植性,但可能因数据库特定实现影响性能。文章还介绍了SQL中的分组、连接和不同类型的连接操作。
摘要由CSDN通过智能技术生成

查询语句分组:根据指定的规则对数据进行分组:

  • --group by 分组字段

  • 语法:select 数据 from 数据源 where 行过滤条件 group by 分组having 组过滤信息 order by 排序字段;

  • 执行流程:from ->where ->group by ->having ->select ->order by

  • 如果select 后面一旦出现组函数,不能使用非分组字段

  • 如果一旦分组,只能使用分组字段或者组函数

  • where中 不能使用字段别名,不能使用组函数,因为执行流程问题

99语法

--自然连接:自动做等值连接(同名字段|主外键字段)natural join

注意:在自然连接中同名字段的不能使用限定词

--join ...using(同名字段)指定使用哪个同名字段做等值连接

注意:在join...using中同名字段不能使用限定词

--既能做等值连接也能做非等值连接

--数据源1 join 数据源2 on 连接条件

注意:在join..on中同名字段必须使用限定词

--内连接:(inner) join

--外连接:主表中的数据无论是否满足连接条件都显示

--左外连接|左连接:left join

--右外连接|右连接:right join

--全连接:两张表都是主表 full join

320问题

JDBC技术相关接口

作用:JDBC要通过Java代码操作数据库,JDBC中定义了操作数据库的各种接口和类型:

接口

作用

Driver

驱动接口,定义建立链接的方式

DriverManager

工具类,用于管理驱动,可以获取数据库的链接

Connection

表示Java与数据库建立的连接对象(接口)

PreparedStatement

发送SQL语句的工具

ResultSet

结果集,用于获取查询语句的结果

JDBC是规范(接口)不是实现(类)

JDBC 是一种规范,由Sum公司它提供了一套完整的接口,由数据库厂商根据特点予以实现,因此只要学会接口的使用就可以轻松的用 JDBC编写适用于各种数据库的程序。

Mysql提供的JDBC实现

Mysql提供的JDBC实现称为Mysql Connector,不同的数据库版本需要使用不同的Connector。

实际开发时根据数据库版本、JDK版本、选择不同的Connector。

为什么JDBC只有接口,没有提供实现?

不同数据库的底层技术不同,不少数据库是闭源的,源代码不公开的。Sun公司无力为所有数据库提供具体实现,只能提供接口而由数据库厂商提供具体实现,Sun公司只是制定JDBC标准,各个厂商准守标准提供具体的实现。JDBC和数据库实现的关系就好比List接口和ArrayList、LinkedList之间的关系。

面向JDBC接口规范编程,写出的JDBC代码可以在不同的数据库间轻松的迁移。

JDBC优缺点

优点:

JDBC使得编程人员从复杂的驱动器调用命令和函数中解脱出来,可以致力于应用程序中的关键地方。

JDBC支持不同的关系数据库,这使得程序的可移植性大大加强。

JDBC API是面向对象的,可以让用户把常用的方法封装为—个类,以备后用。

缺点:

使用JDBC,访问数据记录的速度会受到一定程度的影响。

JDBC结构中包含不同厂家的产品,这就给更改数据源带来了很大的麻烦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值