当前位置:   article > 正文

工控机 安装 mysql_安卓系统远程数据库MySql的操作

android 远程维护mysql

安卓系统远程数据库MySql的操作

2018年08月28日 09:39:30来源:Android工业平板电脑数据库操作作者:Android工业平板电脑数据库操作关键词:工控机

开发零碎:Android4.4.2

开发平台:广州微嵌安卓工业平板

开发工具:eclipse

开发言语:Java

运用的数据库:MySql

在日常的开发安卓顺序中,很多时分都触及到少量的数据管理,虽然安卓零碎有自带的数据库sqlite,但sqlite是轻量级的,有时分满足不了运用的需求,这时分就需求衔接近程的数据库停止对数据的管理,上面我们就来学习下在安卓上是如何衔接近程数据库运用的,本次所运用的近程数据库是MySql,装置在电脑下面,经过网络衔接MySql效劳器,从而可以近程操作数据库。

在数据库操作中运用的一个类Connection:衔接表示从Java使用顺序到数据库的链接

1、添加数据库的驱动:在安卓上衔接近程数据库需求先加载数据库驱动,不同的数据库的加载略有不同,这里以MySql爲例,以下的一切操作都是针对MySql的.try{    Class.forName("com.mysql.jdbc.Driver");             Toast.makeText(this, "数据库加载成功", Toast.LENGTH_LONG).show();}catch(ClassNotFoundException e){    Toast.makeText(this, "数据库加载失败\n"+e, Toast.LENGTH_LONG).show();}

添加mysql驱动阐明:下载mysql的驱动文件”mysql-connector-java-5.0.8-bin.jar”,在项目根目录下新建文件夹lib,将mysql的驱动文件”mysql-connector-java-5.0.8-bin.jar”拷贝到lib下

2、衔接近程数据库,在衔接前先确保近程数据数据库允许其它衔接try{    String ip = sqlipedit.getText().toString();    /*近程效劳器的ip跟端口号,运用账号、密码,不同的数据库运用的衔接端口、命令都不同        mysql运用的衔接命令:jdbc:mysql//192.168.1.xxx:3306    */    Connection con = DriverManager.getConnection("jdbc:mysql:"+"//192.168.1.64:3306",                        "admin","admin");    System.out.println("衔接成功");         }catch(SQLException e){             e.printStackTrace();                    System.out.println("失败");}

3、获取数据库效劳器中已存在的一切数据库运用的命令:show databasesStatement statement = null;  ResultSet result = null;  try {      //显示数据库命令    String sql = "show databases";      statement = (Statement) conn.createStatement();          //执行获取数据库的命令         result = statement.executeQuery(sql);       //获取数据库的数量          int size = result.getRow();        //获取数据库的名字      while(result.next()){            Log.d("DatabaseName", result.getString(1));        }             } catch (SQLException e) {        e.printStackTrace();    } finally {        try {            if (result != null) {                result.close();                            result = null;            }            if (statement != null) {                statement.close();                statement = null;            }        } catch (SQLException sqle) {        }  }

4、切换以后衔接所运用的数据库:try {    if(!con.isClosed()){        //办法阐明:设置此衔接的目录称号,参数就是后面获取到的数据库的名字                      con.setCatalog((String)databasename);    }} catch (SQLException e) {    // TODO 自动生成的 catch 块    e.printStackTrace();}

5、执行sql命令的办法有两种:

一、Statement.excuteQuery(String sqlcmd):不对数据库中的内容做修正,只用于查询

二、Statement.excuteUpdate()String sqlcmd)对数据库中的内容做修正,包括增删改等,将该操作封装成一个办法一切的操作可以间接运用/*执行mysql的修正命令,包括增、删、改等命令 *参数:conn:衔接数据库的链接,sql:数据库的操作命令 *前往值:爲成功操作的数据个数,如:执行修正数据的命令后,有n条列的数据被成功修正,前往值就是n.*/public  int query_l(Connection conn, String sql) {      int row = -1;    if (conn == null) {          return -1;      }      Statement statement = null;      ResultSet result = null;      try {          statement = (Statement) conn.createStatement();          //该办法用于修正数据库内容的。        row = statement.executeUpdate(sql);                           } catch (SQLException e) {          e.printStackTrace();      } finally {          try {              if (result != null) {                  result.close();                  result = null;              }              if (statement != null) {                  statement.close();                  statement = null;              }          } catch (SQLException sqle) {          }      }     return row;}

6、获取数据库下的一切数据表//运用命令:show tables from databasename//运用该命令可以获取某一数据库下的一切数据表String sql = "show tables from databasename";Statement statement = null; ResultSet result = null;try {      statement =(Statement)con.createStatement();        result = statement.executeQuery(sql);      while(result.next()){          Log.d("TableName",result.getString(1));                                                    }} catch (SQLException e) {}

7、获取数据表下的一切字段跟数据//获取字段跟字段类型,运用命令:select from tableString sql = "select * from " + tablename;String ss = "";java.sql.PreparedStatement ps = con.prepareStatement(sql);  ResultSet rs = ps.executeQuery();  java.sql.ResultSetMetaData meta = rs.getMetaData();  //字段数量int columeCount = meta.getColumnCount();int[] data = new int[columeCount];            //获取字段名跟字段类型for (int i = 1; i < columeCount + 1; i++) { data[i-1] = rs.findColumn(meta.getColumnName(i)); Log.d("字段名",meta.getColumnName(i)); Log.d("字段类型",meta.getColumnType(i)); } //依据字段名获取该字段的一切数据Statement statement = null; ResultSet result = null; System.out.println(sql); List list = new ArrayList();try { statement = (Statement) conn.createStatement(); result = statement.executeQuery(sql); if (result != null && result.first()) { while (!result.isAfterLast()) { String str = ""; //该处的data就是后面的data,一个for循环完毕获取到的是一条完好的数据 for(int i:data){ //依据字段名获取相应的数据内容 str += result.getString(i)+"\t\t"; } result.next(); } } } catch (SQLException e) { e.printStackTrace(); }

8、新建数据库运用命令:create database databasenameString sql = "create database databasename";query_l(con,sql);

9、删除数据库运用命令:drop database databasenameString sql = "drop database databasename";query_l(con,sql);

10、删除数据库中的数据表运用命令:drop table tablenameString sql = "drop table tablename";query_l(con,sql);

11、新建数据表运用命令:create table tablename(字段名1 字段类型, 字段名2 字段类型,字段名3...);String sql = "create table tablename(name char(20),sex int(4),number int(4))";query_l(con,sql);//创立成功后该表中有三个字段:name、sex、number,字段类型辨别是:char(20)、int(4)、int(4)

12、清空表中数据运用命令:delete from tablenameString sql = "delete from tablename";query_l(con,sql);

13、向表中拔出数据运用命令:insert into table value(name1 ,sex1, number1),(name2,sex2,number2),...该处拔出数据应与数据表中的字段逐个对应String sql = “insert into tablename value('张三',1,1002),('李四',1,1003),('王五',0,1004)”;query_l(con,sql);

14、删除某一字段运用的命令:alter table tablename drop 字段名String sql = “alter table tablename drop sex”;query_l(con,sql);//执行完后该表中就没有sex的字段了

15、更改字段名跟类型运用命令:alter table tablename change 字段名 新字段名 新字段类型String sql = "alter table tablename change number age int(4)";query_l(con,sql);//执行完后该表中number字段就变为了age

16、重命名表运用命令:rename table tablename to newtablenameString  sql = "rename table tablename to newtablename";query_l(con,sql);//执行完后就可将原表tablename重命名爲newtablename

17、修正数据表中的数据运用命令:update tablename set name='aaa' where num=1005命令阐明:假如数据表中无数据num=1005,就将该列数据中的name修正成aaaString sql = "update tablename set name='aaa' where num=1005";query_l(con,sql);//假如运用的命令是:update tablename set name='aaa',表示将该表中一切列的数据中的nam

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/312308
推荐阅读
相关标签
  

闽ICP备14008679号