mysql里查询时怎么把一张表里的上级ID显示为上级名称?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql里查询时怎么把一张表里的上级ID显示为上级名称?相关的知识,希望对你有一定的参考价值。
表结构:
create table t_dept(
deptid integer primary key,--部门ID
sjid integer, --上级部门ID
deptname varchar(200)
);
from t_dept t1 left join t_dept t2 on t1.sjid=t2.deptid
这样写比较靠谱。不能直接显示
在mysql中怎样显示表里的内容
我是在cmd里面查询,想问是什么具体的查询语句啊
第一步:
我们打开mysql命令行编辑器。
第二步:
我们输入密码,登录Mysql数据库。
第三步:
我们先显示数据库,选择一个我们要创建表的数据库。
第四步:
我们使用那个数据库,当然也可以直接新建一个数据库。
第五步:
我们在那个数据库中创建一个表。
最后:
我们输入describe 表名;我们就可以显示表内容了。
扩展资料:
与其他的大型数据库,例如 Oracle、DB2、SQL Server等相比,MySQL[1]
自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于 MySQL是开放源码软件,因此可以大大降低总体拥有成本。
Linux作为操作系统,Apache 或Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“或“LNMP”组合。
参考资料:百度百科-mysql应用环境
参考技术Aselect * from 表名称 即可。
如果是要查询某一个表某一个列的在这个表中的详细信息,可以用
select * from 表名称 where 列名称=筛选条件 如学号,姓名等,中文字段或特殊字段需加‘’(‘小明’)等。
扩展资料:
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (关系数据库管理系统) 应用软件。
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。
参考资料:百度百科——mysql
参考技术B在CMD中想要显示表里的内容,需要完成一个必要步骤先:连接认证,就是让客户端mysql.exe连上数据库服务器(mysql\\bin\\mysql.exe)。这里面涉及到几个参数问题:
-h:主机地址,可以是主机名也可以是服务器所在的ip地址,如-hlocalhost表示本机,如果是本机可以忽略该参数信息
-P:端口信息(大写P),MySQL默认端口是3306,即-P3306,如果是默认端口可以忽略
-u:用户名字,如MySQL安装的超级管理员用户为:-u3306(用户名通常必须)
-p:用户密码(小写p),安装MySQL的时候设置的用户,也可以是root管理员创建的用户设定的密码,使用-p密码(建议先回车,后输入密码:安全)
注意:如果你的环境是集成环境或者有创建匿名用户,那么可以直接使用mysql.exe访问,不需要输入用户名和密码信息:mysql.exe -h202.12.1.10 -P3308 + 回车
客户端连接上mysql服务端之后,就可以使用mysql对应的操作指令SQL(结构化查询语言)来实现数据库的操作了。一波简单的操作流程如下:
1、 选择数据库:use + 数据库名字;(可以实现使用show databases 查看所有数据库),因为数据表是“装”在数据库里的
2、 查询数据表:select 字段列表 / * from 数据表名字 [where条件 group by分组 having判定 order by排序 limit 限定];(可以使用show tables查看所有表,[]里面的内容表示可以有也可以没有)
总结:正如上面所看到的mysql的查询指令可以有很多的其他部分,如果想要更多数据查询方式,数据精细化查询,可以去黑马程序员的6天玩转MySQL看看,还是比较详细的。
TABLE 语句
具体语法:TABLE table_name [ORDER BY column_name] [LIMIT number [OFFSET number]]
其实从语法上看,可以排序,也可以过滤记录集,不过比较简单,没有 SELECT 那么强大。
示例 1
简单的建一张很小的表 y1,记录数为 10 条。表 t1,插入 10 条记录
mysql-(ytt/3305)->create table t1 (r1 int,r2 int);
Query OK, 0 rows affected (0.02 sec)
mysql-(ytt/3305)->insert into t1
with recursive aa(a,b) as (
select 1,1
union all
select a+1,ceil(rand()*20) from aa where a < 10
) select * from aa;
Query OK, 10 rows affected (0.00 sec)
Records: 10 Duplicates: 0 Warnings: 0
简单全表扫描mysql-(ytt/3305)->select * from t1;+------+------+| r1 | r2 |+------+------+| 1 | 1 || 2 | 9 || 3 | 9 || 4 | 17 || 5 | 17 || 6 | 16 || 7 | 6 || 8 | 1 || 9 | 10 || 10 | 3 |+------+------+10 rows in set (0.00 sec)TABLE 结果mysql-(ytt/3305)->table t1;+------+------+| r1 | r2 |+------+------+| 1 | 1 || 2 | 9 || 3 | 9 || 4 | 17 || 5 | 17 || 6 | 16 || 7 | 6 || 8 | 1 || 9 | 10 || 10 | 3 |+------+------+10 rows in set (0.00 sec)
看下 table 的执行计划mysql-(ytt/3305)->explain table t1 order by r1 limit 2\\G*************************** 1. row *************************** id: 1 select_type: SIMPLE table: t1 partitions: NULL type: ALLpossible_keys: NULL key: NULL key_len: NULL ref: NULL rows: 10 filtered: 100.00 Extra: Using filesort1 row in set, 1 warning (0.00 sec)
其实可以看到 TABLE 内部被 MySQL 转换为 SELECT 了。mysql-(ytt/3305)->show warnings\\G*************************** 1. row *************************** Level: Note Code: 1003Message: /* select#1 */ select `ytt`.`t1`.`r1` AS `r1`,`ytt`.`t1`.`r2` AS `r2` from `ytt`.`t1` order by `ytt`.`t1`.`r1` limit 21 row in set (0.00 sec)
那其实从上面简单的例子可以看到 TABLE 在内部被转成了普通的 SELECT 来处理。示例 2应用于子查询里的子表。这里要注意,内表的字段数量必须和外表过滤的字段数量一致。克隆表 t1 结构mysql-(ytt/3305)->create table t2 like t1;Query OK, 0 rows affected (0.02 sec)
克隆表 t1 数据mysql-(ytt/3305)->insert into t2 table t1;Query OK, 10 rows affected (0.00 sec)Records: 10 Duplicates: 0 Warnings: 0
table t1 被当做内表,表 t1 有两个字段,必须同时满足 t2 检索时过滤的字段也是两个。mysql-(ytt/3305)->select * from t2 where (r1,r2) in (table t1);+------+------+| r1 | r2 |+------+------+| 1 | 1 || 2 | 9 || 3 | 9 || 4 | 17 || 5 | 17 || 6 | 16 || 7 | 6 || 8 | 1 || 9 | 10 || 10 | 3 |+------+------+10 rows in set (0.00 sec)
注意:这里如果过滤的字段数量和子表数量不一致,则会报错。
看看吧 最基础的教程
链接数据库
mysql -h localhost -u username -p password
显示所有数据库
show databases
选定数据库
use database_name
查看所有表
show tables
查看表中内容
select * from table_name本回答被提问者采纳
以上是关于mysql里查询时怎么把一张表里的上级ID显示为上级名称?的主要内容,如果未能解决你的问题,请参考以下文章