數據庫: Android使用JDBC連接數據庫實現增 刪 該 查 操作(5.0版本)


 <p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/LearnMysql" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

 

 

前言

  上一節的代碼沒有測試通過,暫時沒有找到問題,這節咱用5.0的jar包

  

 

 

  配置數據庫,導入jar包參考上一節(導入這節的jar包)

 

准備好測試的數據庫

  IP: 47.92.31.46

  用戶名: yang

  密碼:    11223344.

  數據庫名字 :  databasetest

  表格:  userinfo

  

 

  這是我雲端電腦安裝的數據庫,大家都可以連接測試

  我設置了權限,只可以增刪改查數據

加載mysql驅動

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

  

  

 

 

 

連接數據庫

  

            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();

 

 

 

 

因為是網絡通信,所以加上任務,防止超時連接阻塞造成卡機

 

 
        
Connection connection = DriverManager.getConnection("jdbc:mysql://47.92.31.46/databasetest?" +
        "user=yang&password=11223344.&characterEncoding=utf-8");
 
         
         
        

 

 
        
47.92.31.46 :IP地址(自己電腦的IP地址)
databasetest   :數據庫名字
user=yang     :設置連接的數據庫的用戶名
password=11223344. :設置連接的數據庫的密碼
characterEncoding=utf-8  :編碼方式
 

插入數據(第一種)

 

  一,插入數據,id是1,用戶名是yang 密碼是11223344

 

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

  insert into userinfo : 插入數據到 userinfo 表格 

  1 :id的值,自動遞增

  yang : 用戶名

  11223344 :密碼

  注:一般插入字符串型數據需要在數據兩邊加   '    '

  也就是  '數據'

  

                            String sql = "insert into userinfo "+ " values(1,"+"'"+ "yang" +"'"+ "," +"'"+"11223344"+"'"+")";//第一種
                            Statement statement = connection.createStatement();
                            statement.execute(sql);//提交

 

 

  

 

 

 

運行測試

  

 

 

 

插入數據(第二種)

  

String sql = "insert into userinfo "+ " values(NULL,"+"'"+ "yangyang" +"'"+ "," +"'"+"11223344"+"'"+")";

 

 

 

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

設置第一個字段是空,意思是不填寫第一個字段(默認就會自動遞增)

 

 

 

 

 

 

 

 

運行測試

 

  

 

 

 

 

 

 

總結上兩種插入數據方式

  values里面的值依次填到表格中,如果數據不夠,后面的就不插入數據

  

 

 

 

 

 

 

插入數據(第三種)

  

String sql = "insert into userinfo (username,password)"+ "values(" +"'"+ "yangyang" +"'"+ "," +"'"+"11111111"+"'"+")";

 

(username,password) 后面的values里面的數據對應插到哪個字段里面
yangyang 插入到 username 字段里面
11111111 插入到 password 字段里面

 

 
        

運行測試

 
        

  

 

刪除數據

String sql = "delete from userinfo "+" where "+"username = "+"'"+"yang" +"'";

刪除 userinfo表格中 username字段中是 yang的數據

意思就是刪除,下面這條數據

 

 

 

 

 

 

運行測試

 

  

 

 

 

 

 

 

 

 

 

String sql = "delete from userinfo "+" where "+"username = "+"'"+"yangyang" +"'"+ " and " +"password ="+"'"+"00000000"+"'";

刪除 userinfo表格中 username字段中是 yangyang,同時password字段中是 00000000 的數據

 

 

 

 

 

其實就是刪除這個

 

  

 

 

 

 

運行測試

 

  

 

 

 

 

 

修改數據

  

String sql = "update userinfo set password="+"'"+"888888"+"'" +"where username="+"'"+"yangyang"+"'";

 

 

 

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

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

其實就是把11111111修改為888888

 

 

 

 

 

 

 

 

運行測試

 

  

 

 

 

 

當然也可以直接設置

String sql = "update userinfo set password="+"'"+"888888"+"'";

 

 

 

 

 

 

 

 

查詢數據

                            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){
                                }
                            }

 

 

 

 測試

  

 

 

 

 為直觀看到下面的測試增加一個用戶名和密碼

 

 

 

 

 

 

 

 

 

 

 

 

查詢表格中的所有username字段的值
                            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){
                                }
                            }

 

 運行測試

  

 

 

 

 

 

 

 

查詢表格中的密碼是666666的用戶名

 

                            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){
                                }
                            }

 

運行測試

  

 

 

 

//查詢表格中password是666666的所有數據

                            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){
                                }
                            }
                        }

 

運行測試

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM