java高级第十章数据库基础.ppt_第1页
java高级第十章数据库基础.ppt_第2页
java高级第十章数据库基础.ppt_第3页
java高级第十章数据库基础.ppt_第4页
java高级第十章数据库基础.ppt_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第 十 章,数据库,2,理解数据库基本理论 理解SQLite数据库基本操作 掌握SQL语句基本操作 会运用Java程序操作数据库,本章内容,3,10.1 数据库概述,数据库 数据库管理系统 结构化查询语言SQL,4,10.1 数据库概述,数据库 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。 数据库特点: 1)数据完整性 2)数据共享性,5,10.1 数据库概述,数据库管理系统: 数据库管理系统(DataBase Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过dbms访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。DBMS提供数据定义语言DDL(Data Definition Language)与数据操作语言DML(Data Manipulation Language),供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作。 常见的关型数据库管理系统有:Oracle,MS SQLServer,DB2,Mysql,Access等,6,10.1 数据库概述,结构化查询语言SQL 结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。 结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的结构化查询语言语言作为数据输入与管理的接口。,7,10.1 数据库概述,结构化查询语言SQL 大多数都遵循 ANSI SQL 标准。SQL语言包含4个部分: 1)数据定义语言(DDL), 例如:CREATE、DROP、ALTER等语句。 2) 数据操作语言(DML), 例如:INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。 3)数据查询语言(DQL), 例如:SELECT语句。 4)数据控制语言(DCL), 例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句。,8,10.2 SQLite数据库,SQLite数据库特点 下载和安装 常用图形化Sqlite管理工具,9,10.2 SQLite数据库,SQLite数据库特点 SQLite是一款轻型的数据库,是一种关系型数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它. 它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。 SQLite第一个Alpha版本诞生于2000年5月. 至今已经有10多个年头,SQLite也迎来了一个版本 SQLite 3已经发布。它的官方网站是:http:/www.sqlite. org或者/,10,10.2 SQLite数据库,下载和安装 链接: /sqlite-shell-win32-x86-3071000.zip 假设解压后将其中的Sqlite3.exe文件放置在D盘下,进入DOS命令行, 输入命令进行创建一个数据库文件test.db后并退出,11,10.2 SQLite数据库,常用图形化Sqlite管理工具 SQLite有很多优秀的图形化管理工具:如sqliteaadministrator,sqlite developer, sqlite database browser。这些工具已内置了sqlite3数据库,无需再进行数据库连接配置,可直接使用. Sqlite Developer初始界面如下图,其操作和微软的MSSQL Server Manager类似。,12,10.3 SQL基本操作,数据类型 约束 创建表 Insert 语句 Update 语句 Select 语句 Delete语句,13,10.3 SQL基本操作,数据类型 大多数数据库的一个字段都指定了相关的数据类型,相当于Java语言编程中数据类型。而SQLite采用的是动态数据类型,可以对字段不指定任何数据类型,SQLite会根据存入值自动判断。SQLite具有以下五种数据类型: 1)NULL:空值相当于Java中null。 2)INTEGER:带符号的整型,相当于Java中int型。 3)REAL:浮点数字,相当于Java中float/double型。 4)TEXT/VARCHAR:字符串文本,相当于Java中String类。 5)BLOB:二进制对象,相当于Java中byte数组。,14,10.3 SQL基本操作,约束 数据库中存储数据的时候,有一些数据有明显的约束条件。 比如一所学校关于教师的数据表,其中的字段列可能有如下约束: 年龄 - 至少大于20岁。如果你想录入一个小于20岁的教师,系统会报错 国籍 - 默认中国。所谓默认,就是如果你不填写,系统自动填上默认值 姓名 - 不能为空。每个人都有名字嘛 员工号 - 唯一。这个可不能乱,工资发错了就麻烦了 上面提到的大于、默认、不能为空、唯一等等,就是数据的约束条件。,15,10.3 SQL基本操作,约束 在用 CREATE TABLE 创建表的时候,就应该将每个字段列的约束条件事先说明(如果有的话), 以后再往表里输入数据的时候,系统会自动为我们检查是否满足约束条件,如果不满足系统会报错。SQLite3有如下约束: NOT NULL - 非空 UNIQUE - 唯一 PRIMARY KEY - 主键 FOREIGN KEY - 外键 CHECK - 条件检查 DEFAULT - 默认,16,10.3 SQL基本操作,创建表,create table student( id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(20) NOT NULL, cid INTEGER, gender BIT DEFALT(1), age INTEGER CHECK(age18 and age60), score REAL );,17,10.3 SQL基本操作,Insert 语句,insert into student (name,cid,gender,age,score) values(宋江,1,1,45,46.5);,18,10.3 SQL基本操作,update 语句,1) 将所有学生的成绩加上3.5分 update student set score=score+3.5; 2) 将学生中姓名叫”杨雄”改为”杨志” update student set name=杨志 where name=杨雄;,19,10.3 SQL基本操作,Select 语句,1) 查询所有学生信息 select * from student 2) 查询编号为1学生信息 select * from student where id=1; 3) 查询所有姓名中包含”娘”字的学生信息 select * from student where name like %娘%; 4) 查询学生表的所有学生的编号,姓名和成绩三项信息 select id,name,score from student;,20,10.3 SQL基本操作,delete句,1) 删除成绩小于60分学生信息 delete from student where score60; 2) 删除所学生信息 delete from student;,21,10.4 JDBC,JDBC概念 JDBC(Java Data Base Connectivity,Java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序。 简单地说,JDBC 可做三件事:与数据库建立连接、发送操作数据库的语句并处理结果。下列代码段给出了以上三步的基本示例:,22,10.4 JDBC,创建数据库的连接 要使Java程序能够连接到,需要获得的相应的JDBC驱动程序,本章使用sqlite3 JDBC程序包,该包含三个文件: 1) readme文本文件,告诉开发如何使用sqlitejdbc 2) sqlitejdbc.jar Java API 需要复制到系统的JRElibext目录下 3) sqlitejdbc.dll 本地动态链接库,需要复制到系统的JREbin目录下.,23,10.4 JDBC,创建数据库的连接 接下来需要在Java程序中完成以下两步操作获得与数据库连接对象Connection 第一步:装载驱动程序 Class.forName(“org.sqlite.JDBC“); 第一步:建立连接 Connection conn= DriverManager.getConnection(“jdbc:sqlite:stu.db“,“,“); 第一个参数是协议url,第二个参数用户名,第三个参数是密码,如果没有用户名和密码可以上行代码方式表示. Connection对象代表与数据库的连接。连接过程包括所执行的SQL语句和在该连接上所返回的结果。,24,10.4 JDBC,发送操作数据库的语句 连接一旦建立,就可用来向它所涉及的数据库传送SQL语句。JDBC提供了三个类,用于向数据库发送SQL语句。Connection接口中的三个方法可用于创建这些类的实例。下面列出这些类及其创建方法: 1) Statement:由方法Connection对象的createStatement所创建。Statement对象用于发送简单的SQL语句。 2) PreparedStatement:由方法Connection对象的prepareStatement所创建。PreparedStatement对象用于发送带有一个或多个输入参数的SQL语句。 3) CallableStatement:由方法prepareCal

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论