专注于工业智能预警系统研发, 通过机理算法和数据驱动算法分析振动信号、音频、DCS、PLC信号、SCADA信号等设备运行状态数据对机器设备进行看病预诊,为机器设备健康运行保驾护航。 网站正在不断建设和完善过程中,欢迎大家给予建议和参与社区建设
52phm,专注于预测性维护知识学习和交流,欢迎广大从事预测性维护行业人员投稿,投稿请联系管理员(wx: www52phmcn),投稿内容可以是:
mysql -uroot -p # 在终端打开 mysql
create database 数据库名; # 创建数据库
drop database 数据库名; # 删除数据库
show databases; # 查看已经创建的数据库
use 数据库名; # 使用某个数据库
# 语法
CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY( one or more columns )
);
''' 创建一个表格 '''
mysql> create table lianxi(
ID int not null,
name varchar(20) not null, 字符类型
age int not null, 整数类型
sage datetime not null, 时间类型
score decimal(18,1) 浮点数类型
primary key (ID) # 指定哪一列作为主键
);
Query OK, 0 rows affected (0.52 sec)
''' 查看创建的表格 '''
mysql(第一种)> SHOW CREATE TABLE 表名;
mysql(第二种)> desc lianxi;
-----------------------------------------------
| Field | Type | Null | Key | Default | Extra |
-----------------------------------------------
| ID | int(11) | NO | PRI | NULL | |
| name | varchar(20) | NO | | NULL | |
| age | int(11) | NO | | NULL | |
-----------------------------------------------
3 rows in set (0.01 sec)
''' 删除表格 '''
mysql> drop table lianxi;
Query OK, 0 rows affected (0.29 sec)
# 查看表格是否删除
mysql> desc lianxi;
ERROR 1146 (42S02): Table 'lxz.lianxi' doesn't exist
INSERT INTO 有两种基本的语法
第一种语法格式如下:
INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)
VALUES (value1, value2, value3,...valueN);
这里 column1, column2,...columnN 是表中字段的名字,你必须为新记录的这些字段填充数据。
mysql> insert into person (id, name, age) values (2, '二狗', 33);
第二种语法格式如下:
如果要为表中"所有的字段"都添加数据的话,就不需要指定字段名了。
不过这种情况下,必须保证值的顺序按照表中字段出现的顺序排列。
此时 SQL INSERT INTO 语句的语法如下:
INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);
mysql> insert into person values (3, '傻蛋', 22);
第三种语法格式如下:
你还可以用 SELECT 语句将一个表中相应字段的数据填充到另一个表中,
其语法形式如下:
INSERT INTO first_table_name [(column1, column2, ... columnN)]
SELECT column1, column2, ...columnN
FROM second_table_name
[WHERE condition];
解决插入中文字段错误的语句:
ALTER TABLE 表名 MODIFY 列名 数据类型 CHARACTER SET utf8 非空约束
例如:ALTER TABLE student MODIFY name VARCHAR(20) CHARACTER SET utf8 NOT NULL
SQL SELECT 语句用于从数据库的表中取回所需的数据,并以表的形式返回。
返回的表被称作结果集。
SELECT 语句的基本语法如下:
第一种:
SELECT column1, column2, columnN FROM table_name;
这里,column1, column2...是你想要从表中取回的字段。
第二种:
如果要取回表中所有字段的话,可以使用下面的语法:
SELECT * FROM table_name;
从 person 中导入所有数据 从 person 中导入指定的列数据
mysql> select * from person; mysql> select id,age from person;
------------------ ------------
| id | name | age | | id | age |
------------------ ------------
| 1 | 大佬 | 21 | | 1 | 21 |
| 2153 | aaa | 21 | | 2153 | 21 |
| 2154 | bbb | 19 | | 2154 | 19 |
| 2155 | ccc | 16 | | 2155 | 16 |
| 2156 | ddd | 28 | | 2156 | 28 |
| 2157 | eee | 37 | | 2157 | 37 |
| 2158 | aaa | 21 | | 2158 | 21 |
| 2159 | bbb | 19 | | 2159 | 19 |
| 2160 | ccc | 16 | | 2160 | 16 |
| 2161 | ddd | 28 | | 2161 | 28 |
| 2162 | eee | 37 | | 2162 | 37 |
------------------ ------------
mysql>select 10 20;
mysql>select 10 * 20;
mysql>select 10 / 5;
mysql>select 12 / 5;
mysql>select * from 表名 where 用哪一列作比较 > 30
例子:
mysql> select * from person;
------------------
| id | name | age |
------------------
| 1 | 大佬 | 21 |
| 2153 | aaa | 21 |
| 2154 | bbb | 19 |
| 2155 | ccc | 16 |
| 2156 | ddd | 28 |
| 2157 | eee | 37 |
| 2158 | aaa | 21 |
| 2159 | bbb | 19 |
| 2160 | ccc | 16 |
| 2161 | ddd | 28 |
| 2162 | eee | 37 |
------------------
select * from person where age > 30
select * from person where age <= 30
select * from person where age != 30
select * from person where age !> 30 检查左边的操作数是否不大于右边的操作数,是的话返回真
从 person 中导入所有数据 从 person 中导入指定的列数据
mysql> select * from person; mysql> select id,age from person;
------------------ ------------
| id | name | age | | id | age |
------------------ ------------
| 1 | 大佬 | 21 | | 1 | 21 |
| 2153 | aaa | 21 | | 2153 | 21 |
| 2154 | bbb | 19 | | 2154 | 19 |
| 2155 | ccc | 16 | | 2155 | 16 |
| 2156 | ddd | 28 | | 2156 | 28 |
| 2157 | eee | 37 | | 2157 | 37 |
| 2158 | aaa | 21 | | 2158 | 21 |
| 2159 | bbb | 19 | | 2159 | 19 |
| 2160 | ccc | 16 | | 2160 | 16 |
| 2161 | ddd | 28 | | 2161 | 28 |
| 2162 | eee | 37 | | 2162 | 37 |
------------------ ------------
mysql> select * from person where id > 2156 and age >= 25;
mysql> select * from person where id > 2158 or age > 20;
mysql> select * from person where age is null;
mysql> select * from person where age is not null;
mysql> select * from person where name like 'aa%'; # 返回 % 之前与 aa 相似的名字
mysql> select * from person where age in (21, 28); # 返回 age 中有 21、28 的数据
mysql> select * from person where age between 25 and 40;
mysql> select age from person where exists (select age from person where id > 2160);
# 输出左边的年龄全部大于右边的年龄的值
mysql> select * from person where age > all (select age from person where id = 2161);
# 输出左边的年龄大于右边任意一个的年龄的值
mysql> select * from person where age > any (select age from person where id > 2160);
SELECT 语句的基本语法:
SELECT column1, column2, columnN
FROM table_name
WHERE [CONDITION|EXPRESSION];
''' 1、布尔表达式 '''
SELECT column1, column2, columnN
FROM table_name
WHERE 单值匹配表达式;
mysql> select * from person where age = 21;
''' 2、数值表达式 '''
SELECT numerical_expression as OPERATION_NAME
[FROM table_name
WHERE CONDITION] ;
其中:
numerical_expression 为数学运算或者任何公式,
(SQL 有一系列的内建函数,例如 avg()、sum()、count() 等,
这些函数用于在表上或者表中的特定列上执行聚合数据运算。)
OPERATION_NAME 为自定义名字
mysql> select (12 * 3) as lxz;
mysql> select count(*) as myname from person; # 统计样本数
''' 3、时间表达式 '''
# 返回当前系统的日期和时间
mysql> select current_timestamp;
SQL UPDATE 语句用于修改表中现有的记录。
你可以在 UPDATE 语句中使用 WHERE 子句来修改选定的记录,否则所有记录都会收到影响。
语法:
带 WHERE 子句的 UPDATE 语句的基本语法如下:
UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];
WHERE 子句中,你可以将 N 个条件用 AND 或者 OR 连接在一起。
''' 更新前 '''
mysql> select * from person;
------------------
| id | name | age |
------------------
| 1 | 大佬 | 21 |
| 2 | 二狗 | 33 |
| 3 | 傻蛋 | 22 |
------------------
''' 更新 id = 2 这一行的 name 更新为 'lxz' '''
mysql> update person set name = 'lxz' where id = 2;
''' 更新后 '''
mysql> select * from person;
------------------
| id | name | age |
------------------
| 1 | 大佬 | 21 |
| 2 | lxz | 33 |
| 3 | 傻蛋 | 22 |
------------------
如果你想要修改 person 表中所有记录的 name 和 age 字段,
只要把 WHERE 子句去掉即可。
此时,UPDATE 语句如下所示:
mysql> UPDATE CUSTOMERS SET name = '大佬', age = '22';
SQL DELETE 语句用于删除表中现有的记录。
你可以在 DELETE 语句中使用 WHERE 子句来删除选定的记录,
否则所有的记录都会被删除。
语法:
带 WHERE 子句的 DELETE 语句的基本语法如下:
DELETE FROM table_name
WHERE [condition];
# 将从 person 中删除 id 为 2 的客户/记录
mysql> delete from person where id = 2;
# 删除 person 表中所有的记录
mysql> delete from person;
mysql> select * from lianxi;
---------------------
| id | date | name | age |
---------------------
| 1 | 2015 | aaa | 20 |
| 2 | 2016 | bbb | 18 |
| 3 | 2020 | ccc | 26 |
| 4 | 2018 | bbb | 28 |
| 5 | 2019 | eee | 35 |
---------------------
5 rows in set (0.00 sec)
''' 统计上面 lianxi 表中记录的总数 '''
mysql> select count(*) from lianxi;
----------
| count(*) |
----------
| 5 |
----------
''' 只想统计名字为 bbb 的数目 '''
mysql> select count(*) from lianxi where name = 'bbb';
----------
| count(*) |
----------
| 2 |
----------
# -------------------------------
# 第一种
mysql> select max(age) from lianxi; # 返回 age 列的最大值
----------
| max(age) |
----------
| 35 |
----------
mysql> select min(age) from lianxi; # 返回 age 列的最小值
----------
| min(age) |
----------
| 18 |
----------
# ------------------------------
# 第二种,通过 group by 聚合子句,也可以使用 min
使用 GROUP BY 子句,为每个名字(name)找出 age 的最大值
mysql> select id, name, max(age) from lianxi group by name;
--------------------
| id | name | max(age) |
--------------------
| 1 | aaa | 20 |
| 2 | bbb | 28 |
| 3 | ccc | 26 |
| 5 | eee | 35 |
--------------------
# -----------------------------
# 第三种,返回最大最小的年龄
mysql> select min(age) least, max(age) max from lianxi;
-------------
| least | max |
-------------
| 18 | 35 |
-------------
# -----------------------------------
# 1、求出平均年龄
mysql> select avg(age) from lianxi;
----------
| avg(age) |
----------
| 25.4000 |
----------
# ------------------------------------
# 2、通过 group by 子句聚合,为每个名字(name)找出 age 的平均值
mysql> select id, name, avg(age) from lianxi group by name;
--------------------
| id | name | avg(age) |
--------------------
| 1 | aaa | 20.0000 |
| 2 | bbb | 23.0000 |
| 3 | ccc | 26.0000 |
| 5 | eee | 35.0000 |
--------------------
# 表格 student、sc 之间连接
select Student.SId, Student.Sname, r.ss from Student right join(
select SId, AVG(score) AS ss from sc
GROUP BY SId
HAVING AVG(score)> 60
)r on Student.SId = r.SId;
mysql> select sum(age) from lianxi;
# 通过 group by 子句聚合,为每个名字(name)找出 age 的总和
mysql> select id, name, sum(age) from lianxi group by name;
mysql> select sqrt(16);
mysql> select sqrt(age) from lianxi;
mysql> select id, name, sqrt(age) from lianxi group by name;
mysql> select rand(), rand(), rand();
'''
当以某个整数值作为参数来调用的时候,
RAND() 会将该值作为随机数发生器的种子。
对于每一个给定的种子,
RAND() 函数都会产生一列可以复现的数字
'''
mysql> select rand(1), rand(), rand();
# 使用 ORDER BY RAND() 来对一组记录进行随机化排列
mysql> select * from lianxi order by rand();
---------------------
| id | date | name | age |
---------------------
| 3 | 2020 | ccc | 26 |
| 4 | 2018 | bbb | 28 |
| 2 | 2016 | bbb | 18 |
| 1 | 2015 | aaa | 20 |
| 5 | 2019 | eee | 35 |
---------------------
mysql> select concat('i', 'am', 'lxz');
# 将 id, date, name, age 连接起来
mysql> select concat(id, date, name, age) from lianxi;
学习教程:http://wiki.jikexueyuan.com/project/sql/overview.html
2021-12-15 22:58:54
互联网
1005
分类:开发环境
专栏:下载安装
2021-12-17 18:09:55
互联网
831
分类:开发环境
专栏:下载安装
2021-12-21 15:50:53
互联网
494
分类:论文速递
专栏:时间序列预测
关注公众号进群
让志同道合读者学习交流
本篇文本分类实战训练是以完整的文本分类项目流程来写的,比较适合进阶和提高 《获取数据》——《数据分析和处理》——《特征工程与选择》——《算法模型》——《性能评估/参数调优》,让读者全貌了解文本分类流程,建议阅读收藏~
2021-12-04 12:13:55
博客笔记
2139
分类:算法开发
专栏:未分组
可穿戴传感器健康老年人动作识别
2021-12-04 23:19:10
博客笔记
528
分类:边缘感知
专栏:动作识别
1.故障诊断方法可分为三个步骤:信号处理、特征提取、模式分类。2.信号处理方法通常包括:时域处理(提取振动信号的相关指标);频域处理(包络谱分析,频谱分析);时频域分析(小波分析,傅里叶变换)3.故障诊断方法:专家系统故障诊断法,模糊故障诊断、灰色关联度故障诊断、神经网络故障诊断、数据融合故障诊断。...
2021-12-09 11:32:32
互联网
1893
分类:算法开发
专栏:故障诊断
1、频谱泄露 对于频率为fs的正弦序列,它的频谱应该只是在fs处有离散谱。但是,在利用DFT求它的频谱时,对时域做了截断,结果使信号的频谱不只是在fs处有离散谱,而是在以fs为中心的频带范围内都有谱线出现,它们可以理解为是从fs频率上“泄漏”出去的,这种现象称 为频谱“泄漏”。2、代码分析如果我们波形不能在fft_size个取样中形成整数个周期的话会怎样呢?将上篇博客中的采样对象...
2021-12-14 14:06:09
互联网
782
分类:算法开发
专栏:数字信号处理
新安装了Linux系统(CentOS 6),发现已安装的python版本是2.6. 在网上搜索研究之后总结了一下怎么在保留python2的同时安装最新版的python3。1. 查看 Python 的版本号:命令行输入以下命令就可以查看python版本:#python -V 或# python --version2. 下载3.x新版本可以访问python的官方网站查看最新的python版本以及下载...
2021-12-16 17:35:07
互联网
884
分类:开发环境
专栏:下载安装
1、前言 风能作为一种清洁的永续能源,逐渐成为许多国家可持续发展战略的重要组成部分。我国的风能开发更是飞速发展,已经成为全球最大的风电市场。2015年,中国风电装机量再创新高。全国(除台湾地区外)新增装机容量3075.3万千瓦,同比增长32.6%,新增安装风电机组16740台;累计装机容量达到14536.2万千瓦,同比增长26.8%,累计安装风电机组92981台。
2021-12-19 15:22:38
互联网
1153
分类:算法开发
专栏:风电机组
时间序列算法time series data mining 主要包括decompose(分析数据的各个成分,例如趋势,周期性),prediction(预测未来的值),classification(对有序数据序列的feature提取与分类),clustering(相似数列聚类)等。时间序列的预测常用的思路:1、计算平均值2、exponential smoothing指数衰减...
2021-12-25 19:42:49
互联网
471
分类:算法开发
专栏:时间序列预测
LSTM数据集实战如果对LSTM原理不懂得小伙伴可以看博主下一篇博客,因为博主水平有限,结合其他文章尽量把原理写的清楚些。数据集首先附上数据集链接:https://pan.baidu.com/s/1AKsz-ohmYHr9mBEEh76P5g提取码:6owv这个数据集是关于股票的,里面有日期,开盘价等信息。既然是时间序列预测,我们最关心的是预测值在时间维度上的走势如何,那我们只要最后一列volume和第一列date这两列就好了。实战先是导入相关包,一些常见的包就不详细说了,我们需要的Se
2021-12-25 19:48:44
互联网
842
分类:算法开发
专栏:时间序列预测
https://blog.csdn.net/zyxhangiian123456789/article/details/87458140对于较为简单的时间序列预测问题,可以使用Exponential Smoothing和ARIMA等传统模型非常方便地求解。然而,对于复杂的时间序列预测问题,LSTM不失为一种很好的选择。因此,本文旨在探讨如何利用LSTM神经网络求解时间序列预测问题。首先,需要明白时...
2021-12-25 19:50:56
互联网
443
分类:算法开发
专栏:时间序列预测
1 PIL基本操作:主要是为了介绍 PIL 打开、展示和保存图像的基本运用。 2 图像处理:这个主要是为了对原始图像进行再处理,从而使图像符合我们的需求, 通常这里的处理情况会影响到模型训练的精度和准。 3 图像向量化:由于图片是非结构化数据,计算机不能直接识别处理, 因此需要向量化处理,从而转换成结构化数据 4 图像识别分类实战:主要是以步骤性来讲述,方便掌握
2022-03-10 16:18:19
博客笔记
828
分类:算法开发
专栏:图像预处理
从事设备故障预测与健康管理行业多年的PHM算法工程师(机器医生)、国际振动分析师, 实践、研发和交付的项目涉及“化工、工业机器人、风电机组、钢铁、核电、机床、机器视觉”等领域。专注于工业智能预警系统研发, 通过机理算法和数据驱动算法分析振动信号、音频、DCS、PLC信号、SCADA信号等设备运行状态数据对机器设备进行看病预诊,为机器设备健康运行保驾护航。