Java基础(十三)-----JDBC(二)

来源:互联网 发布:切图软件下载 编辑:程序博客网 时间:2024/05/04 14:05

JDBC中的CRUD与SQL的关系

     JDBC对数据库的增删改查是JDBC技术的基础,是以后学习 事务,批处理,可更新结果等技术的奠基石。使用JDBC与数据库进行连接的根本目的就是操作数据,然而对数据的操作就是增,删,改,查,简称“CRUD”。对数据库的增删改查的基础是SQL技术,利用java程序将sql语句送至数据库,让数据库管理系统对语句进行解析,然后返回相应的结果。

数据库的结构

      则部分毋庸多言,数据库中的数据是以二维表的形式存在的,如图所示:


SQL简介

SQL(结构化查询语言)分为DML(数据库操作语言)和DDL(数据库定义语言)。

DML包括以下四部分:

SELECT -----查询语句

INSERT INTO -----插入语句

DELETE  -----删除语句

UPDATE -----更新语句

DDL包括以下部分:

CREATE DATABASE - 创建新数据库

ALTER DATABASE- 修改数据库

CREATE TABLE - 创建新表

ALTER TABLE - 变更(改变)数据库表

DROP TABLE - 删除表

CREATE INDEX - 创建索引(搜索键)

DROP INDEX - 删除索引

数据库的增删改查

INSERT INTO语句

安装mysql数据库,使用数据库客户端创建一个Persons的数据库,在该数据库中创建一个Person的数据表。用来存放数据。在Person中插如几行数据。代码示例:

package com.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;import java.sql.Statement;import com.mysql.jdbc.Driver;public class Test2 {/** * 用两种方法插入数据 */public static void main(String[] args) {try{insertTest_2();}catch(SQLException e){e.printStackTrace();}}//没有使用预编译语句publicstatic void insertTest_1() throws SQLException{//1,注册驱动DriverManager.registerDriver(new com.mysql.jdbc.Driver());//2,获得链接Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/Persons", "root", "root");//3,创建语句Statement stmt=conn.createStatement();String sql="insert into Person values (1,'Adams','John','Oxford Street','London')";//4,执行语句int n=stmt.executeUpdate(sql);if(n>0){System.out.println("插入成功");}else{System.out.println("插入失败");}conn.close();stmt.close();}//使用预编译语句:可以有效的提高效率,放置sql注入。public static void insertTest_2() throws SQLException{Connection conn =getConnection();String sql ="insert into Person values (?,?,?,?,?)";PreparedStatement stmt=conn.prepareStatement(sql);stmt.setInt(1, 4);stmt.setString(2, "Wang"); stmt.setString(3, "Wu"); stmt.setString(4, "Yushang Road"); stmt.setString(5, "Shanghai"); int n=stmt.executeUpdate();if(n>0){System.out.println("插入成功");}else{System.out.println("插入失败");}}//在做第二个方法的时候,将获取Connection的代码提取出来public static Connection getConnection() {Connection conn=null;try{DriverManager.registerDriver(new com.mysql.jdbc.Driver());conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/Persons","root","root");}catch(SQLException e){e.printStackTrace();}return conn;}}

在开发中一般使用预编译语句,以提高效率。

SELECT语句

首先创建一个Persons的数据库。代码示例

package com.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;/* * 获取数据库中的名字 *  */public class Test1 {public static void main(String[] args) {test();}static void test(){     //1,注册驱动try {DriverManager.registerDriver(new com.mysql.jdbc.Driver());//2,建立连接Connection conn =DriverManager.getConnection("jdbc:mysql://localhost:3306/Persons","root","root");//3,创建语句Statement stmt = conn.createStatement();//4,执行查询ResultSet rs = stmt.executeQuery("select LastName from Person");//5,处理结果while(rs.next()){System.out.println(rs.getString("LastName"));}} catch (Exception e) {e.printStackTrace();}}}

DELETE 语句

代码示例:

package com.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;public class Test4 {/** * 删除掉所有城市是上海的记录 */public static void main(String[] args) throws SQLException {Connection conn=getConn();Statement stmt=conn.createStatement();int n=stmt.executeUpdate("delete from Person where City='Shanghai' ");if(n>0){System.out.println("共有"+n+"条数据被删除");}}public static Connection getConn(){Connection conn=null;try{DriverManager.registerDriver(new com.mysql.jdbc.Driver());conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/Persons", "root", "root");}catch(SQLException e){e.printStackTrace();}return conn;}}

UPDATE语句:

package com.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;public class Test5 {/** * 更改某一列的值 */public static void main(String[] args) throws SQLException{//1,注册驱动DriverManager.registerDriver(new com.mysql.jdbc.Driver());//2,获得链接Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/Persons","root","root");//获得语句Statement stmt=conn.createStatement();//String sql="update Person set FirstName='David' where FirstName='John'";//执行语句int n=stmt.executeUpdate(sql);if(n>0){System.out.println("修改成功");}else{System.out.println("修改失败");}conn.close();stmt.close();}}

DELETE语句:


package com.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;public class Test4 {/** * 删除掉所有城市是上海的记录 */public static void main(String[] args) throws SQLException {Connection conn=getConn();Statement stmt=conn.createStatement();int n=stmt.executeUpdate("delete from Person where City='London' ");if(n>0){System.out.println("共有"+n+"条数据被删除");}conn.close();stmt.close();}public static Connection getConn(){Connection conn=null;try{DriverManager.registerDriver(new com.mysql.jdbc.Driver());conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/Persons", "root", "root");}catch(SQLException e){e.printStackTrace();}return conn;}}











1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 胳膊扭着了肿了怎么办 多囊卵巢综合症治不好怎么办 胳膊受了风发麻怎么办 胳膊抻筋了很疼怎么办 腰抻了怎么办最有效 孩子胳膊抻着了怎么办 胳膊伤筋了疼怎么办 宝宝胳膊抻了疼怎么办 练完普拉提头晕怎么办 生完孩子腰背疼怎么办 宝宝不肯把屎尿怎么办 存的电话删除了怎么办 脚踝的韧带断了怎么办 买了双鞋子想退怎么办 鞋子大了一码怎么办 nba篮球大师身体素质满了怎么办 钉鞋大了一码怎么办 篮球鞋鞋垫会向里面跑怎么办 穿高跟鞋脚肿了怎么办 衣服弄到单车油怎么办 高低床孩子摔下来怎么办 量血压时老紧张怎么办 牛仔外套的扣子掉了怎么办 裤子的裤筒大了怎么办 衣服拉链驰坏了怎么办 小脚裤裤腿紧了怎么办 地垫粘地板了怎么办 棉麻衬衣皱了怎么办 麻料衣服烫皱了怎么办 在京东买一双奥康鞋没有防伪怎么办 足球鞋丁掉了一颗怎么办 鼻子有点大想变小该怎么办 阿勒泰小东沟风景区边防证怎么办 孩子上一年级了学习很差怎么办 孩子作息时间不规律怎么办 冬天冻脸怎么办小妙招 冬天冻脚怎么办小妙招 冬天脚冷怎么办小妙招 初中生不爱学习父母该怎么办 早孕办公室买新办公桌怎么办 一年级学生专注度差怎么办