https://blog.csdn.net/qq_41622282/article/details/99689319?utm_medium=distribute.pc_relevant.none-task-blog-title-2&spm=1001.2101.3001.4242
月度存档: 11 月 2020
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");
}