第十七章数据库操作

什么是数据库

歌据库是一种存储结构,它允许使用各种格式输入、处理和检索数据,不必在每次需要数据时重声输入。例如,当需要某人的电话号码时,需要查看电话簿,按照姓名来查阅,这个电话簿就是一个教拒库。数据库具有以下主要特点:

区实现数据共享。数据共享包括所有用户可同时存取数据库中的数据,也包括用户可以用各种

方式通过接口使用数据库,并提供数据共享。

团减少数据的冗余度。同文件系统相比,数据库实现了数据共享,从而避免了用户各自建立应

用文件,减少了大量重复数据,减少了数据冗余,维护了数据的一致性。

区 数据的独立性。数据的独立性包括数据库中数据库的逻辑结构和应用程序相互独立,也包括

数据物理结构的变化不影响数据的逻辑结构。

区数据实现集中控制。文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理操作中,其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。

数据的一致性和可维护性,以确保数据的安全性和可靠性。主要包括:

安全性控制,以防止数据丢失、错误更新和越权使用。

完整性控制,保证数据的正确性、有效性和相容性。

并发控制,既在同一时间周期内允许对数据进行多路存取,又能防止用户之间的不正常

交互。

故障的发现和恢复。

从发展的历史来看,数据库是数据管理的高级阶段,是由文件管理系统发展起来的。数据库的基

本结构分为3个层次:

口物理数据层:它是数据库的最内层,是物理存储设备上实际存储的数据集合。这些数据是原

始数据,是用户加工的对象,由内部模式描述的指令操作处理的字符和字组成。

区概念数据层:它是数据库的中间一层,是数据库的整体逻辑表示,指出了每个数据的逻辑定义及数据间的逻辑联系,是存储记录的集合。它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。

区 逻辑数据层:它是用户所看到和使用的数据库,是一个或一些特定用户使用的数据集合,即

逻辑记录的集合。

打卡“命令提示符”,用管理员身份运行

登录MySQL

创建库和表 

使用Java命令查询数据库操作 

右击——点击“Build Path”——选择第四个——找到包的位置——导入成功

 例题

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.mysql.cj.jdbc.Driver;

public class mysqldemo {

	Connection coonection;
	public static void main(String[] args) throws SQLException{
	mysqldemo mysqlDemo=new mysqldemo();
	mysqlDemo.getConnection();
	System.out.println("查询课程表中数据,结果为:");
	mysqlDemo.selectAll();
	System.out.println("新增课程4,课程名为WEB");
	mysqlDemo.add(4,"WEB");
	System.out.println("查询课程表中数据,结果为:");
	mysqlDemo.selectAll();
	System.out.print("修改课程3,课程名为Office");
	mysqlDemo.update(3,"Office");
	System.out.print("查询课程表中数据,结果为:");
	mysqlDemo.selectAll();
	System.out.println("删除课程4");
	mysqlDemo.delete(4);
	System.out.print("查询课程表中数据,结果为:");
	mysqlDemo.selectAll();
	mysqlDemo.colse();
	
	}
	private void delete(int id) throws SQLException {
		// TODO Auto-generated method stub
		//第三步: 获取statement对象
		PreparedStatement preparedstatement = coonection.prepareStatement("delete from course where id : ?");
		preparedstatement.setInt(1, id);
		//第四步: 执行SQL语句
		preparedstatement.executeUpdate();
	}
	private void update(int id, String name) throws SQLException {
		// TODO Auto-generated method stub
		//第三步: 获取statement对象:
		PreparedStatement preparedStatement = coonection.prepareStatement("update course set name= ? where id = ?");
				 preparedStatement.setString(1, name);
		preparedStatement.setInt(2, id);
		//第四步: 执行SQL语句
		preparedStatement.executeUpdate();
	}
	private void add(int id, String name) throws SQLException {
		// TODO Auto-generated method stub
		//第三步:获取statement对象
		PreparedStatement preparedStatement = coonection.prepareStatement("insert into course values(?,?);");
		preparedStatement.setInt(1,id);
		preparedStatement.setString(2,name);
		//第四步:执行SQL语句
		 preparedStatement.executeUpdate();
		
		
	}
	public  void getConnection()  throws SQLException {
		// TODO Auto-generated method stub
		//连接数据库步骤
		//第一步:注册驱动
		DriverManager.registerDriver(new Driver());
		//第二步:获取连接
		coonection = DriverManager.getConnection("jdbc:mysql://localhost:3306/school_java","root","1234");
	}
		//第三步:获取statement对象
		
		public void selectAll()throws SQLException{
			PreparedStatement preparedStatement = coonection.prepareStatement("select*from course");
			//第四步:执行SQL语句返回结果集
			ResultSet resultSet=preparedStatement.executeQuery();
			//第五步:遍历结果集
			while(resultSet.next()) {
				System.out.print(resultSet.getInt("id")+" ");
				System.out.println(resultSet.getString("name"));
			}
		
		//第六步:关闭连接释放资源
		resultSet.close();
		preparedStatement.close();
		}
	
	public void colse()throws SQLException{
		coonection.close();
	}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值