更新_更新pip - CSDN
精华内容
参与话题
  • 几种更新(Update语句)查询的方法

    万次阅读 2009-07-17 15:56:00
    正 文:数据库更新就一种方法Update,其标准格式:Update 表名 set 字段=值 where 条件不过根据数据的来源不同,还是有所区别的: 1.从外部输入这种比较简单例:update tb set UserName="XXXXX" where UserID=...

    正 文:

    数据库更新就一种方法Update,
    其标准格式:Update 表名 set 字段=值 where 条件
    不过根据数据的来源不同,还是有所区别的:

     
    1.从外部输入
    这种比较简单
    例:update tb set UserName="XXXXX" where UserID="aasdd"

    2.一些内部变量,函数等,比如时间等
    直接将函数赋值给字段
    update tb set LastDate=date() where UserID="aasdd"

    3.对某些字段变量+1,常见的如:点击率、下载次数等
    这种直接将字段+1然后赋值给自身
    update tb set clickcount=clickcount+1 where ID=xxx

    4.将同一记录的一个字段赋值给另一个字段
    update tb set Lastdate= regdate where XXX

    5.将一个表中的一批记录更新到另外一个表中
    table1
    ID f1 f2
    table2
    ID f1 f2
    先要将table2中的f1 f2 更新到table1(相同的ID)

    update table1,table2 set table1.f1=table2.f1,table1.f2=table2.f2 where table1.ID=table2.ID

    6.将同一个表中的一些记录更新到另外一些记录中
    表:a
    ID   month   E_ID     Price
    1       1           1        2
    2       1           2        4
    3       2           1         5
    4       2           2        5
    先要将表中2月份的产品price更新到1月份中
    显然,要找到2月份中和1月份中ID相同的E_ID并更新price到1月份中
    这个完全可以和上面的方法来处理,不过由于同一表,为了区分两个月份的,应该将表重命名一下
    update a,a as b set a.price=b.price where a.E_ID=b.E_ID and a.month=1 and b.month=2

    当然,这里也可以先将2月份的查询出来,在用5.的方法去更新

    update a,(select * from a where month=2)as b set a.price=b.price where a.E_ID=b.E_ID and a.month=1

     

    展开全文
  • update更新数据

    千次阅读 2018-06-11 20:18:10
    1. 更新数据 语法: UPDATE <表名> SET <列名>=<表达式>,……[WHERE <逻辑表达式>] SET命令用来将新值赋给被更新的列,列名对应的是表达式是要待更新的值...

    1.     更新数据

     

    语法:      UPDATE <表名> SET <列名>=<表达式>,……

    [WHERE <逻辑表达式>]

     

    SET命令用来将新值赋给被更新的列,列名对应的是表达式是要待更新的值

    where逻辑表达式是用来取得想要需要修改的列的条件

     

    我们对lead表进行一系列操作

     

    (1).更新所有行

     

    更新no1和no2

    update lead set no1='A',no2='A01'

     

    结果:

     

    只更新no1

    update lead set no1='A01'

    这下子no1和no2都变成了A01 


    (2).更新特定行

     

           更新特定行需要加入where语句进行选择

     

    update lead set no2='A0101'

    where no2='B'

    这样我们就将表中所有no2值为B的修改为A0101,因为lead表中只有一项满足where要求,所以只修改了一条

    展开全文
  • Android 版本更新

    千次阅读 2019-04-16 11:08:29
    版本更新这一块涉及的知识点比较少,但也花了一天时间,仅做记录用,为了方便大家理解,我画了一张流程图。需求比较简单,以后可以根据产品需求适当更改。 以下版本更新工具类 /** * Created by minmin.shen ...

    摘要

    版本更新这一块涉及的知识点比较少,但也花了一天时间,仅做记录用,为了方便大家理解,我画了一张流程图。需求比较简单,以后可以根据产品需求适当更改。

    版本
    以下版本更新工具类

    /**
     * Created by minmin.shen
     * on 2019/1/23
     * 检查更新版本工具类
     */
    public class UpdateManager {
        private String downLoadPath = "";
        private String url = "";//apk下载地址
        private boolean isforce = false;
        private String oldApkName = "";
        private String newApkName = "";
        private Context context;
    
        private BaseDialog updataDialog;
        private BaseDialog installDialog;
        private ProgressDialog progressDialog;
        private FragmentManager fm;
        public static UpdateManager updateManager;
    
        public static UpdateManager getInstance() {
            if (updateManager == null) {
                updateManager = new UpdateManager();
            }
            return updateManager;
        }
    
        public void start(){
            if(checkIsHaveNewAPK()){
                showInstallDialog("发现新版本,是否安装?");
            }else{
                showUpdataDialog();
            }
        }
    
        /**
         * 版本更新提示框
         */
        public void showUpdataDialog() {
            updataDialog = BaseDialog.getInstance().setTitle("提示").setContent("发现新版本,是否更新?")
                    .setPositionText("取消", new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            updataDialog.dismiss();
                            if (isforce) {
                                System.exit(0);
                            }
                        }
                    })
                    .setNegativeText("更新", new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            updataDialog.dismiss();
                            createProgress(context);
                            new Thread(new Runnable() {
                                @Override
                                public void run() {
                                    downloadApk();
                                }
                            }).start();
    
                        }
                    });
            updataDialog.show(fm, "dialog for update");
        }
    
        /**
         * 弹出安装Dialog
         */
        private void showInstallDialog(String content){
            installDialog = BaseDialog.getInstance().setTitle("提示").setContent(content)
                    .setPositionText("取消", new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            installDialog.dismiss();
                            if (isforce) {
                                System.exit(0);
                            }
                        }
                    })
                    .setNegativeText("安装", new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            installDialog.dismiss();
                            File fileAPK = new File(downLoadPath, newApkName);
                            installApk(context, fileAPK);
                        }
                    });
            installDialog.show(fm, "dialog for install");
        }
    
        /**
         * 检查有没有最新的APK
         */
        private boolean checkIsHaveNewAPK(){
            File file = new File(downLoadPath);
            if (!file.exists()) {
                file.mkdirs();
            }
            File fileAPK = new File(downLoadPath, newApkName);
            if(fileAPK.exists()){
                return true;
            }
            return false;
        }
    
        /**
         * 删除旧的apk
         */
        private void delOldApk(){
            File fileAPK = new File(downLoadPath, oldApkName);
            if(fileAPK.exists()){
                fileAPK.delete();
            }
        }
    
        /**
         * 下载APK
         */
        private void downloadApk() {
            try {
                final long startTime = System.currentTimeMillis();
                Log.i("DOWNLOAD", "startTime=" + startTime);
                //获取文件名
                URL myURL = new URL(url);
                URLConnection conn = myURL.openConnection();
                conn.connect();
                InputStream is = conn.getInputStream();
                int fileSize = conn.getContentLength();//根据响应获取文件大小
                Log.i("DOWNLOAD", "总大小="+fileSize);
                if (fileSize <= 0) throw new RuntimeException("无法获知文件大小 ");
                if (is == null) throw new RuntimeException("stream is null");
                File file1 = new File(downLoadPath);
                if (!file1.exists()) {
                    file1.mkdirs();
                }
                //把数据存入路径+文件名
                FileOutputStream fos = new FileOutputStream(downLoadPath + "/" + newApkName);
                byte buf[] = new byte[1024];
                int downLoadFileSize = 0;
                do {
                    //循环读取
                    int numread = is.read(buf);
                    if (numread == -1) {
                        break;
                    }
                    fos.write(buf, 0, numread);
                    downLoadFileSize += numread;
                    Log.i("DOWNLOAD", "downLoadFileSize="+downLoadFileSize);
                    Log.i("DOWNLOAD", "fileSize="+fileSize);
                    Log.i("DOWNLOAD", "download downLoadFileSize="+(int)((float)downLoadFileSize*100/fileSize));
                    progressDialog.setProgress((int)((float)downLoadFileSize*100/fileSize));
                    //更新进度条
                } while (true);
                delOldApk();
                progressDialog.dismiss();
                showInstallDialog("下载完成,是否安装?");
                Log.i("DOWNLOAD", "download success");
                Log.i("DOWNLOAD", "totalTime=" + (System.currentTimeMillis() - startTime));
                is.close();
            } catch (Exception ex) {
                Log.e("DOWNLOAD", "error: " + ex.getMessage(), ex);
            }
        }
    
        /**
         * 强制更新时显示在屏幕的进度条
         */
        private void createProgress(Context context) {
            progressDialog = new ProgressDialog(context);
            progressDialog.setMax(100);
            progressDialog.setCancelable(false);
            progressDialog.setMessage("正在下载...");
            progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
            progressDialog.show();
        }
    
        /**
         * 安装apk
         */
        private void installApk(Context context, File file) {
            Intent intent = new Intent(Intent.ACTION_VIEW);
            //判断是否是AndroidN以及更高的版本
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
                Uri contentUri = FileProvider.getUriForFile(context, "com.baozun.book.fileProvider", file);
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
                intent.setDataAndType(contentUri, "application/vnd.android.package-archive");
            } else {
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
            }
            context.startActivity(intent);
        }
    
        /**
         * apk网络地址
         */
        public UpdateManager setContext(Context context) {
            this.context = context;
            return this;
        }
    
        /**
         * apk网络地址
         */
        public UpdateManager setUrl(String url) {
            this.url = url;
            return this;
        }
    
        /**
         * 新版本文件名
         */
        public UpdateManager setNewFileName(String fileName) {
            this.newApkName = fileName;
            return this;
        }
    
        /**
         * 旧版本文件名
         */
        public UpdateManager setOldFileName(String fileName) {
            this.oldApkName = fileName;
            return this;
        }
    
        /**
         * Fragment管理器
         */
        public UpdateManager setFragmentManager(FragmentManager fm) {
            this.fm = fm;
            return this;
        }
    
        /**
         * 下载路径
         */
        public UpdateManager setDownloadPath(String downLoadPath) {
            this.downLoadPath = downLoadPath;
            return this;
        }
    
        /**
         * 是否强制更新
         */
        public UpdateManager setIsforce(boolean isforce) {
            this.isforce = isforce;
            return this;
        }
    
    }
    

    下面是发起调用

    public static void checkUpdate(Context context, android.support.v4.app.FragmentManager fm, float versionCode, String url, boolean isForced) {
       if (versionCode > Float.parseFloat(Util.getCurrentVersionName(context))) {
          String downLoadPath = context.getExternalFilesDir(null).toString() + "/download/";
               String newFileName = "U_Reading"+versionCode+".apk";
          String oldFileName = "U_Reading"+Float.parseFloat(Util.getCurrentVersionName(context))+".apk";
    
          //设置参数
          UpdateManager.getInstance()
                .setContext(context)
                .setFragmentManager(fm)
                .setDownloadPath(downLoadPath)
                .setNewFileName(newFileName)
                .setOldFileName(oldFileName)
                .setUrl(url)
                .setIsforce(isForced)
                .start();
       }
    }
    

    其中安装apk需要注意下,在manifest文件中加入代码

    <provider
        android:name="android.support.v4.content.FileProvider"
        android:authorities="com.baozun.book.fileProvider"
        android:grantUriPermissions="true"
        android:exported="false">
                 
        <meta-data
            android:name="android.support.FILE_PROVIDER_PATHS"
            android:resource="@xml/file_paths"/>
    </provider>
    

    在这里插入图片描述
    在资源文件中加入

    <?xml version="1.0" encoding="utf-8"?>
    <paths>
        <external-path
            name="files_root"
            path="Android/data/com.baozun.book/" />
                     
        <external-path
            name="external_storage_root"
            path="." />
    </paths>
    

    先简单写一下,待详细整理

    ---------------------------------------------------------------2019/4/16号更新----------------------------------------------------------------

    近期发现代码安装APK的时候,在华为手机上不会弹出安装界面

    需要在清单文件中配置权限

    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
    
    展开全文
  • @Update动态更新

    千次阅读 2018-08-13 23:40:35
    动态更新的sql语句书写示例 : 7.0 请求示例 : { "id": 44, "createBy": "薛衎22", "updateBy": null, "updateTime": null, "description&qu

    动态更新的sql语句书写示例 :

    7.0 请求示例 :

              {
                "id": 44,
                    "createBy": "薛衎22",
                    "updateBy": null,
                    "updateTime": null,
                    "description": "基础资源组件",
                    "name": null,
                    "parentId": null,
                    "type": 1,
                    "httpMethod": null,
                    "sortOrder": null,
                    "component": "动态更新2",
                    "url": null,
                    "title": null,
                    "icon": null,
                    "level": 3,
                    "buttonType": null,
                    "status": 1,
                    "children": null,
                    "buttonTypes": null,
                    "expand": true,
                    "checked": false
              }
    

    7.1 controller及入口示例:

          @PostMapping("/resource/update/selective")
              public EosResponse  updateResourceInfoBySelective(@RequestBody Resource resource , HttpServletRequest request){
                  try {
    
                      String token = JwtTokenUtils.getTokenFromHttpRequest(request);
                      StaffBaseInfo baseInfo = JwtTokenUtils.getStaffBaseInfoFromToken(token);
                      Boolean  result =  resourceService.updateResourceInfoBySelective(baseInfo , resource);
                      if(result){
                          return  new EosResponse().success("更新资源数据数据成功");
                      }
                      return new EosResponse().fail("更新资源数据失败");
                  } catch (Exception e) {
                      e.printStackTrace();
                      return new EosResponse().fail("更新资源数据失败:"+e.getMessage());
                  }
    
              }
    

    7.2 service层调用:

           @Override
              public Boolean updateResourceInfoBySelective(StaffBaseInfo baseInfo , Resource resource) {
                  resource.setUpdateTime(new Date());
                  resource.setCreateBy(baseInfo.getStaffCode());
                  return resourceMapper.updateResourceInfoBySelective(resource);
              }
    

    7.3 Mapper层书写动态update的sql语句:
    注意update语句里的逗号需要根据自己的表合理安排位置 (最后一个参数无逗号) :

     update tf_m_resource  SET create_by = 'hh' ,   update_time = CURRENT_TIMESTAMP ,  description = 222   ,  type = 1  ,    level = 1 ,   status = 1   where id = 62:
    
           @Update({"<script>",
                      "update tf_m_resource",
                        "<set>",
                      "<if test='createBy != null'>",
                      "create_by = #{createBy} ,",
                      "</if>",
                      "<if test='createTime != null'>",
                      "create_time = #{createTime} ,",
                      "</if>",
                      "<if test='updateTime != null'>",
                      "update_time = #{updateTime} ,",
                      "</if>",
                      "<if test='description != null'>",
                      "description = #{description} ,",
                      "</if>",
                      "<if test='name != null'>",
                      "name = #{name} ,",
                      "</if>",
                      "<if test='parentId != null'>",
                      "parent_id = #{parentId} ,",
                      "</if>",
                      "<if test='type != null'>",
                      "type = #{type} ,",
                      "</if>",
                      "<if test='httpMethod != null'>",
                      "http_method = #{httpMethod} ,",
                      "</if>",
                      "<if test='sortOrder != null'>",
                      "sort_order = #{sortOrder} ,",
                      "</if>",
                      "<if test='url != null'>",
                      "url = #{url} ,",
                      "</if>",
                      "<if test='title != null'>",
                      "title = #{title} ,",
                      "</if>",
                      "<if test='icon != null'>",
                      "icon = #{icon} ," ,
                      "</if>",
                      "<if test='level != null'>",
                      "level = #{level} ,",
                      "</if>",
                      "<if test='buttonTypes != null'>",
                      "button_type = #{buttonTypes} ,",
                      "</if>",
                      "<if test='status != null'>",
                      "status = #{status} ,",
                      "</if>",
                      "update_by = CURRENT_TIMESTAMP ",
                      "</set>",
                      "where id = #{id}",
                      "</script>"})
              Boolean updateResourceInfoBySelective(Resource resource);
    
    展开全文
  • Anaconda 更新失败的解决办法

    万次阅读 2019-03-26 09:54:41
    本地环境: Windows 10,Anaconda Python 3.7.1 1:异常现象 错误信息: C:\Users\faily>conda install scrapy Solving environment: failed CondaHTTPError: ...
  • Ubuntu 更新资源与更新升级

    万次阅读 2018-08-15 10:26:29
    1、update一下更新资源 sudo apt-get update 2、对系统中的软件都更新升级 sudo apt-get upgrade 3、更新升级某个软件 例如这里更新gimp: sudo apt-get upgrade gimp 4、利用自带软件进行更新 ...
  • mybatis 批量更新update详解

    万次阅读 2018-07-31 18:02:50
    更新单条记录  UPDATE course SET name = 'course1' WHEREid = 'id1'; 2 更新多条记录的同一个字段为同一个值  UPDATE course SET name='course1' WHERE id in('id1','id2','id3); 3 更新多条...
  • R | 如何更新R版本及Rstudio

    万次阅读 2019-07-27 23:29:02
    文章目录Windows下更新R版本及Rstudio一、更新R版本二、Rstudio中更新R Windows下更新R版本及Rstudio 在R中安装一些包时,经常会出现包与旧版本R不兼容的问题,所以就对Windows下R的版本进行了更新(Version 3.4.4—...
  • windows10彻底关闭自动更新

    万次阅读 热门讨论 2018-01-18 10:38:11
    今天自动更新要了1个多小时,终于决定关闭自动更新了。之前设置过但是还是会有自动更新,这次是彻底关闭自动更新。1、此电脑---->右键管理2、双击Windows Update 进入,常规---->启动类型--禁用3、到这里就按确定的...
  • git 更新代码到本地

    万次阅读 多人点赞 2018-03-30 17:26:28
    正规流程 ... 若文件需要更新到服务器上,应该先merge到服务器,再更新到本地) git branch(查看当前分支情况) git checkout remote branch (若分支为本地分支,则需切换到服务器的远程分支) git ...
  • python的pip如何更新到最新版本

    万次阅读 多人点赞 2016-12-09 20:28:40
    如何将pip更新到最新版本? 只用使用命令如下就可以更新了。 python -m pip install --upgrade pip
  • 1. 更新表中所有行 2.更新表中特定行 ,更新时候一定不要省略WHERE子句,否则会更新所有行。 更新update语句分为三部分,格式如下:  1 更新的表  2 列名和新的值  3 确定更新哪些行的过滤条件 单个...
  • 解决Mysql-无法批量更新的问题

    万次阅读 2020-05-12 16:06:14
    在连接字符串上加个 allowMultiQueries=true 参数即可 url:jdbc:mysql://localhost:3306/meicharacterEncoding=utf8&allowMultiQueries=true
  • Git: 更新单个或指定的文件

    万次阅读 2014-03-29 00:32:45
    SVN更新单个文件只需要svn up file/to/update,非常简单,而且没有歧义.Git由于在远端和本地都有一个代码库, 这样更新单个文件比SVN要麻烦一点.1. 如果想拿远端git服务器上的最新版本(或某个特定版本)覆盖本地的修改,...
  • 谷歌浏览器检查更新报错:检查更新时出错:无法启动更新检查(错误代码为 3: 0x80080005 – system level),如下图所示: 网上的解决方法都是因为谷歌被墙,所以要重新下载,事实上并不是这个原因,首先我们检查...
  • Magisk Manager_一直提示_正在检查更新

    万次阅读 2019-11-07 21:37:16
    我的主要解决手段是通过爬梯子来解决 首先爬梯子 如果只是爬梯子不能够解决问题 则----“设置”–“选择更新通道”_选择其他通道进行尝试,记住实在有梯子的前提下 ...
  • 当新增记录的时候,mysql自动将系统的当前时间set到创建时间和更新时间这两个字段中。 当更新记录的时候,mysql只update更新时间字段的时间,而不修改创建时间字段对应的值。方案: 找到表中对应的创建时间和更新...
  • 现在 Google Chrome 的稳定版都已经发布 39.0 版本了,我机上还是 31, 本想在线更新一下,结果点击菜单项中的“关于 Google Chrome”后,进入的界面提示“更新失败(错误:3)检查更新时出错:无法启动更新检查...
  • Win10问题篇:一次性永久关闭win10系统自动更新

    万次阅读 多人点赞 2019-08-14 21:04:47
    今天我的Win10系统又自动更新了,这让我很困惑,明明按百度上说的关闭了Windows Update服务怎么还会更新。 我抱着怀疑的态度再次打开服务。 冷静分析是这里的锅。可是这个系统组件又不能关闭。 设置一切正常...
  • npm更新和nodejs更新

    万次阅读 2017-05-25 13:58:06
    npm更新和nodejs更新更新你已经安装的NPM库,这个很简单,只需要运行。 npm update –g更新Nodejs自身。一直依赖我都是下载最新版的源码,然后make install,及其繁琐。其实只需要运行以下2个命令即可: npm install...
1 2 3 4 5 ... 20
收藏数 4,033,159
精华内容 1,613,263
关键字:

更新