前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据库: Android使用JDBC连接数据库实现增 删 该 查 操作(5.0版本)

数据库: Android使用JDBC连接数据库实现增 删 该 查 操作(5.0版本)

作者头像
杨奉武
发布2020-02-13 17:11:14
5570
发布2020-02-13 17:11:14
举报
文章被收录于专栏:知识分享知识分享

前言

  上一节的代码没有测试通过,暂时没有找到问题,这节咱用5.0的jar包

  配置数据库,导入jar包参考上一节(导入这节的jar包)

准备好测试的数据库

  IP: 47.92.31.46

  用户名: yang

  密码:    11223344.

  数据库名字 :  databasetest

  表格:  userinfo

  这是我云端电脑安装的数据库,大家都可以连接测试

  我设置了权限,只可以增删改查数据

加载mysql驱动

Class.forName("com.mysql.jdbc.Driver").newInstance();

连接数据库

代码语言:javascript
复制
            new Thread(new Runnable() {
                @Override
                public void run() {
                    try{
                        Connection connection = DriverManager.getConnection("jdbc:mysql://47.92.31.46/databasetest?" +
                                "user=yang&password=11223344.&characterEncoding=utf-8");
                        if (connection!=null) {
                            Log.e("MainActivity", "Connectd Mysql");
                        }
                    }catch (SQLException e){

                    }
                }
            }).start();

因为是网络通信,所以加上任务,防止超时连接阻塞造成卡机

代码语言:javascript
复制
Connection connection = DriverManager.getConnection("jdbc:mysql://47.92.31.46/databasetest?" +
        "user=yang&password=11223344.&characterEncoding=utf-8");
代码语言:javascript
复制
47.92.31.46 :IP地址(自己电脑的IP地址)
代码语言:javascript
复制
databasetest   :数据库名字
代码语言:javascript
复制
user=yang     :设置连接的数据库的用户名
代码语言:javascript
复制
password=11223344. :设置连接的数据库的密码
代码语言:javascript
复制
characterEncoding=utf-8  :编码方式

插入数据(第一种)

  一,插入数据,id是1,用户名是yang 密码是11223344

"insert into userinfo "+ " values(1,"+"'"+ "yang" +"'"+ "," +"'"+"11223344"+"'"+")";

  insert into userinfo : 插入数据到 userinfo 表格 

  1 :id的值,自动递增

  yang : 用户名

  11223344 :密码

  注:一般插入字符串型数据需要在数据两边加   '    '

  也就是  '数据'

代码语言:javascript
复制
                            String sql = "insert into userinfo "+ " values(1,"+"'"+ "yang" +"'"+ "," +"'"+"11223344"+"'"+")";//第一种
                            Statement statement = connection.createStatement();
                            statement.execute(sql);//提交

运行测试

插入数据(第二种)

代码语言:javascript
复制
String sql = "insert into userinfo "+ " values(NULL,"+"'"+ "yangyang" +"'"+ "," +"'"+"11223344"+"'"+")";

和上面相比 value(NULL.....)

设置第一个字段是空,意思是不填写第一个字段(默认就会自动递增)

运行测试

总结上两种插入数据方式

  values里面的值依次填到表格中,如果数据不够,后面的就不插入数据

插入数据(第三种)

代码语言:javascript
复制
String sql = "insert into userinfo (username,password)"+ "values(" +"'"+ "yangyang" +"'"+ "," +"'"+"11111111"+"'"+")";
代码语言:javascript
复制
(username,password) 后面的values里面的数据对应插到哪个字段里面
代码语言:javascript
复制
yangyang 插入到 username 字段里面
代码语言:javascript
复制
11111111 插入到 password 字段里面

运行测试

删除数据

代码语言:javascript
复制
String sql = "delete from userinfo "+" where "+"username = "+"'"+"yang" +"'";

删除 userinfo表格中 username字段中是 yang的数据

意思就是删除,下面这条数据

运行测试

代码语言:javascript
复制
String sql = "delete from userinfo "+" where "+"username = "+"'"+"yangyang" +"'"+ " and " +"password ="+"'"+"00000000"+"'";

删除 userinfo表格中 username字段中是 yangyang,同时password字段中是 00000000 的数据

其实就是删除这个

运行测试

修改数据

代码语言:javascript
复制
String sql = "update userinfo set password="+"'"+"888888"+"'" +"where username="+"'"+"yangyang"+"'";

找到userinfo表格中username字段值是yangyang的

然后把 password字段的值修改为 888888

其实就是把11111111修改为888888

运行测试

当然也可以直接设置

代码语言:javascript
复制
String sql = "update userinfo set password="+"'"+"888888"+"'";

查询数据

代码语言:javascript
复制
                            String sql = "select *from userinfo";//查询表格中的所有数据
                            Statement statement = connection.createStatement();
                            ResultSet resultSet =  statement.executeQuery(sql);
                            if (resultSet != null) {
                                try{
                                    while(resultSet.next()) {
                                        String username = resultSet.getString("username");
                                        String password = resultSet.getString("password");
                                        Log.e("查询的数据", username+"   "+password);
                                    }
                                }catch (Exception e){
                                }
                            }

测试

为直观看到下面的测试增加一个用户名和密码

代码语言:javascript
复制
查询表格中的所有username字段的值
代码语言:javascript
复制
                            String sql = "select username from userinfo";//查询表格中的所有username字段的值
                            Statement statement = connection.createStatement();
                            ResultSet resultSet =  statement.executeQuery(sql);
                            if (resultSet != null) {
                                try{
                                    while(resultSet.next()) {
                                        String username = resultSet.getString("username");
                                        //String password = resultSet.getString("password");
                                        //Log.e("查询的数据", username+"   "+password);
                                        Log.e("查询的数据", username);
                                    }
                                }catch (Exception e){
                                }
                            }

运行测试

代码语言:javascript
复制
查询表格中的密码是666666的用户名
代码语言:javascript
复制
                            String sql = "select username from userinfo where password = 666666";//查询表格中的密码是666666的用户名
                            Statement statement = connection.createStatement();
                            ResultSet resultSet =  statement.executeQuery(sql);
                            if (resultSet != null) {
                                try{
                                    while(resultSet.next()) {
                                        String username = resultSet.getString("username");
                                        //String password = resultSet.getString("password");
                                        //Log.e("查询的数据", username+"   "+password);
                                        Log.e("查询的数据", username);
                                    }
                                }catch (Exception e){
                                }
                            }

运行测试

代码语言:javascript
复制
//查询表格中password是666666的所有数据
代码语言:javascript
复制
                            String sql = "select *from userinfo where password = 666666";//查询表格中password是666666的所有用户信息
                            Statement statement = connection.createStatement();
                            ResultSet resultSet =  statement.executeQuery(sql);
                            if (resultSet != null) {
                                try{
                                    while(resultSet.next()) {
                                        String username = resultSet.getString("username");
                                        String password = resultSet.getString("password");
                                        Log.e("查询的数据", username+"   "+password);
                                    }
                                }catch (Exception e){
                                }
                            }
                        }

运行测试

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-01-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 准备好测试的数据库
  • 加载mysql驱动
  • 连接数据库
  • 插入数据(第一种)
  • 插入数据(第二种)
  • 总结上两种插入数据方式
  • 插入数据(第三种)
  • 删除数据
  • 修改数据
  • 查询数据
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档