<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){ } } }
運行測試