月度存档: 11 月 2020

如何将oracle语句转换成mysql语句

https://blog.csdn.net/qq_41622282/article/details/99689319?utm_medium=distribute.pc_relevant.none-task-blog-title-2&spm=1001.2101.3001.4242

MAC中安装oracle11g,并导入数据

参考出处https://blog.csdn.net/qq_38380025/article/details/80647620
https://blog.csdn.net/qq_34928194/article/details/103536736
使用docker,如果网速好的话,从开始动手到可以使用大概也不用20分钟。

安装步骤如下:

1、安装docker

文件下载:下载docker

2、安装oracle

在终端中执行:

docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
下载完成后,启动镜像为容器:

docker run -h “oracle” –name “oracle” -d -p 49160:22 -p 49161:1521 -p 49162:8080 alexeiled/docker-oracle-xe-11g
执行成功后,可使用数据库连接工具进行访问:

默认用户是system,密码oracle。当然一般的做法是创建一个普通用户,使用这个用户进行操作。

3、创建用户

   在终端中执行以下命令进入容器:

docker exec -it 806ebe7f5231 /bin/bash
其中806ebe7f5231是容器id,可使用如下命令获得:

docker ps

进入容器后,使用如下命令登录:

sqlplus system/oracle
然后再创建用户,授权等。

4、导入数据

创建用户、表空间成功后,下一步就要导入数据。

注意:先要将数据库备份文件复制到容器中才能导入。

退出oracle连接后,使用root在容器中创建一个目录,用于放置数据库文件:

mkdir dbfile
exit退出容器,在终端中执行命令,将备份复制到容器:
sudo docker cp /Users/xxx/Desktop/backup.dbf bf939e7c2bd8:/dbfile
以上命令中,/Users/xxx/Desktop/backup.dbf是数据库备份在mac中的全路径,bf939e7c2bd8是容器id,/dbfile是在容器中的存放目录。

复制完成后,再次进入容器,使用sqlplus连接到数据库,按一般步骤进行imp导入即可。

停止/启动oracle服务:

docker stop oracle
docker start oracle

MySQL导入csv

导入csv文件

使用如下命令:
mysql> load data infile "your csv file path" into table [tablename] fields terminated by ','
注意上面导入文件时,都需要提前建立好与文件内各个段对应好的数据表。并且文件的路径需要使用引号括起来,双引号和单引号都可以。

mysql去重的最方便的方法

方法一:

在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是 distinct只能返回它的目标字段,而无法返回其它字段

下面先来看看例子:

table
id name
1 a
2 b
3 c
4 c
5 b

库结构大概这样,这只是一个简单的例子,实际情况会复杂得多。

比如我想用一条语句查询得到name不重复的所有数据,那就必须使用distinct去掉多余的重复记录。

select distinct name from table
得到的结果是:

name
a
b
c

好像达到效果了,可是,我想要得到的是id值呢?改一下查询语句吧:

select distinct name, id from table

结果会是:

id name
1 a
2 b
3 c
4 c
5 b

distinct怎么没起作用?作用是起了的,不过他同时作用了两个字段,也就是必须得id与name都相同的才会被排除。。。。。。。

我们再改改查询语句:

select id, distinct name from table

很遗憾,除了错误信息你什么也得不到,distinct必须放在开头。难到不能把distinct放到where条件里?能,照样报错。。。。。。。

最终好用的语句如下:

select *, count(distinct name) from table group by name

结果:

id name count(distinct name)
1 a 1
2 b 1
3 c 1

最后一项是多余的,不用管就行了,目的达到。。。。。

哦,对,再顺便说一句,group by 必须放在 order by 和 limit之前,不然会报错。。。。。。。。!OK了

总结语句:select *, count(distinct name) from (select * from table……等嵌套语句) group by name
参考出处:https://blog.csdn.net/djun100/article/details/84473838?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

yii2布局全屏

方法一:
导航栏下面的页面在宽屏上不留白的办法
修改views/layouts/main.php
将class=”container” 改成class=”container-fluid”
方法二:

<?php

/* @var $this yii\web\View */

$this->title = '企业画像123';
?>
<style>


.mydivstyle{ border-style:solid; border-width:1px; border-color:#000;width: 1s50px;height:100px;
  background:#000066;

}
h2{
color:#ffffcc;
}
//图片与div同缩放
#testfullscreen{
    background-image: url(img/bg.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
}


</style>

<script>
function showFull(){
               var full=document.getElementById("testfullscreen");
               launchIntoFullscreen(full);
            }

function delFull() {
                exitFullscreen();
            }
//全屏方法封装:
            function launchIntoFullscreen(element) {
                if(element.requestFullscreen){
                    element.requestFullscreen();
                }
                else if(element.mozRequestFullScreen) {
                    element.mozRequestFullScreen();
                }
                else if(element.webkitRequestFullscreen) {
                    element.webkitRequestFullscreen();
                }
                else if(element.msRequestFullscreen) {
                    element.msRequestFullscreen();
                }
            }
            //退出全屏
            function exitFullscreen() {
                if(document.exitFullscreen) {
                    document.exitFullscreen();
                } else if(document.mozCancelFullScreen) {
                    document.mozCancelFullScreen();
                } else if(document.webkitExitFullscreen) {
                    document.webkitExitFullscreen();
                }
            }
</script>

<div class="site-index">



    <div class="body-content" id="testfullscreen">
    <button  onclick="showFull();">
                全屏
            </button>
<button  onclick="delFull();">
                退出全屏
            </button>
<div class="row clearfix">
        <div class="col-md-4 column">

                            <div class="row-lg-4">
                                <h2>0</h2>
                                <h2>企业高管信息</h2>

                               <div id="main" class="mydivstyle"></div> 
                                <p><a class="btn btn-default" href="http://localhost/index.php?r=site%2Fabout">更多»</a></p>
                            </div>
                            <div class="row-lg-4">
                                <h2>0</h2>
                                <h2>企业综合信息</h2>

                                <div id="m2" class="mydivstyle"></div>
                               <p><a class="btn btn-default" href="http://localhost/index.php?r=site%2Fabout">更多»</a></p>
                            </div>
                            <div class="row-lg-4">
                                <h2>0</h2>
                                <h2>企业图谱</h2>

                                <div id="m3" class="mydivstyle"></div>
                                <p><a class="btn btn-default" href="http://localhost/index.php?r=site%2Fabout">更多»</a></p>
                            </div>
                        </div>
        </div>
        <div class="col-md-4 column">
        </div>
        <div class="col-md-4 column">
        </div>
</div>









    </div>
</div>

<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js">
</script>

<script language="javascript">
$('#aa').load("data.txt");
</script>


       <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
       <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts-gl/dist/echarts-gl.min.js"></script>
       <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts-stat/dist/ecStat.min.js"></script>
       <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/extension/dataTool.min.js"></script>
       <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/map/js/china.js"></script>
       <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/map/js/world.js"></script>
       <script type="text/javascript" src="https://api.map.baidu.com/getscript?v=2.0&ak=BAfb9bb97f7b712e5426859ac957c98f"></script>
       <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/extension/bmap.min.js"></script>


<!--script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js"></script-->

<script type="text/javascript">
var dom = document.getElementById("main");
var myChart = echarts.init(dom);
var app = {};
option = null;
myChart.showLoading();
$.get('http://localhost/data.txt', function (data) {

    myChart.hideLoading();

    echarts.util.each(data.children, function (datum, index) {
        index % 2 === 0 && (datum.collapsed = true);
    });

  /* myChart.setOption(option = {
        tooltip: {
          //  trigger: 'item',
           // triggerOn: 'mousemove'
        },
        series: [
            {
                type: 'tree',

                data: [data1],

               s top: '1%',
                left: '7%',
                bottom: '1%',
                right: '20%',

               symbolSize: 7,

                label: {
                    position: 'left',
                    verticalAlign: 'middle',
                    align: 'right',
                    fontSize: 9
                },

                leaves: {
                    label: {
                        position: 'right',
                        verticalAlign: 'middle',
                        align: 'left'
                    }
                },

                expandAndCollapse: true,
               // animationDuration: 550,
                //animationDurationUpdate: 750
            }
        ]
    });*/
      myChart.setOption({
         tooltip: {
            trigger: 'item',
            triggerOn: 'mousemove'
        },
    series : 
    [
        {
           "name": "国资委",
           "type": "tree", 
           top: '1%',
                left: '7%',
                bottom: '1%',
                right: '30%',
                 symbolSize: 10,
                 label: {
                    position: 'left',
                    verticalAlign: 'middle',
                    align: 'right',
                    fontSize: 10
                },leaves: {
                    label: {
                        position: 'right',
                        verticalAlign: 'middle',
                        align: 'left'
                    }
                },
           'data':[
                {
                  "id": "000000000",
                  "parentId": null,
                  "name": "国资委",
                  "dataId": null,
                  "companyCount": 782,
                  "children": [{
                      "id": "73746554X9",
                      "parentId": "000000000",
                      "name": "上海同盛投资(集团)有限公司(集团汇总表)",
                      "dataId": "09a30b23-6ff2-4f9b-8d32-f4ac3f8529db",
                      "companyCount": 9,
                      "children": [{
                          "id": "7672369670",
                          "parentId": "73746554X9",
                          "name": "上海同盛置业有限公司(单户表)",
                          "dataId": "03621932-9a7d-4001-aabe-1443541daecd",
                          "companyCount": 0,
                          "children": [
                            {
            "id": "7377674250",
            "parentId": "73746554X9",
            "name": "洋山同盛港口建设有限公司(单户表)",
            "dataId": "459c3698-0bc0-4869-8b9f-df45a1efa9c2",
            "companyCount": 0,
            "children": [{
            "id": "7377674250",
            "parentId": "73746554X9",
            "name": "洋山同盛港口建设有限公司(单户表)",
            "dataId": "459c3698-0bc0-4869-8b9f-df45a1efa9c2",
            "companyCount": 0,
            "children": [{
            "id": "7377674250",
            "parentId": "73746554X9",
            "name": "洋山同盛港口建设有限公司(单户表)",
            "dataId": "459c3698-0bc0-4869-8b9f-df45a1efa9c2",
            "companyCount": 0,
            "children": [{
            "id": "7377674250",
            "parentId": "73746554X9",
            "name": "洋山同盛港口建设有限公司(单户表)",
            "dataId": "459c3698-0bc0-4869-8b9f-df45a1efa9c2",
            "companyCount": 0,
            "children": []
        }]
        }]
        }]
        }

                          ]
                      }, {
            "id": "7844456480",
            "parentId": "73746554X9",
            "name": "洋山同盛联合投资发展有限公司(单户表)",
            "dataId": "3f127dff-efc2-4aa1-93f7-2fbc1c85c388",
            "companyCount": 0,
            "children": []
        }, {
            "id": "7377674250",
            "parentId": "73746554X9",
            "name": "洋山同盛港口建设有限公司(单户表)",
            "dataId": "459c3698-0bc0-4869-8b9f-df45a1efa9c2",
            "companyCount": 0,
            "children": []
        }, {
            "id": "73746554X0",
            "parentId": "73746554X9",
            "name": "上海同盛投资(集团)有限公司(单户表)",
            "dataId": "46e1c2b8-034a-461f-a719-777b2997b955",
            "companyCount": 0,
            "children": []
        }, {
            "id": "73746554X1",
            "parentId": "73746554X9",
            "name": "上海同盛投资(集团)有限公司(集团差额表)",
            "dataId": "5766e8f8-1cac-4143-8de9-f5653ceeddbb",
            "companyCount": 0,
            "children": []
        }, {
            "id": "7605970730",
            "parentId": "73746554X9",
            "name": "上海同盛电力有限公司(单户表)",
            "dataId": "5ef32ea1-785c-4b9f-830b-3f8152d5f715",
            "companyCount": 0,
            "children": []
        }, {
            "id": "7595844510",
            "parentId": "73746554X9",
            "name": "上海同盛投资集团资产管理有限公司(单户表)",
            "dataId": "64073d4d-ed15-4ab9-9620-9030b8fd11b1",
            "companyCount": 0,
            "children": []
        }, {
            "id": "7655620720",
            "parentId": "73746554X9",
            "name": "上海同盛水务有限公司(单户表)",
            "dataId": "6f3b9252-5656-4ff7-8f96-39879caee530",
            "companyCount": 0,
            "children": []
        }, {
            "id": "1345456470",
            "parentId": "73746554X9",
            "name": "上海同盛投资集团房地产有限公司(单户表)",
            "dataId": "8b5e06f8-4dbc-41f4-8896-e1874b509853",
            "companyCount": 0,
            "children": []
        }]
                    }]
                  }
           ]
        }
    ]
});



});
if (option && typeof option === "object") {
    myChart.setOption(option, true);
}
       </script>

d3.js自定义组件

<html>
    <head>
        <meta charset="utf-8">
        <!--script type="text/javascript" src="https://d3js.org/d3.v6.min.js"></script-->
        <script type="text/javascript" src="d3.js"></script>
        <script type="text/javascript" src="demo2.js?r=12s"></script>
    </head>
    <body onload="demo2()">
        <svg id="sticker" width="600" height="300" style="background: lightgrey"/>
            <p>hello,today is a good day!</p>
    </body>
</html>
function sticker(sel,label){
    sel.append("rect").attr("rx",5).attr("ry",5)
    .attr("width",70).attr("height",30)
.attr("x",-35).attr("y",-15)
.attr("fill","none").attr("stroke","blue")
.classed("frame",true);

sel.append("text").attr("x",0).attr("y",5)
.attr("text-anchor","middle")
.attr("font-family","sans-serif").attr("font-size",14)
.classed("label",true)
.text(label?label:d=>d);
    }

function demo2()
{
    var labels=["hello","world"];
var scX=d3.scaleLinear().domain([0,labels.length-1]).range([100,500]);
var scY = d3.scaleLinear().domain([0,labels.length-1]).range([50,150]);
d3.select("#sticker")
.selectAll("g").data(labels).enter().append("g")
.attr("transform",(d,i)=>"translate("+scX(i)+","+scY(i)+")")
.call(sticker);

d3.select("#sticker").append("g")
.attr("transform","translate(175,150)")
.call(sticker,"cool")
.selectAll(".label").attr("fill","red");
}