当前位置:网站首页 > Java基础 > 正文

数据库基础java



 什么是数据库

数据库是一种储存结构,它允许使用各种格式输入,处理和检索数据,不必在每次是需要的数据时重新输入。

数据库的特点

  1. 可以实现数据的共享,用户可以同时存取数据库中的数据。
  2. 减少大量重复的数据,减少数据的冗余,维护数据的一致性。
  3. 数据的独立性,使数据库中逻辑结构和应用程序相互独立
  4. 数据实现集中控制,我们用文件管理方式,和数据库管理方式进行对比
    1. 文件管理方式:数据处于一总比较分散的状态,不同用户或同一用户在不同的处理操作中,其文件之间毫无关系
    2. 数据库管理方式:利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。
  5. 数据的一致性(保证多个用户同一时间对数据的增删查改,保证数据的正确性)和可维护性,确保数据的安全性(如:数据的丢失,越权使用)和可靠性。

数据库的推荐

现在市面上的数据库多种多样详细,个人推荐使用MySQL。

SQL语法

具体介绍SQL语法介绍https://blog.csdn.net/PILIpilipala/article/details/113798383?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164881896616782184673299%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=164881896616782184673299&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-113798383.142%5Ev5%5Epc_search_insert_es_download,157%5Ev4%5Econtrol&utm_term=sql%E8%AF%AD%E8%A8%80&spm=1018.2226.3001.4187

数据库基础java

SQL使用具体使用(均为最简单的操作)

  1. 创建数据库
  2. 删除数据库

 JDBC概述

JDBC是一种可用于执行SQL语句的Java API(Application Programming Interface,应用程序设计接口),使链接数据库和Java应用程序的纽带。

JDBC技术的用处

  1. 与数据库建立一个链接
  2. 向数据库发送SQL语句
  3. 处理从数据库返回的结果

JDBC常用类和接口

1.DriverManager类

方法功能描述getConnection(String url,String user,String password)指定3个入口参数(依次是链接数据库的URL,用户名,密码)来获取与数据库的链接setLoginTimeout()获取驱动程序试图登录到某一数据时可以等待的最长时间,以秒为单位println(String message)将一条消息打印到当前JDBC日志流中

2.Connection接口

Connection接口代表与特定的数据库的连接,在连接上下文中执行SQL语句并返回结果

方法功能描述createStatement()创建Statement对象createStatement(int resultSetType,int resultSetConcurrency)创建一个Statement对象,该对象将生成具有给定类型,并发性和可保存性的ResultSet对象preparedStatement()创建预处理preparedStatementisReadOnly()查看当前Connection对象的读取模式是否为只读形式setReadOnly()设置当前Connection对象的读写模式,默认是非只读模式commit()使所有上一次提交/回滚后进行的更改成为持久更改,并释放此Connection对象当前持有的所有数据库锁roolback()取消在当前事务中进行的所有更改,并释放此Connection对象当前持有的所有数据库锁close()立即释放此Connection对象的数据库和JDBC资源,而不是等待它们被自动释放

3.Statement接口

Statement接口用于用于在已经建立连接的基础上向数据库发送SQL语句。在JDBC中有3种Statement对象,分别Statement,PreparedStatement和CallableStatement.。Statement对象用于执行不带参数的简单SQL语句;PreparedStatement,用于执行对数据库的存储过程的调用

方法功能描述execute(String sql)执行静态的SELECT语句,该语句可能返回多个结果集executeQuery(String sql)执行给定的SQL语句,该语句返回单个ResultSet对象clearBatch()清空此Statement对象的当前SQL命令列表executeBatch()将一批命令提交给数据库来执行,如果全部命令成功,则返回更新计数组成的数组。数组元素的排序与SQL语句的添加顺序对应addBatch(String sql)将给定的SQL命令添加到此Statement对象的当前命令中。如果驱动程序不支持批量处理,将抛出异常close()释放Statement实力占用的数据库和JDBC资源

4.PreparedStatement接口

PreparedStatement接口用来动态地执行SQL语句,通过PreparedStatement实例执行的动态SQL语句,将被预编译并保存到PreparedStatement实力中,从而可以反复的执行该SQL语句。

方法功能描述setInt(int index,int k)将指定位置的参数设置为int值setFloat(int index,float f)将指定位置的参数设置为float值setLong(int index,long f)将指定位置的参数设置为long值setDoble(int index,doble f)将指定位置的参数设置为double值setBoolean(int index,boolean f)将指定位置的参数设置为boolean值setDate(int index,date date)将指定位置的参数设置为对应的data值executeQuery()在此PreparedSeatement对象setString(int index String s)将指定位置的参数设置为对应的String值setNull(int index,intsqlType)将指定参数设置为SQL NULLexecuteUpdate()执行前面包含的参数的动态INSERT,UPDATE或DELETE语句claeatParameters()清除当前所有参数的值

5.ResultSet接口

ResultSet接口类似于一个临时表,用来暂时存放数据库查询操作所获得的结果集。ResultSet实例具有指向当前数据行的指针,指针开始的位置在第一条记录前面,通过next()方法可将指针下移。在JDBC2.0(JDK1.2)之后,该接口添加了一组更新方法updateXXX(),该方法有两个重载方法,可根据列的索引号和列的名称来更新指定列。但该方法并没有将对数据进行的操作同步到数据库中,需要执行updateRow()方法或insertRow()方法更新数据库。

方法功能描述getInt()以int形式获取此ResultSet对象的当前行的指定列值。如果列值是NULL,则返回值时0getFloat()以float形式获取此ResultSet对象的当前行的指定列值。如果列值是NULL,则返回值是0getDate()以date形式获取此ResultSet对象的当前行的指定列值。如果列值是NULL,则返回值是nullgetBoolean()以boolean形式获取此ResultSet对象的当前行的指定列值。如果列值是NULL,则返回nullgetString()以String形式获取此ResultSet对象的当前行的指定列值。如果列值是NULL,则返回nullgetObject()以Object形式获取此ResultSet对象的当前行的指定列值。如果列值是NULL,则返回nullfirst()将指针移到当前记录的第一行last()将指针移到当前记录的最后一行next()将指针向下移一行beforeFirst()将指针移到集合的开头(第一行)afterLast()将指针移到集合的尾部(最后一行位置)absolute(int index)将指针移到ResultSet给定编号的行isFrist()判断指针是否位于当前ResultSet集合的第一行。如果是返回true,否则返回falseislast()判断指针是否位于单圈ResultSet集合的最后一行。如果是返回true,否则返回false用int值更新指定列updateFloat()用float值更新指定列updateLong()用指定的long值更新指定列updateString()用只当的String值更新指定列updateObject()用Object值更新指定列updateNull()将指定的列修改为nullupdateDate()用指定的date值跟新指定列updateDouble()用指定的double值更新指定列getrow()查看当前行的索引号insertRow()将插入行的内容插入数据库updateRow()将当前行的内容同步到数据表daleteRow()删除当前行,但并不同步到数据库中,而是执行close()方法后同步到数据库

数据库操作

  1. 准备事项
    1. 安装MySQL(本人用的MySQL8.0)
    2. 在lib包里面导入jar包
    3. 软件用的idea
  2. 连接数据库
    1. 要访问数据库,首先要加载数据库的驱动程序(只需要再第一次访问数据库时加载一次),然后每次访问时创建一个Connection对象,接着执行操作数据库的SQL语句,最后在完成数据库操作后销毁钱买你创建的Connection对象,释放于数据库的连接。
    2. 连接本地的MySQL8.0数据库(创建test类)
       

      成功连接显示

    3. MySQL的数据创建  java对数据库的使用
      1. 创建数据表
      2. 录入数据

java对数据库的操作

  1. 顺序查询

    1. resultSet类的next()方法的返回值是boolean类型的数据,当游标移动到最后一行之后会返回false。下面是tb_stu中的全部信息显示在控制台上。
    2. 创建JDBCDemo类,在主方法中连接MySQL8.0数据库,将tb_stu表中的所有数据都输出在控制台中创建JDBCDeom类)
       
    3. 输出结果
  2. 模糊查询
    1. SQL语句中提供了LIKE操作符用于模糊查询,可使用”%“来代替0个或多个字符,使用下划线”_“来代替一个字符。列入,在查询张同学时,可使用一下SQL语句:
    2. 在顺序查询上修改(创建JDBCDeom3类)
       

      其实也就只修改了一个地方,关于sql的查询的语句进行了修改

    3. 输出结果

  3. 预处理语句

    1. 对JDBC,可以通过Connection对象的preparedStatement(String sql)方法对SQL语句进行处理,生成数据库底层的内部文件命令,并将该命令封装在PreparedStatement对象中。通过调用该对象的相应方法,可执行底层数据库命令。也就是说,应用程序能针对连接的数据库,将SQL语句解释为数据库底层的命令,然后让数据库执行这个命令。这样可以减轻数据库的负担,提高数据库的速度。

    2. 在顺序查询上修改创建JDBCDeom3类)

       
    3. 输出结果

  4. 添加,修改,删除记录

    1. 通过SQL语句可以对数执行添加,修改和删除操作。可通过PrepaedStatement类的指定参数,动态地对数据表中原有数据进行修改操作,并通过executeUpdate()方法执行跟新语句操作。

    2. 对学生表进行添加,修改和删除操作(创建JDBCDeom4类)
      (id没有设置主键)

       

    3. 输出结果(id没有设置主键说以有多个编号为5)

注意事项

  1. 注意数据库不要导错了(不要问为什么,问就是血的经历 /(ㄒoㄒ)/~~ )
  2. 严格遵守sql语法
  3. 数据库需要自己创建上面有创建过程以及代码(记住添加主键)

版权声明


相关文章:

  • java基础数据类型包装类2024-10-16 11:02:02
  • java基础pta练习题讲解2024-10-16 11:02:02
  • java0基础教学课程2024-10-16 11:02:02
  • java基础276讲2024-10-16 11:02:02
  • java基础之io相关面试题2024-10-16 11:02:02
  • java入门基础有哪些2024-10-16 11:02:02
  • java零基础试题2024-10-16 11:02:02
  • java 基础薄弱2024-10-16 11:02:02
  • java基础题库62024-10-16 11:02:02
  • java带薪零基础骗局2024-10-16 11:02:02