精华内容
下载资源
问答
  • 公司要修改数据库结构,把两个表整合成一个,现在数据库端已经修改好了, 把B表数据和列都加到A表中了,但是项目中用到B表的页面有200个左右, 有什么好办法快速的修改好吗?项目是asp.net,...
  • 由于菜单接口出现了“为空”的情况,大秋看了看数据库,猜测大概是后端数据之间逻辑出了问题,二话不说,修改数据库的值。然后像个二哈一样,在一边看着两个前端调试,以为没自己啥事。 结果调来调去,这个接口又...

    cho.1出现bug的背景

    昨晚,大秋(也就是鄙人)约小秋、xl来实验室调bug。由于菜单接口出现了“为空”的情况,大秋看了看数据库,猜测大概是后端数据之间逻辑出了问题,二话不说,修改了数据库的值。然后像个二哈一样,在一边看着两个前端调试,以为没自己啥事。
    结果调来调去,这个接口又出现“为空”的情况。作为后端,二哈不得不开始思考到底咋回事。于是用狗爪子画了一张图梳理逻辑,并且debug了一会儿。终于发现问题,由于菜单需要最后递归形成树状结构,但是之前改数据库的时候没有考虑到逻辑的严密性、一致性,所以最后的数据没有父级,也就导致了最后接口返回结果“为空”。

    cho.2bug调试过程(后端)

    IDEA的debug方法省略,在之前是先看了数据库数据,然后看了服务器上的日志,才开始本地调试。
    逻辑梳理图(保密信息已打码):
    在这里插入图片描述
    使用debug,按照前端传参-后端处理-数据库数据的顺序,把每一步的数据记录下来,然后思考所得到的数据是不是预期的,如果是则继续获得下一步数据,如果不是,则思考为什么没有达到预期(这里一般就是bug的问题所在了)。
    说一下思路:
    前面数据一路正常,直到最后,都没有问题,但返回后为空,代码如下:

    //authTree是一个工具类,用于生成权限树
    //token=加密后的用户名
    return Msg.success().add("msg",authTree.menuList(modules));
    

    那么这里只有可能是menuList方法出了问题,于是继续看menuList的逻辑,传入的参数如上图所示,是模块管理、用户管理、角色管理,而这三个的父级是系统管理,但大秋并没有给这个用户系统管理的权限,因此,导致menu接口变成这样:
    在这里插入图片描述
    修改就很简单了,直接改数据库,把父级的权限给这个角色就ojbk

    cho.3多谢后世人,戒之慎勿忘!

    1. 数据库备份
    2. 源码备份
    3. 设计时最好有文档
    4. 日志备份
    5. 调试日志记录(可以定期整理成博客)
    6. 调bug时最好不要直接修改数据库,否则容易破坏逻辑,最好是由前端(或者使用postman等)来修改数据。如果实在需要修改数据库,可以先理清楚逻辑。

    #以上备份可以上传至gitee(or github but it’s not recommended)

    展开全文
  • 修改表的结构有两个命令:ALTER TABLE-SQL命令修改表的结构;MODIFY STRUCTURE-在表设计器中修改表的结构;ALTER TABLE命令ALTER TABLE 语句用于在已有的表中添加、删除或修改列。SQL ALTER TABLE 语法如需在表中...

    29a260111305c3f6226bca4f648a33ab.png

    修改表的结构有两个命令:ALTER TABLE-用SQL命令修改表的结构;

    MODIFY STRUCTURE-在表设计器中修改表的结构;

    ALTER TABLE命令

    ALTER TABLE 语句用于在已有的表中添加、删除或修改列。

    SQL ALTER TABLE 语法

    如需在表中添加列,请使用下面的语法:ALTER TABLE table_name

    ADD column_name datatype

    如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):ALTER TABLE table_name

    DROP COLUMN column_name

    要改变表中列的数据类型,请使用下面的语法:

    SQL Server / MS Access:ALTER TABLE table_name

    ALTER COLUMN column_name datatype

    My SQL / Oracle:ALTER TABLE table_name

    MODIFY COLUMN column_name datatype

    Oracle 10G 之后版本:ALTER TABLE table_name

    MODIFY column_name datatype;

    MODIFY STRUCTURE命令

    MODIFY STRUCTURE命令的功能是修改数据库文件的库结构;修改数据库结构包含这样几个方面:增加字段、插入字段、删除字段、修改字段名、改变字段类型、改变字段宽度或小数位数。

    更多web开发知识,请查阅 HTML中文网 !!

    展开全文
  • (3)传统关系型结构修改用sql,nosql结构修改不用sql @priest 系统架构师: 简单可以这样理解: 1、 ACID与BASE的区别 2、持久化or非持久化区别 3、数据结构层面的区别 4、其他层面 @you.

    人们都会问,数据库到底有哪些不一样的关系

    nosql数据库和传统关系库到底啥区别?

    问题来自社区会员,回答来自社区交流,供同行参考

    @zhuqibs Mcd 软件开发工程师:

    长篇大论就不写了,就写几点:

    (1)传统关系型用sql,nosql不用sql

    (2)传统关系型数据在表中,nosql基本非结构化

    (3)传统关系型结构修改用sql,nosql结构修改不用sql

     

    简单可以这样理解:

    1、 ACID与BASE的区别

    2、持久化or非持久化区别

    3、数据结构层面的区别

    4、其他层面

    @youki2008 广东溢达 系统架构师:

    存储方式:

    关系型数据库是表格式的,因此存储在表的行和列中。他们之间很容易关联协作存储,提取数据很方便。而 Nosql 数据库则与其相反,他是大块的组合在一起。通常存储在数据集中,就像文档、键值对或者图结构。

    存储结构:

    关系型数据库对应的是结构化数据,数据表都预先定义了结构(列的定义),结构描述了数据的形式和内容。这一点对数据建模至关重要,虽然预定义结构带来了可靠性和稳定性,但是修改这些数据比较困难。而 Nosql 数据库基于动态结构,使用与非结构化数据。因为 Nosql 数据库是动态结构,可以很容易适应数据类型和结构的变化。

    存储规范:

    关系型数据库的数据存储为了更高的规范性,把数据分割为最小的关系表以避免重复,获得精简的空间利用。虽然管理起来很清晰,但是单个操作设计到多张表的时候,数据管理就显得有点麻烦。而 Nosql 数据存储在平面数据集中,数据经常可能会重复。单个数据库很少被分隔开,而是存储成了一个整体,这样整块数据更加便于读写。

    存储扩展:

    这可能是两者之间最大的区别,关系型数据库是纵向扩展,也就是说想要提高处理能力,要使用速度更快的计算机。因为数据存储在关系表中,操作的性能瓶颈可能涉及到多个表,需要通过提升计算机性能来克服。虽然有很大的扩展空间,但是最终会达到纵向扩展的上限。而 Nosql 数据库是横向扩展的,它的存储天然就是分布式的,可以通过给资源池添加更多的普通数据库服务器来分担负载。

    查询方式:

    关系型数据库通过结构化查询语言来操作数据库(就是我们通常说的 SQL )。SQL 支持数据库 CURD 操作的功能非常强大,是业界的标准用法。而 Nosql 查询以块为单元操作数据,使用的是非结构化查询语言( UnQl ),它是没有标准的。关系型数据库表中主键的概念对应 Nosql 中存储文档的 ID 。关系型数据库使用预定义优化方式(比如索引)来加快查询操作,而 Nosql 更简单更精确的数据访问模式。

    事务:

    关系型数据库遵循 ACID 规则(原子性 (Atomicity) 、一致性 (Consistency) 、隔离性 (Isolation) 、持久性 (Durability) ),而 Nosql 数据库遵循 BASE 原则(基本可用( Basically Availble )、软 / 柔性事务( Soft-state )、最终一致性( Eventual Consistency ))。由于关系型数据库的数据强一致性,所以对事务的支持很好。关系型数据库支持对事务原子性细粒度控制,并且易于回滚事务。而 Nosql 数据库是在 CAP (一致性、可用性、分区容忍度)中任选两项,因为基于节点的分布式系统中,很难全部满足,所以对事务的支持不是很好,虽然也可以使用事务,但是并不是 Nosql 的闪光点。

    柔性事务满足 Base 理论 ( 基本可用、最终一致性 ) 、 CAP 理论。

    刚性事务满足 ACID 理论。

    性能:

    关系型数据库为了维护数据的一致性付出了巨大的代价,读写性能比较差。在面对高并发读写性能非常差,面对海量数据的时候效率非常低。而 Nosql 存储的格式都是 key-value 类型的,并且存储在内存中,非常容易存储,而且对于数据的 一致性是 弱要求。Nosql 无需 sql 的解析,提高了读写性能。

    授权方式:

    关系型数据库通常有 SQL Server , Mysql , Oracle 等。Nosql 数据库有 redis , memcache , MongoDb等等 。大多数的关系型数据库都是付费的并且价格昂贵,成本较大,而 Nosql 数据库通常都是开源的。

    展开全文
  • 修改表的结构有两个命令:ALTER TABLE-SQL命令修改表的结构;MODIFY STRUCTURE-在表设计器中修改表的结构;ALTER TABLE命令ALTER TABLE 语句用于在已有的表中添加、删除或修改列。SQL ALTER TABLE 语法如需在表中...

    29a260111305c3f6226bca4f648a33ab.png

    修改表的结构有两个命令:ALTER TABLE-用SQL命令修改表的结构;

    MODIFY STRUCTURE-在表设计器中修改表的结构;

    ALTER TABLE命令

    ALTER TABLE 语句用于在已有的表中添加、删除或修改列。

    SQL ALTER TABLE 语法

    如需在表中添加列,请使用下面的语法:ALTER TABLE table_name

    ADD column_name datatype

    如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):ALTER TABLE table_name

    DROP COLUMN column_name

    要改变表中列的数据类型,请使用下面的语法:

    SQL Server / MS Access:ALTER TABLE table_name

    ALTER COLUMN column_name datatype

    My SQL / Oracle:ALTER TABLE table_name

    MODIFY COLUMN column_name datatype

    Oracle 10G 之后版本:ALTER TABLE table_name

    MODIFY column_name datatype;

    MODIFY STRUCTURE命令

    MODIFY STRUCTURE命令的功能是修改数据库文件的库结构;修改数据库结构包含这样几个方面:增加字段、插入字段、删除字段、修改字段名、改变字段类型、改变字段宽度或小数位数。

    更多web开发知识,请查阅 HTML中文网 !!

    展开全文
  • 什么是NoSQL数据库

    2014-07-21 23:24:20
    关系型数据库在变更表结构时比较费事,而且为了保持一致性还需修改程序。然而NoSQL数据库则可省去这些麻烦(通常程序都是正确的),确实是方便快捷。 可以使用复杂的查询条件 跟key-value存储不同的是,面向文档的...
  • java操作数据库练习

    2019-08-31 20:59:41
    数据库表的结构: 写一个用来连接数据库的工具类DatabaseUtils 1.首先需要导入mysql-connector-java-5.1.47.jar包,没有什么好说的 2.然后加载驱动 3.连接数据库,同时需要定义一些属性 useName和password是自己...
  • 数据库课设

    2020-05-07 16:31:40
    然后选中hotelSystem_20160706\hotelsystem.sql这个是我的数据备份里面初始化了一些数据和表结构,这样子就可以很简单的恢复了项目的数据库数据和结构 数据库这块正确了,就是正确的打开该项目的方式。如果3的方式...
  • 关于修改结构

    2015-06-01 21:16:00
    数据库系统教程》上明明说了可以 ... 来修改表的结构但是试过了并没有什么 查了一下数据库的书,格式居然是ALTER TABLE <table_name> ALTER COLUMN <column_name><schema of new data ty...
  • 什么用XML配置数据库信息当我们在写小的Demo时,每次都会配置数据库的连接信息,即使自己写个连接工具类,如果要修改数据库连接信息,找java文件很麻烦,也不利于维护,如果把它写在一个结构化的文档里,大大降低了维护...
  • 如两个数据库中数据表有什么不同(表的名称,数量),相同的表字段是否相同(字段数目,约束,字段类型,大小等),有各种数据库管理工具可以实现这一点,但是别人的东西起来总是没有自己的顺手(比如有的工具直接...
  • oracle数据库

    2017-03-28 00:21:32
    最开始是手工来管理数据,之后是通过文件来管理数据,由于文件管理数据有很多弊端,比如不便于数据的修改以及数据之间的共享,数据大量增加时不可能一直文件管理,所以最后发展为数据库管理数据。 1.什么数据库...
  •  本书是一本关于oracle database 9i、10g 和11g 数据库体系结构的权威图书,涵盖了所有重要的oracle 体系结构特性,包括文件、内存结构和进程,锁和闩,事务、并发和多版本,表和索引,数据类型,分区和并行,以及...
  • 3.9 修改跟踪文件 103 3.10 闪回日志文件 104 3.10.1 闪回数据库 104 3.10.2 闪回恢复区 105 3.11 DMP文件(EXP/IMP文件) 106 3.12 数据泵文件 107 3.13 平面文件 110 3.14 小结 111 第4章 内存结构 113 ...
  • 数据库.txt

    2019-10-19 23:14:32
    它可使多个应用程序和用户不同的方法在同时或不同时刻去建立,修改和询问数据库。 大部分DBMS提供数据定义语言DDL(Data Definition Language)和数据操作语言DML(Data Manipulation Language),供用户定义...
  • 数据库的介绍

    2020-07-12 16:53:29
    1.什么数据库 数据库是一个长期存储在计算机内的,有组织,有共享的,统一管理的数据集合。它是一个按数据结构来存储和管理数据的软件系统。 是用户存放数据,查询数据,操作数据的存储仓库,用户的各项数据被有...
  • 数据库基础

    2012-09-22 16:27:04
    §3.3.2 修改结构例子 99 §3.3.3 删除表结构 101 §3.3.4 使用CHECK作限制约束 101 §3.3.5 使用UNRECOVERABLE创建表 102 §3.3.6 将表移动到新的数据段或新的表空间 102 §3.3.7 手工分配表的存储空间 104 §...
  • 结合是非常不好的,尤其在大数据的存储方面,为后期的开发又维护增加的障碍,但是有些时候具体用什么软件开发项目不是我们能主宰的,所有就只能进最大的可 能完成。 存储过程我已经在上一篇转载完了,具体作者我...
  • 10g数据库体系结构的权威图书,涵盖了所有最重要的Oracle体系结构特性,包括文件、内存结构和进程,锁和闩,事务、并发和多版本,表和索引,数据类型,以及分区和并行,并利用具体的例子来充分介绍每个特性,不仅...
  • 数据库管理系统(DBMS):数据库 + 一组以访问、更新和管理这些数据的程序 数据访问的高效和可扩展性 缩短应用开发时间 数据独立性(物理数据独立性 / 逻辑数据独立性) 数据完整性和安全性 并发...
  • 做过开发的小伙伴们都知道,实现一个需求时,一般情况下都需要设计到数据库结构修改。那么我们怎么能保证项目多人开发时,多个数据库环境(测试,生产环境)能够保持一致呢?在没有数据库版本管理工具之前,需要...
  • 因为的是INNODB存储引擎。1。导出表数据及表结构为SQL,2。删除旧表(删除前先备份)3。修改导出后的SQL,将INNODB替换成MYISAM4。导入表数据及表结构一、两种引擎的应用方式和区别:MyISAM:这个是默认类型,它是...
  • 批量升级mysql数据库

    2021-05-11 10:28:43
    <p><strong>情况描述:</strong></p> 现在管理着10多台<strong>windows服务器,每台服务器上有3个<strong>MySQL...什么方法?如果自己写软件,那实现的思路大概是什么样呢?</p>
  • 数据库系统实现

    2013-05-12 13:09:11
    1.1.3 Megatron 2000有什么问题 1.2 数据库管理系统概述 1.2.1 数据定义语言命令 1.2.2 查询处理概述 1.2.3 主存缓冲区和缓冲区管理器 1.2.4 事务处理 1.2.5 查询处理器 1.3 本书梗概 1.3.1 预备...
  • 还有,当应用逻辑改变,数据的逻辑结构也需要改变时,由于数据库系统提供了数据与程序之间的独立性,数据逻辑结构的改变是 DBA 的责任,开发人员不必修改应用程序,或者只需要修改很少的应用程序,从而既简化了应用...
  • 修改操作的对象也可以是元组的集合,相对于面向记录的数据库语言一次只能操作一条记录来 语言的使用简化了用户的处理,提高了应用程序的运行效率 语言简洁,方便易学 语言功能强大,格式规范,表达简洁,接近英语的语法...
  • Firebird数据库中文版

    热门讨论 2011-11-29 08:48:43
    Firebird是一个全功能的,强大高效的,轻量级,免维护的...当然,如果你修改数据库引擎,你应该公布源代码。 工具: 有很多的工具支持Firebird.包括自由的,免费的和商业的。 包括开发工具,管理工具,诊断工具等等。
  • 它可使多个应用程序和用户不同的方法在同时或不同时刻去建立,修改和询问数据库。 大部分DBMS提供数据定义语言DDL(Data Definition Language)和数据操作语言DML(Data Manipulation Language),供用户定义...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 897
精华内容 358
关键字:

修改数据库结构用什么