这是杂货铺的第432篇文章 EDB相关文章, 《EDB(/PG)对于执行计划的解读》 《EDB是什么数据库?》...《EDB日期类型的一个问题》 最近某个应用,连接的是EDB数据库,测试环境是EDB 9.2版本,在删除一张inherit方式创建的分区子表(例如主表a,子表b),先用alter table b no herit...通过询问建表的操作,才发现个细节。EDB下创建分区,可以有两种方法,一种是传统的partition by range,一种是用inherit。...但是,在EDB 9.3和EDB 10版本上,使用partition by range创建主表,此时是禁止用inherit,创建子表的,这种操作,会提示,压根不给你inherit删除partition by...不确定这个问题,是EDB 9.2的bug,还是EDB 9.3和10在设计上的升级,根本思路,还是分区表创建的一致性,要么使用partition by range,要么使用inherit,不会交叉使用。
对于号称非常兼容Oracle的EDB数据库,同样有官网https://www.enterprisedb.com,从中可以找到各种关于EDB的信息, ?...不过,从官网上,还是能找到一些有意思的信息,比如这个EDB Blog,可以看些牛人发表的文章,下面这篇《为什么选择Postgres而不是Oracle数据库》,就很有意思,感兴趣的朋友,可以拿来读一读,
(9.2)数据库,这次测试就意外发现了一个说是隐藏,也不算隐藏,至少和Oracle分区表有很大不同的地方,或者可以称他为KENG,“坑”。...1.按照正常理解,这种操作是不行的,EDB普通表是支持的,实验如下。...关系型数据库都会有这样的要求。...总结: 1.从EDB分区表这个问题上,至少可以看出Oracle和EDB两种不同数据库在处理分区表上的区别,每个人都有他自己的看法,怎么设计可能都有他考虑的角度,可以说无所谓对错,只是在易用性和接受性方面会有不同...2.要学会触类旁通,说起来容易做起来难,如果知道EDB分区索引需要手工建立,能不能想到外键约束亦是如此?这就是能不能理解数据库原理精髓的能力,至少我还欠缺着。
一、数据库迁移 1、安装 pip install flask-script pip install flask-migrate 2、创建迁移对象 "first" 结果:在versions目录下生成迁移文件 5、执行迁移(更新数据库...manage.py db upgrade 6、查看迁移历史版本 python manage.py db history 二、普通方式数据增删改 注意 sqlalchemy默认是开启了事务处理 每次操作完需要...class="hljs-keyword">try: db.session.add(self) # 添加对象到数据库
文章目录 数据库操作 创建数据库 修改数据库 查看数据库详细信息 删除数据库 数据库表操作 创建数据库表 查询表的类型 修改表 数据库操作 创建数据库 create database if not...但是数据库的元数据信息是不可更改的,包括数据库的名称以及数据库所在的位置 修改数据库的创建日期 alter database 数据库名 set dbproperties('createtime'=...'20880611'); 查看数据库详细信息 查看数据库基本信息 desc database 数据库名; 查看数据库更多详细信息 desc database extended 数据库名; 删除数据库...删除一个空数据库,如果数据库下面有数据表,那么就会报错 drop database 数据库名; 强制删除数据库,包含数据库下面的表一起删除 drop database 数据库名 cascade...; //不要执行(危险动作) 数据库表操作 创建数据库表 创建一个简单的表 use 数据库名; create table 表名(字段名1 字段类型1,字段名2 字段类型2,…); insert
mysqli_affected_rows() 返回上一次 MySQL 操作所影响的记录行数。 mysqli_autocommit() 打开或关闭自动提交数据库修改。...mysqli_change_user() 更改指定数据库连接的用户。 mysqli_character_set_name() 返回数据库连接的默认字符集。...mysqli_debug() 执行调试操作。 mysqli_dump_debug_info() 转储调试信息到日志中。 mysqli_errno() 返回最近调用函数的最后一个错误代码。...mysqli_rollback() 回滚数据库中的当前事务。 mysqli_select_db() 更改连接的默认数据库。 mysqli_set_charset() 设置默认客户端字符集。...mysqli_sqlstate() 返回最后一个 MySQL 操作的 SQLSTATE 错误代码。 mysqli_ssl_set() 用于创建 SSL 安全连接。
基本操作 启动MySQL:net start mysql 创建Windows服务:sc create mysql binPath = mysqld_bin_path 连接服务器 :mysql -h...地址 -P 端口 -u 用户名 -p 密码 显示哪些线程正在运行:SHOW PROCESSLIST 显示系统变量信息:SHOW VARIABLES 数据库操作 查看当前数据库:SELECT DATABASE...:SHOW CREATE DATABASE 数据库名 修改库的选项信息:ALTER DATABASE 库名 选项信息 删除库:DROP DATABASE [IF EXISTS] 数据库名 表操作...存储引擎 ENGINE = engine_name 表在管理数据时采用的不同的数据结构,结构不同会导致处理方式、提供的特性操作等不同 常见的引擎:InnoDB MyISAM Memory/Heap...ALTER TABLE语法) ALTER TABLE 表名 操作名 操作名 ADD[ COLUMN] 字段定义 -- 增加字段 AFTER 字段名 -- 表示增加在该字段名后面
前两天碰到一个问题,在EDB数据库中创建的一张分区表,需要使用分区本地索引和分区剪裁,但查看执行计划发现没能用到分区剪裁的功能。...那么像EDB这样创建一个不用to_date函数的分区表: ? 直接报错了,提示字段类型不匹配,无法创建表。这也说明了在日期字段类型上,EDB和Oracle的一点不同。 总结: 1....EDB中分区键是日期字段,VALUES LESS THAN(‘2015-11-01’)可以使用字符串格式,但Oracle则会报ORA-01861的错误,不支持这种创建方式。 2....EDB对使用分区键的查询语句,如果日期条件的格式和分区规则中不同,例如分区规则是’2015-NOV-01’或’2015-11-01’,但查询条件使用to_date(‘2015-11-01’,’yyyy-mm-dd...这两种方式说不上孰好孰坏,EDB是更自由,但需要人为注意书写的正确,Oracle则是严谨,好处是避免了人为使用出错的可能,间接上可能也反映出了“社区 VS 商业”、“开源 VS 闭源”对待某个问题的一种态度
1.登入、登出数据库 #登入数据库 mysql -u"用户名" -p "密码" #查看当前时间 select now(); #登出数据库 quit; exit; ctrl + d 2.创建、查看、...选择、删除、修改数据库 创建数据库时,设置数据库的编码方式 CHARACTER SET:指定数据库采用的字符集,utf8不能写成utf-8 COLLATE:指定数据库字符集的排序规则,utf8的默认排序规则为...general_ci; #查看数据库 show databases(); #选择数据库 use 数据库名; #删除数据库 drop databases 数据库名; #修改数据库字符集 alter...database 数据库名 default character set utf8 collate utf8_general_ci; #修改数据库名字 rename database 数据库名 to...新数据库名; 3.导入、导出数据库 #导入数据库 source /路径/xxx.sql; #导出数据库 mysql -uroot -p密码 数据库名<file.sql
]); 返回所影响的行数 删除 delete DB::delete('delete from tb1'); statement DB::statement('drop table tb1'); 数据库请求构造器
Servlet(数据库操作) 我用的mysql8.0+tomcat9.0+jdk9.0.1 新建Servlet类,命名为:SaveServlet (注意,这里我选的版本是3.0,所以WEB-INF...System.out.println("加载驱动成功"); con = DriverManager.getConnection(url,user,password); // 获取数据库连接...ps.setString(5, answer); ps.setString(6, email); ps.executeUpdate(); //执行更新操作...,数据库里确实插入了一条记录,就是刚才在文本中输入的值(这里我的navicat方便查看) 说明: 注意自己数据库的版本,我用的mysql8.0和jdk9.0.1,高版本的驱动连接方式和旧版本不同...将数据库的驱动放在WEB-INF/lib目录下面,再配置构建路径,jar包最终会加入Web app libries这个库下面。
可以说查询是数据库编程中最重要的一环,其用途是从一张表或多张表中检索出满足条件的数据信息 下面开始研究Select语句 Select 语句格式: Select [ALL DISTINCT] select_list
SqlLite数据库 1.作用 2.使用规则 1.作用 嵌入式数据库:安卓、windows、linux、IOS等; 1.1 数据类型 这里是动态数据类型,会根据输入的值自动判断并存储。...:带符号的整型,具体取决于存入数字的范围大小; 3.Real:浮点数字,存储8位byte浮点数;像float 4.Text:字符串文本 5.BLOB:二进制对象; 2.使用规则 2.1 创建或打开数据库...对象辅助类对象;这个是自定义的类 MySQLiteOpenHelper myHelper=new MySQLiteHelper(this,“mySQLiteDB",null,1); //这个是SQLite数据库...SQLiteDatabase db=myHelper.getWritableDatabase(); 2.2 关闭数据库 close()方法 2.3 创建或删除表 2.3.1创建表 create...3.案例 3.1 界面 3.2 帮助类 3.3 创建数据库
max,min,avg 分组的标准) 在SQLServer中分组时:不能以text,ntext,image类型的字段作为分组依据 在selecte统计函数中的字段,不能和普通的字段放在一起; 13、对数据库进行操作...* into temp from tablename delete from tablename insert into tablename select * from temp 评价: 这种操作牵连大量的数据的移动...,这种做法不适合大容量但数据操作 3),例如:在一个外部表中导入数据,由于某些原因第一次只导入了一部分,但很难判断具体位置,这样只有在下一次全部导入,这样也就产生好多重复的字段,怎样删除重复字段 alter...SET NOCOUNT ON DECLARE @LogicalFileName sysname, @MaxMinutes INT, @NewSize INT USE tablename -- 要操作的数据库名...查询某一个表的字段和数据类型 select column_name,data_type from information_schema.columns where table_name = '表名' 15:不同服务器数据库之间的数据操作
数据库管理系统,用来操作数据库的部分 Client 数据库客户端,用来连接数据库,发起请求操作 DBS = DB + DBMS + Client 常用数据库管理软件 MySQL 中小_型数据库,_..., 表示一个字段的取值范围 表 , 行和列构成了表 SQL SQLStructured Query Language 结构化查询语言 SQL 的主要功能是和数据库建立连接,提供增删改查的操作。...SQL语言分类 DDL DataDefinition Language 数据定义语言,主要提供数据库,数据表的创建操作。...DML DataManipulation Language 数据操作语言,主要提供数据表中数据的插入,更新,删除操作 DQL DataQuery Language 数据查询语言,主要_提供对数据表中数据的查询操作...sys infomation_schema +perfromance_schema mysql 保存数据库用户信息 数据库 CRUD 操作 ---- C Create创建 RRead/Retrieve
1、abap语言使用的数据库语言:open sql ,Native sql(特定数据库自身sql) 2、使用OPen SQL注意的原则: a、尽可能减少满足条件的数据条目数量。...c、减少访问的数据库表量。 d、减少查询难度,可以通过整理选择标准来实现。 e、减少数据库负载。...3、使用Native sql有两个前提: a、知道使用数据库的类型。 b、了解该数据库的SQL语法。 4、ABAP的数据定义由数据字典创建。...24、限定选择的行数 select ...from dbtab up to n rows.... 25、操作性能分析 report z_test....endif. 31、展示服务器文件操作 report z_test.
首先mgdb是分布式数据库,比较灵活。不像ms sql;我个人总觉得MSsql是一个庞大臃肿的机器一样。不过还是有他存在的道理的。比如关联表的处理上。
1.7 数据操作 1.7.1 插入数据 语法:insert into 表名 (字段名, 字段名,…) values (值1, 值1,…) 1、插入所有字段 -- 插入所有字段 mysql> insert
1.5 数据库的操作 1.5.1 创建数据库 语法: create database [if not exists] 数据名 [选项] 例题 -- 创建数据库 mysql> create database...MySQL数据库的目录 数据库保存的路径在安装MySQL的时候就配置好。...小结: 1、如果创建的数据库已存在,就会报错。 解决方法:创建数据库的时候判断一下数据库是否存在,如果不存在再创建 2、如果数据库名是关键字和特殊字符要报错。...,只带上面四个数据库 1.5.3 删除数据库 语法: drop database [if exists] 数据库名 例题 mysql> drop database `create`; Query OK...只能修改数据库选项,数据库的选项只有字符编码 语法: alter database 数据库名 charset=字符编码 例题: mysql> alter database emp charset=utf8
数据库访问几乎每一个稍微成型的程序都要用到的知识,怎么高效的访问数据库也是我们学习的一个重点,今天的任务就是总结java访问数据库的方法和有关API,java访问数据库主要用的方法是JDBC,它是java...语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法,下面我们就具体来总结一下JDBC 一:Java访问数据库的具体步骤: 1 加载(注册)数据库 驱动加载就是把各个数据库提供的访问数据库的...建立连接对于不同数据库也是不一样的,下面看一下一些主流数据库建立数据库连接,取得Connection对象的不同方式: //Oracle8/8i/9i数据库(thin模式) Stringurl="jdbc...我认为事务,就是一组操作数据库的动作集合。 事务是现代数据库理论中的核心概念之一。如果一组处理步骤或者全部发生或者一步也不执行,我们称该组处理步骤为一个事务。...当所有的步骤像一个操作一样被完整地执行,我们称该事务被提交。由于其中的一部分或多步执行失败,导致没有步骤被提交,则事务必须回滚到最初的系统状态。 事务必须服从ISO/IEC所制定的ACID原则。