mongodb如何获取表结构,以及表字段的名称?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongodb如何获取表结构,以及表字段的名称?相关的知识,希望对你有一定的参考价值。

参考技术A 将相同字段的值加在一起需要用sum函数。
如emp表中有如下数据:
现要按deptno为分组,将sal的值加在一起,可用如下语句:
select?deptno,sum(sal)?sal?from?emp?group?by?deptno;
查询结果:
参考技术B mongodb 是文档型数据库,数据并不是以二维表存储的,何来表结构....

mysql如何修改表结构

Online DDL 工具:pt-osc

对于 MySQL Online DDL 目前主流的有三种工具:

    原生 Online DDL;

    pt-osc(online-schema-change),

    gh-ost

    本文主要讲解 pt-online-schema-change 的使用以及三种工具的简单对比。

    一、原理及限制

    1.1 原理

    1. 创建一个与原表结构相同的空表,表名是 _new 后缀;

    2. 修改步骤 1 创建的空表的表结构;

    3. 在原表上加三个触发器:delete/update/insert,用于 copy 数据过程中,将原表中要执行的语句在新表中执行;

    4. 将原表数据以数据块(chunk)的形式 copy 到新表;

    5. rename 原表为 old 表,并把新表 rename 为原表名,然后删除旧表;

    6. 删除触发器。

参考技术A CREATE TABLE tab2 AS (SELECT * FROM tab1)
这种做法表的存储引擎也会采用服务器默认的存储引擎而不是源表的存储引擎,此种复制方法把表的内容也一起复制过来了。

CREATE TALBE tab2 ENGINE=MYISAM, CHARSET='UTF8' AS (SELECT * FROM tab1)
可以自己指定存储引擎和字符集,弥补方法一的不足

CREATE TABLE tab2 LIKE tab1
使用和tab1表相同的结构来创建一个新表,列名、数据类型、空指和索引也将复制,但是表的内容不会被复制。外键和专用的权限也没有被复制。

MySQL复制表结构及数据到新表
CREATE TABLE tab_new SELECT * FROM tab_old

复制旧表的数据到新表(假设两个表结构一样)
INSERT INTO tab1 SELECT * FROM tab2

复制旧表的数据到新表(假设两个表结构不一样)
INSERT INTO tab1(字段1, 字段2, ...) SELECT 字段1, 字段2, ... FROM tab2

更改表名
ALTER TABLE employee RENAME TO staff

更改列类型
ALTER TABLE employee MODIFY COLUMN truename VARCHAR(10) NOT NULL DEFAULT ''

更改列名
ALTER TABLE employee CHANGE COLUMN truename employeename VARCHAR(10) NOT NULL DEFAULT ''

添加默认值
ALTER TABLE employee ALTER COLUMN truename SET DEFAULT ''

删除默认值
ALTER TABLE employee ALTER COLUMN truename DEOP DEFAULT本回答被提问者和网友采纳

以上是关于mongodb如何获取表结构,以及表字段的名称?的主要内容,如果未能解决你的问题,请参考以下文章

laravel-mongodb中如何获取数据库中所有表的名称

oracle数据库中如何用sql语句查出重复字段以及如何删除?

SQL合并一个表中的字段

SQL 合并一个表中的字段

php函数以获取数据,将具有通用字段名称的多个表连接起来并显示输出[重复]

Sqlserver获取所有数据库名,表信息,字段信息,主键信息,以及表结构等。[转]