有一批2G的数据
想用R语言处理数据,处理结果如下:
读到一半就会报错
查了很多种方法都不太行。
Excel 最多能读取1048576行,所以几百万的数据也是处理不了,而且数据量大了,会变得非常卡。txt存储格式下,excel也打不开这么大量的数据。
对于这种大的文件,软件本身无法读取的话,就别一直死磕这个软件,及时换新的数据库处理软件才是王道。
最后用MySQL处理了这批数据。
下面介绍一下MySQL的入门
进入Mysql
Cmd打开命令提示符
>Cd /d F:\mysql\mysql-5.7.31-winx64\bin红色部分是Mysql的安装路径
>mysql -u root -p 进入Mysql数据库
-u: user
-p: password
Mysql语句不区分大小写
注释的符号
(1)--
(2)/* */
sql语言以;结尾,不输入的话,会出错
数据库操作语句
展示数据库 show databases;
创建数据库 create databse itcast; 最后一个是数据库名称
create database if not exists itcast;
create database itheima default charset utf8mb4;
mb4支持4个字符
删除数据库 drop database itheima;
drop database if exists itheima;
使用数据库 use itcast; 使用数据库
查询当前数据库 select database();
数据库下表的指令
查询数据库里面的所有表 show tables;
创建表
mysql> create table tb_user(
-> id int comment "ID",
-> name varchar(50) comment "name",
-> age int comment 'age',
-> sex varchar(1) comment 'sex'
-> )comment 'user table';
)
验证表: show tables;
查看表结构 desc tb_user; --describe的简写
展示表的详细信息
Show create table tb_user;
数据类型
Char(10)
Varchar(10)
创建一张员工表
Create table emp(
Id int comment 'id',
Workno varchar(10) comment 'worknum',
Name varchar(10) comment 'name',
Gender char(1) comment 'sex',
--unsigned表示无符号的,都是正数
Age tinyint unsigned comment 'age',
Idcard char(18) comment 'id_card',
Entrydate date comment 'entry_date'
) comment 'worker table';
Create table emp(
Id int comment 'id',
Workno varchar(10) comment 'worknum',
Name varchar(10) comment 'name',
Gender char(1) comment 'sex',
Age tinyint unsigned comment 'age',
Idcard char(18) comment 'id_card',
Entrydate date comment 'entry_date'
) comment 'worker table';
desc emp;
修改表
添加昵称这个字段
alter table emp add nickname varchar(20);
修改字段名和字段类型
Alter table emp change nickname username varchar(30);
删除字段
Alter table emp drop username;
修改表名称
Alter table emp rename to employee;
--delete table
Drop table if exists tb_user;
--删除后重新创建该表
--相当于清空表内的数据,但是表还在
Truncate table employee;
Mysql navicat 可视化界面
数据查询语言
查询多个字段
Select 字段 from 表名;
Select * from 表名;
去除重复记录
Select distinct 字段列表 from 表名;
Select 字段列表 from 表名 where 条件列表;
!= <>不等于
=等于
Between and 在某个范围之内(包含最大和最小值)
Like 模糊匹配 (_匹配单个字符,%匹配任意字符)
Is null
And &&
OR ||
Not !