MySQL学习记录(导入Excel表到数据库,并筛选条件输出)
附上:重置mysql账号密码方法
ubuntu系统下mysql重置密码和修改密码操作 - skh2015java的博客 - CSDN博客(改完重启,登录mysql要root/sudo权限)
Centos7重置Mysql 8.0.1 root 密码 - 网络蚂蚁 - 博客园
php7访问mysql8.0的配置
学习MySQL,我个人觉得最好的方法就是获得一个稍微大的数据库数据并通过这个数据库来学习基本操作和优化。所以我把平时学校发下来的个人信息xls/xlsx文件拿来用了。
在这里推荐一个学习的好地方(比W3C和菜鸟教程好)https://www.shiyanlou.com/courses/9 课程以LINUX为基础,其实比Windows爽多了,学得更多
像我这等穷人,可以筛选他免费的课程:https://www.shiyanlou.com/courses/?fee=free
学到上面挑战1部分后再看下面吧
首先是注意事项:

然后就安装工具
--图形化工具--》
SQLyog
社区版免费(当然功能没有专业/企业版全):
Downloads · webyog/sqlyog-community Wiki (GITHUB下载地址)
(为什么不去官网下载?因为被DNS污染)
安装语言可选中文
附上:
mysql8.0 caching_sha2_password加密方式和5.0之前的区别和解决方案 - 快乐的傻子爱编程 - CSDN博客
【MySQL基础】mysql8.0 Authentication plugin 'caching_sha2_password' cannot be loaded - 东陆之滇CSDN - CSDN博客
试着复制别的软件的caching_sha2_password.dll到目录,报了其他的错
既然不支持更安全的加密模式?那可能就不适合我这种追求新特性的人了。Bye~
Navicat(推荐)
官网下载:Navicat | 下载 Navicat Premium 14 天免费 Windows、macOS 和 Linux 的试用版
破解方法:Navicat Premium 12.1.16.0安装与激活 - 简书
建立数据库-右击数据库导入数据,选择excel文件
(了解一下这个软件的菜单栏: "窗口" "查询")
导入成功后我们稍微修正一下(设计表),然后就点上面的查询
注:以下以表名代替你建立的表的名字
SELECT * FROM `表名`;
查询单个表里的内容:
SELECT * FROM `283班` WHERE 性别= '女';
/*
* table表名(283班)要用反引号`包起来,字符串(女)用单或双引号' "
* column键(性别)不能加引号 * 总结: 库表反引,字符串正引,键不引
*/
查询多个表的内容
SELECT * FROM `表名1`, `表名2`, `表名2` WHERE 性别="女";
从3个表 选择查询(SELECT) 并筛选(WHERE) 性别为女的人的 所有信息(*)
然后发现报错:1052 大概是说WHERE子句条件不明确(因为我们没告诉系统要筛选哪一张表的性别)MySql: Column 'XXXX' in field list is ambiguous 错误 - 邓晓晖 - 博客园
所以我们先去掉WHERE子句试试,结果......我这个数据库是整个院系的信息,查询时导致内存爆了.... (当然内存占满对硬件应该是没有破坏力的)
算了,不能作死...
所以我们用UNION
/*当然可以给性别加上表名,如 WHERE 281班.性别='女' ,但我有十多张表,不如下面复制粘贴后修改班级名来得快*/ SELECT *
FROM `281班`
WHERE 性别='女' UNION SELECT *
FROM `282班`
WHERE 性别='女' UNION SELECT *
FROM `283班`
WHERE 性别='女' UNION SELECT *
FROM `284班`
WHERE 性别='女';
点开我看
报错:> 1222 - The used SELECT statements have a different number of columns > 时间: 0.002s
然后从这篇得到启发: sql语句之union与join的区别 - 扬空 - 博客园
看了一下我的数据库几个表,发现EXCEL导入时多了一些NULL的Column,这些字段数量(即列的数量)不一样多,导致UNION无法拼接查询结果,所以删了多余的NULL列,
【切记】 一定要保存后才能查询成功 Navicat并不是修改后查询就会保存的(有没有保存可以查看Navicat窗口菜单栏,里面有星号的表都是没有保存的。)未保存的表没有生效修改,查询只会查到之前的结果
最终查询成功!
返回了所有女生的信息... (我TM才发现Excel表里的性别排序被人动过,除了性别其他都是对的....发表的人一定是故意的....)
(数据库没有错,是导入的Excel文件本来就是假的....................)
关于Navicat的操作:
当然,要"注意运行当前语句"与"运行"的区别


MySQL学习记录(导入Excel表到数据库,并筛选条件输出)的更多相关文章
- C# winform 编程 向ACCESS数据库导入EXCEL表使用心得
public string MyConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ErLake.mdb&quo ...
- winfrom 导入Excel表到access数据库(来自小抽奖系统)
网上有很多这种方法,本人只是针对自己的系统来实现的 //导入excel表 private void ImportTSMenu_Click(object sender, EventArgs e) { O ...
- 向ACCESS数据库中的表导入EXCEL表,在 System.Data.OleDb.OleDbException 中第一次偶然出现的“System.Data.dll”类型的异常
向ACCESS数据库中的表导入EXCEL表,EXCEL表Sheet1中与ACCESS数据库表中的关键字对应的列的值,不能与数据库中表的主键项值重复,不然就会出现 在 System.Data.OleDb ...
- 利用kettle组件导入excel文件到数据库
利用kettle组件导入excel文件到数据库 1. 实现目标 把excel文件内容导入到目标表中:然后用java调用kettle的转换.excel文件的内容仅仅有两列,示比例如以下: wat ...
- 【转】 如何导入excel数据到数据库,并解决导入时间格式问题
在办公环境下,经常会用到处理excel数据,如果用写程序导入excel数据到数据库那就太麻烦了,涉及解析excel,还要各种格式问题,下面简单利用数据库本身支持的功能解决这类导入问题. 准备 创建表 ...
- MySQL问题记录——导入导出权限设置
MySQL问题记录——导入导出权限设置 摘要:本文主要记录了在使用MySQL的过程中导入导出权限设置时遇到的问题以及解决方案. 相关日志 [Note] --secure-file-priv is se ...
- Mysql查询结果导出Excel表
Mysql查询结果导出Excel表: 一句转换方式:$ mysql -uops -p'GCNgH000KP' dtbs -e 'select * from t_proxy__record;' --de ...
- 向MySql数据库导入excel表数据
最近要开发一个小的答题系统,如果题目人工录入那确实很麻烦.所以想到是不是可以从用一些现有数据格式的文件导入数据.在网上查了一下,看到有关于将excel的数据导入到mysql的方法.所以将题库数据整理成 ...
- MYSQL 导入Excel数据到数据库中
1,先把excel的数据整理整齐,如每列都要保持同样的格式:就一列一列的数据: 2,导出excel的数据为CSV格式,即把excel的数据另存为xxxx.csv;: 3,用EditPlus工具将xxx ...
随机推荐
- 六、Spring之初步认识AOP
Spring之初步认识AOP [1]AOP概览 什么是AOP?(来自百度) 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行 ...
- Algorithm: Permutation & Combination
组合计数 组合数学主要是研究一组离散对象满足一定条件的安排的存在性.构造及计数问题.计数理论是狭义组合数学中最基本的一个研究方向,主要研究的是满足一定条件的排列组合及计数问题.组合计数包含计数原理.计 ...
- Python复杂对象转JSON
Python复杂对象转JSON在Python对于简单的对象转json还是比较简单的,如下: import json d = {'a': 'aaa', 'b': ['b1', 'b2', 'b3'], ...
- 线代第六章定义&定理整理(持续更新中)
Chapter 6 6.1 Inner Products and Norms Definition (inner product). Let V be a vector space over F. A ...
- C#写日志工具类
代码: using System; using System.Collections.Generic; using System.IO; using System.Linq; using System ...
- jmeter-分布式压测部署之负载机的设置
本文分三个部分: 1.windows下负载机的配置 2.Linux下负载机的配置 3.遇到的问题 *************************************************** ...
- 深入浅出《设计模式》之外观模式(C++)
前言 模式介绍 外观模式相比较之下比较简单,模式设计中定义是为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口是的这一子系统更加容易使用. 如果不理解呢,简单些说就是外观模式提 ...
- npm 查看全局安装模块
方法一: npm list -g --depth 0 方法二: 输入npm root -g 得到全局node_modules的地址 在任意文件夹输入此地址,便可查看所安模块 https://blog ...
- 修改源代码时不需要重启tomcat服务器
我们在写JSP + Servlet 的时修改了Java代码就要重新启动服务器.十分麻烦. 为了解决这个问题我们可以将服务器改成debug 模式.就是按调试状态这样修改Java代码就不用再重新启动服务器 ...
- 关与 @EnableConfigurationProperties 注解
@EnableConfigurationProperties注解的作用是: 让使用 @ConfigurationProperties 注解的类生效. 当@EnableConfigurationProp ...