dljd_(007_008)_jdbc执行DQL/DML/DDL语句

一、使用JDBC执行DQL/DML/DDL语句示例

  1.1数据库设计

  

create database jdbc;
use jdbc;

create table test(
id int primary key auto_increment,
name varchar(10)
);

insert into test values(1,"name1");
insert into test values(2,"name2");
insert into test values(3,"name3");
insert into test values(4,"name4");
insert into test values(5,"name5");

  1.2代码实现

  

package edu.aeon.jdbc;

import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * [说明]:测试jdbc
 * @author aeon(qq:1584875179)
 *
 */

public class Test {
    /**
     * jdbc执行DQL语句
     */
    public static void testDQL(){
        Connection connection=null;
        Statement statement=null;
        ResultSet resultSet=null;
        try {
            Driver driver=new com.mysql.jdbc.Driver();
            DriverManager.registerDriver(driver);
            String url="jdbc:mysql://localhost:3306/jdbc";
            String username="root";
            String password="root";
            connection=DriverManager.getConnection(url, username, password);
            statement=connection.createStatement();
            String dql_sql="select * from test;";
            resultSet=statement.executeQuery(dql_sql);
            System.out.println("序号\t名    称");
            while(resultSet.next()){
                int id=resultSet.getInt("id");
                String name=resultSet.getString("name");
                System.out.println(id+"\t"+name);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            try {
                if(null!=resultSet){
                    resultSet.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try {
                if(null!=statement){
                    statement.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try {
                if(null!=connection){
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

    }

    /**
     * jdbc执行DML语句
     */
    public static void testDML(){
        Connection connection=null;
        Statement statement=null;
        try {
            Driver driver=new com.mysql.jdbc.Driver();
            DriverManager.registerDriver(driver);
            String url="jdbc:mysql://localhost:3306/jdbc";
            String username="root";
            String password="root";
            connection=DriverManager.getConnection(url, username, password);
            statement=connection.createStatement();
            String dml_sql="insert into test(name) values(‘name6‘)";
            int num=statement.executeUpdate(dml_sql);
            System.out.println("受影响的行数为:"+num);

        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            try {
                if(null!=statement){
                    statement.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try {
                if(null!=connection){
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

    }

    /**
     * jdbc执行DDL语句
     */
    public static void testDDL(){
        Connection connection=null;
        Statement statement=null;
        try {
            Driver driver=new com.mysql.jdbc.Driver();
            DriverManager.registerDriver(driver);
            String url="jdbc:mysql://localhost:3306/jdbc";
            String username="root";
            String password="root";
            connection=DriverManager.getConnection(url, username, password);
            statement=connection.createStatement();
            String ddl_sql="create table users(id int(4) primary key auto_increment,name varchar(10),password varchar(16));";
            int num=statement.executeUpdate(ddl_sql);
            System.out.println("受影响的行数为:"+num);

        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            try {
                if(null!=statement){
                    statement.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try {
                if(null!=connection){
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

    }
    /**
     * jdbc使用excute方法同时可以执行DQL/DML/DDL语句
     */
    public static void testDQLDMLDDL(){
        Connection connection=null;
        Statement statement=null;
        ResultSet resultSet=null;
        try {
            Driver driver=new com.mysql.jdbc.Driver();
            DriverManager.registerDriver(driver);
            String url="jdbc:mysql://localhost:3306/jdbc";
            String username="root";
            String password="root";
            connection=DriverManager.getConnection(url, username, password);
            statement=connection.createStatement();
            String sql="insert into test(name) values(‘name6‘)";
            if(statement.execute(sql)){//如果返回true则表示执行的是DQL,有结果集返回,如果为false则表示返回的是更新计数器
                resultSet=statement.getResultSet();
                System.out.println("序号\t名    称");
                while(resultSet.next()){
                    int id=resultSet.getInt("id");
                    String name=resultSet.getString("name");
                    System.out.println(id+"\t"+name);
                }
            }else{//如果为false则表示返回的是更新计数器
                int num =statement.getUpdateCount();
                System.out.println("更新了"+num+"条数据!");
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            try {
                if(null!=statement){
                    statement.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try {
                if(null!=connection){
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

    }

    public static void main(String[] args) {
        //testDQL();
        //testDML();
        //testDDL();
        testDQLDMLDDL();
    }

}

 测试正常通过!

二、注册驱动的方式

  

   

原文地址:https://www.cnblogs.com/aeon/p/10746283.html

时间: 2024-11-06 09:56:44

dljd_(007_008)_jdbc执行DQL/DML/DDL语句的相关文章

sql语言分类与整理:DQL\DML\DDL

整体分为三类: 数据库查询语言(DQL,data QUERY LANGUAGE):对表的查询语句,select 数据库定义语言(DDL,data defined LANGUAGE):create database.drop database.修改库.create table.drop table.修改表等 数据库操作语言(DML,data Manipulation LANGUAGE):update.insert.delete 原文地址:https://www.cnblogs.com/louhui

SQL语言分类DQL,DML,DDL,DCL

SQL语言共分为五大类: 数据查询语言DQL 数据操纵语言DML 数据定义语言DDL 数据控制语言DCL 数据事物语言DTL DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块: SELECT <字段名表>FROM <表或视图名>WHERE <查询条件> DML 数据操纵语言DML数据操纵语言DML主要有三种形式: 插入:INSERT 更新:UPDATE 删除:DELETE(删除表中的数据不删除表结构,可以回滚) DDL 数

SQLDataSet中执行DDL语句

在SQLDataSet中执行我们输入的DDL语句,并观察执行结果. 这里为了省输入的时间,从先输好的记事本中复制的SQL语句.效果图: ************************************************************************************** 具体操作: ************************************************************************************** DB

ddl语句和dml语句,创建序列和约束

DML insert: SQL> create table t1(x int, y char(1), z date); SQL> insert into t1(x, y, z) values (1, 'a', sysdate); SQL> insert into t1(x, z, y) values (2, sysdate+1, 'b'); SQL> insert into t1(x, y, z) values (1, null, sysdate); SQL> insert

mysql存储过程执行ddl语句

根据业务需要,需要在存储过程自动创建表 CREATE PROCEDURE parameter_split(in table_name VARCHAR(30),in start_time BIGINT(16),in end_time BIGINT(16)) BEGIN -- 得到时间 DECLARE table_year VARCHAR(5); DECLARE table_month VARCHAR(3); DECLARE table_day VARCHAR(3); -- 按开始时间设置年月日,并

PLSQL_PLSQL中DML DDL DCL的概念和区分(概念)

2014-06-20 BaoXinjian 一.摘要 DML(data manipulation language): 它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言 DDL(data definition language): DDL比DML要多,主要的命令有CREATE.ALTER.DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用 D

SQLite中DML DDL DML命令的区别[转]

总体解释: DML(data manipulation language):       它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言DDL(data definition language):       DDL比DML要多,主要的命令有CREATE.ALTER.DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用DCL(Data Con

详解MySQL第一篇—MySQL简要介绍及DDL语句

背景:近几年,开源数据库逐渐流行起来.由于具有免费使用.配置简单.稳定性好.性能优良等优点,开源数据库在中低端应用上占据了很大的市场份额,而 MySQL 正是开源数据库中的杰出代表.MySQL 数据库目前分为社区版(Community Server)和企业版(Enterprise),它们最重要的区别在于:社区版是自由下载而且完全免费的,但是官方不提供任何技术支持,适用于大多数普通用户:而企业版则是收费的,不能在线下载,相应地,它提供了更多的功能和更完备的技术支持,更适合于对数据库的功能和可靠性要

Oracle中DDL语句对事务的影响

 1.Oracle中DDL语句对事务的影响 在Oracle中,执行DDL语句(如Create Table.Create View等)时,会在执行之前自动发出一个Commit命令,并在随后发出一个Commit或者Rollback命令,也就是说,DDL会象如下伪码一样执行: Commit;DDL_Statement; If (Error) then Rollback; Else Commit;End if; 我们通过分析下面例子来看Oracle中,DDL语句对事务的影响: Insert into