本文目录一览:
如何通过Excel查询MySQL数据库
这里介绍一种非常高效的方法。就是借助Excel插件SqlCel,这个插件在处理数据上面有很多可取之处,非常值得学习。
比如在Excel中有一个订单ID字段,这个字段总共有2千条记录,现在我们要查询这些订单对应的产品名称。
在Mysql数据库中有一张订单表里面存储了所有订单的详细信息。我们该怎样操作才能最快速地查到每个订单的产品名称呢?
多数人的做法应该是把Excel中的数据导入到Mysql中,然后写一个SQL语句匹配订单表,然后把匹配结果再导出来。这种做法也是可以的,只是非常不方便,单是数据的导入可能就会遇到不少麻烦。用SqlCel处理这个问题就简单了
插件安装之后需要连接到Mysql数据库,点击“数据库连接”下的Mysql,输入连接信息。如下:
连接到数据库之后,点击“SQL查询”进入数据查询编辑器。
这个编辑器和我们平时使用的编辑器一样,可以高亮显示,智能提示,选取执行。同时它还有很多特别的地方,比如定义变量,引用变量、引用Excel单元格、指定数据的来源和去向等。这里我们要说的是它的一个函数RNGTOSTR,这个函数用来将Excel单元格的值转为字符串并拼接到SQL语句中。我们在编辑器中写SQL语句如下:
SELECT DISTINCT PRODUCT_NAME,PRODUCT_ID FROM ORDER_TABLE WHERE PRODUCT_ID IN ('rngtostr([Sheet1!A1:A1000],'\,',true)')
这样一个SQL语句就可以把每一个产品ID对应的产品名称查询到当前Excel中了。
这里面用到了一个函数rngtostr,放一张官网的截图看一下具体的用法
如何查看mysql数据库表里的数据
一般情况下,mysql会默认提供多种存储引擎,你可以通过下面的查看:
看你的mysql现在已提供什么存储引擎:
mysql
show
engines;
看你的mysql当前默认的存储引擎:
mysql
show
variables
like
'%storage_engine%';
你要看某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎):
mysql
show
create
table
表名;
如何查看mysql数据库
查看当前使用的数据库,可使用如下命令
mysql select database(); #使用函数database()
mysql show tables; #列头信息中可看出当前使用的db,格式为:Tables_in_[db_name]
mysql status; #注意结果中的"Current database:"信息
查看系统中有哪些数据库,
mysql show databases;
更换当前使用的数据库,
mysql use db_name;
返回当前数据库下的所有表的名称
mysql show tables;
或者直接用如下命令
mysql show tables from db_name;
查看表结构,可使用如下命令
mysql desc 表名;
mysql describe 表名;
mysql show columns from 表名;
mysql show create table 表名;
或者,
mysql use information_schema
mysql select * from columns where table_name='表名';
15个 MySQL 菜鸟问题
问题1:你如何确定 MySQL 是否处于运行状态?
答案: Debian 上运行命令 service mysql status,在RedHat 上运行命令 service mysqld status。然后看看输出即可。
问题2:如何开启或停止 MySQL 服务?
答案:运行命令 service mysqld start 开启服务;运行命令 service mysqld stop 停止服务。
问题3:如何通过 Shell 登入 MySQL?
答案:运行命令 mysql -u root -p
问题4:如何列出所有数据库?
答案:运行命令 show databases;
问题5: 如何切换到某个数据库并在上面工作?
答案:运行命令 use database_name; 进入名为 database_name 的数据库。
问题6:如何列出某个数据库内所有表?
答案:在当前数据库运行命令 show tables;
问题7:如何获取表内所有 Field 对象的名称和类型?
答案:运行命令 describe table_name;
问题8:如何删除表?
答案:运行命令 drop table table_name;
问题9:如何删除数据库?
答案:运行命令 drop database database-name;
问题10:如何查看表内所有数据?
答案:运行命令 select * from table_name;
问题11:如何从表(比如 oc_users )中获取一个 field 对象(比如 uid)的所有数据?
答案:运行命令 select uid from oc_users;
问题12:假设你有一个名为 ‘xyz’ 的表,它存在多个字段,如 ‘createtime’ 和 ‘engine’。名为 engine 的字段由 ‘Memoty’ 和 ‘MyIsam’ 两种数值组成。如何只列出 ‘createtime’ 和 ‘engine’ 这两列并且 engine 的值为 ‘MyIsam’?
答案:运行命令 select create_time, engine from xyz where engine = ”MyIsam”;
问题13:如何列出表 ‘xrt’ 内 name 域值为 ‘tecmint’,web_address 域值为 ‘tecmint.com’ 的所有数据?
答案:运行命令 select * from xrt where name = “tecmint” and web_address = “tecmint.com”;
问题14:如何列出表 ‘xrt’ 内 name 域值不为 ‘tecmint’,web_address 域值为 ‘tecmint.com’ 的所有数据?
答案:运行命令 select * from xrt where name != "tecmint" and web_address = "tecmint.com";
问题15:如何知道表内行数?
答案:运行命令 select count(*) from table_name;