JDBC连接SQL Server2008 完成增加、删除、查询、修改等基本信息基本格式及示例代码

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: 这篇文章提供了使用JDBC连接SQL Server 2008数据库进行增加、删除、查询和修改操作的基本步骤和示例代码。

JDBC连接SQL Server2008 完成增加、删除、查询、修改等基本信息基本格式及示例代码

连接数据库的步骤:
1、注册驱动 (只做一次)
2、建立连接
3、创建执行SQL的语句、执行语句
4、处理执行结果
5、释放资源

1、建立连接的方法:

Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”);
//加载驱动
String url=“jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test”;
//test为你的数据库的名称
String user=“用户名”;
String password=“密码”;

Connection conn=DriverManager.getConnection(url,user,password);
//连接数据库对象
Statement stmt=conn.createStatement();
//创建SQL命令对象
String query=“”;//创建表SQL语句
stmt.executeUpdate(query);//执行SQL命令对象
//读取数据
ResultSet rs=stmt.executeQuery(“SELECT * FROM “表名””);
//循环输出每一条记录 rs最初指向第一条记录的前面
while(rs.next){

}
最后关闭连接
stmt.close();
con.close();
数据库连接(Connection)是非常稀有的资源,用完后必须马上释放,
如果Connection不能及时正确的关闭将导致系统宕机。
Connection的使用原则是尽量晚创建,尽量早的释放。

2、插入数据:

import java.sql.*;
public class InsertDemo {
    public static void main(String[] args) throws SQLException {
        Connection conn = null;
        Statement stmt = null;
        String JDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
        String connectDB="jdbc:sqlserver://localhost:1433;DatabaseName=test";
        String user="zheng";
        String pwd="123";
        try {
            // 动态导入数据库的驱动 
            Class.forName(JDriver);
            // 获取数据库链接 
            conn = DriverManager.getConnection(connectDB,user,pwd);
            // 创造SQL语句 
            String sql = "INSERT INTO JDBCTestTable ( user_name, user_password ) VALUES ( 'balabala', '123456' )";
            // 执行SQL语句 
            stmt = conn.createStatement();
            stmt.executeUpdate(sql);
            System.out.println("插入数据成功");
        } catch (Exception e) {    
            e.printStackTrace();
            stmt.close();
            conn.close();
        }
    }
}

3、修改数据:

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

public class UpdateDemo {

    public static void main(String[] args) throws SQLException {
        Connection conn = null;
        Statement stmt = null;
        try {
            // 动态导入数据库的驱动
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            // 获取数据库链接
            conn = DriverManager.getConnection(
                    "jdbc:sqlserver://localhost:1433;DatabaseName=test",
                    "zheng", "123");
            // 创造SQL语句
            String sql = "UPDATE TestTable SET user_password = '123' WHERE user_name = 'ddd'";
            // 执行SQL语句
            stmt = conn.createStatement();
            stmt.executeUpdate(sql);
            System.out.println("更新数据成功");
        } catch (Exception e) {
            e.printStackTrace();
            stmt.close();
            conn.close();
        }
    }
}

4、删除数据:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class DeleteDemo {

    public static void main(String[] args){
        String JDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
        String url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=test";
        String user="zheng";
        String password="123";
        try{
            Class.forName(JDriver);// 动态导入数据库的驱动
            Connection conn=DriverManager.getConnection(url, user, password);// 获取数据库链接 
            String query="DELETE FROM JDBCTestTable WHERE user_name='Eric'";// 创造SQL语句 
            Statement stmt=conn.createStatement();// 执行SQL语句
            stmt.executeUpdate(query);
            System.out.println("删除数据成功");
            stmt.close();
            conn.close();
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}

5、查询数据:

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

public class QueryDemo {

    public static void main(String[] args){
        String JDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
        String url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=test";
        String user="zheng";
        String password="123";
        try{
            Class.forName(JDriver);// 动态导入数据库的驱动
            Connection conn=DriverManager.getConnection(url, user, password);// 获取数据库链接 
            String query="SELECT * FROM JDBCTestTable";// 创造SQL语句 
            Statement stmt=conn.createStatement();// 执行SQL语句
            ResultSet rs=stmt.executeQuery(query);
            while(rs.next()){
                System.out.println(rs.getString("user_name")+":"+rs.getString(2));
                //密码字段的编号从1开始,密码排第二位
            }
            System.out.println("查询数据成功");
            rs.close();
            stmt.close();
            conn.close();
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
1月前
|
SQL 数据挖掘 数据库
第三篇:高级 SQL 查询与多表操作
本文深入讲解高级SQL查询技巧,涵盖多表JOIN操作、聚合函数、分组查询、子查询及视图索引等内容。适合已掌握基础SQL的学习者,通过实例解析INNER/LEFT/RIGHT/FULL JOIN用法,以及COUNT/SUM/AVG等聚合函数的应用。同时探讨复杂WHERE条件、子查询嵌套,并介绍视图简化查询与索引优化性能的方法。最后提供实践建议与学习资源,助你提升SQL技能以应对实际数据处理需求。
124 1
|
3月前
|
SQL 自然语言处理 数据库
【Azure Developer】分享两段Python代码处理表格(CSV格式)数据 : 根据每列的内容生成SQL语句
本文介绍了使用Python Pandas处理数据收集任务中格式不统一的问题。针对两种情况:服务名对应多人拥有状态(1/0表示),以及服务名与人名重复列的情况,分别采用双层for循环和字典数据结构实现数据转换,最终生成Name对应的Services列表(逗号分隔)。此方法高效解决大量数据的人工处理难题,减少错误并提升效率。文中附带代码示例及执行结果截图,便于理解和实践。
|
3月前
|
SQL 运维 监控
SQL查询太慢?实战讲解YashanDB SQL调优思路
本文是Meetup第十期“调优实战专场”的第二篇技术文章,上一篇《高效查询秘诀,解码YashanDB优化器分组查询优化手段》中,我们揭秘了YashanDB分组查询优化秘诀,本文将通过一个案例,助你快速上手YashanDB慢日志功能,精准定位“慢SQL”后进行优化。
|
3月前
|
SQL 索引
【YashanDB知识库】字段加上索引后,SQL查询不到结果
【YashanDB知识库】字段加上索引后,SQL查询不到结果
|
1月前
|
SQL 关系型数据库 MySQL
凌晨2点报警群炸了:一条sql 执行200秒!搞定之后,我总结了一个慢SQL查询、定位分析解决的完整套路
凌晨2点报警群炸了:一条sql 执行200秒!搞定之后,我总结了一个慢SQL查询、定位分析解决的完整套路
凌晨2点报警群炸了:一条sql 执行200秒!搞定之后,我总结了一个慢SQL查询、定位分析解决的完整套路
|
3月前
|
SQL 人工智能 自然语言处理
OmniSQL:开源文本到SQL神器!自然语言秒转查询到复杂多表连接等SQL需求
OmniSQL是开源的文本到SQL转换模型,通过创新的数据合成框架生成250万条高质量样本,支持7B/14B/32B三种模型版本,能处理从简单查询到复杂多表连接等各种SQL需求。
274 16
OmniSQL:开源文本到SQL神器!自然语言秒转查询到复杂多表连接等SQL需求
|
3月前
|
SQL 大数据 数据挖掘
玩转大数据:从零开始掌握SQL查询基础
玩转大数据:从零开始掌握SQL查询基础
185 35
|
3月前
|
SQL 关系型数据库 MySQL
如何优化SQL查询以提高数据库性能?
这篇文章以生动的比喻介绍了优化SQL查询的重要性及方法。它首先将未优化的SQL查询比作在自助餐厅贪多嚼不烂的行为,强调了只获取必要数据的必要性。接着,文章详细讲解了四种优化策略:**精简选择**(避免使用`SELECT *`)、**专业筛选**(利用`WHERE`缩小范围)、**高效联接**(索引和限制数据量)以及**使用索引**(加速搜索)。此外,还探讨了如何避免N+1查询问题、使用分页限制结果、理解执行计划以及定期维护数据库健康。通过这些技巧,可以显著提升数据库性能,让查询更高效流畅。
|
5月前
|
SQL 安全 数据库
如何在Django中正确使用参数化查询或ORM来避免SQL注入漏洞?
如何在Django中正确使用参数化查询或ORM来避免SQL注入漏洞?
362 77
|
4月前
|
SQL 关系型数据库 分布式数据库
利用 PolarDB PG 版向量化引擎,加速复杂 SQL 查询!完成任务领发财新年抱枕!
利用 PolarDB PG 版向量化引擎,加速复杂 SQL 查询!完成任务领发财新年抱枕!
137 14