ddl

MySQL 数据定义语言(DDL)

房东的猫 提交于 2020-03-23 18:05:46
SQL 包含以下 4 部分: 1 数据定义语言(DDL):DROP、CREATE、ALTER 等语句。 2 数据操作语言(DML):INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。 3 数据查询语言(DQL):SELECT 语句。 4 数据控制语言(DCL): GRANT、REVOKE、COMMIT、ROLLBACK 等语句。 MySQL之DDL(Data Definition Language): 数据定义语言:CREATE,ALERT,DROP等 DDL:操作数据库,表(CRUD) 1.操作数据库 (1)C(Create):创建数据库 CREATE DATABASE [IF NOT EXISTS] 数据库名 [[DEFAULT] CHARACTER SET 字符集名] [[DEFAULT] COLLATE 校对规则名]; eg. mysql> CREATE DATABASE IF NOT EXISTS test -> DEFAULT CHARACTER SET utf8 -> DEFAULT COLLATE utf8_general_ci; Query OK, 1 row affected, 1 warning (0.01 sec) (2)R(Retrieve):查询 SHOW DATABASES [LIKE '数据库名']; eg.查询全部 mysql>

【OGG】OGG的下载和安装篇

a 夏天 提交于 2020-03-23 16:29:30
【 OGG 】 OGG 的下载和安装篇 一.1 BLOG 文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① OGG的下载和安装 本文如有错误或不完善的地方请大家多多指正,ITPUB留言或QQ皆可,您的批评指正是我写作的最大动力。 一.2.2 实验环境介绍 11.2.0.3 RHEL6.5 一.2.3 本文简介 有个同事喊我解决 OGG 不能同步的问题,汗颜啊,我也就之前学过安装和简单的配置,当时是成功的,结果帮同事搭建的时候数据死活不能同步。于是下决心这几天好好再研究一下 OGG 的内容。 一.3 gg 安装 在 Linux 上安装 OGG 很简单,总体分为以下几个部分: 1. Downloading Oracle GoldenGate software. 2. Setting ORACLE_HOME and ORACLE_SID 3. Setting library paths for dynamic builds 4. Installing the Oracle GoldenGate software 一.3.1 Downloading Oracle GoldenGate software. 第一步,下载 gg 软件,可以有 2 种途径直接下载 一.3.1.1 第一种

oracle中ddl为什么不能回滚

与世无争的帅哥 提交于 2020-03-21 19:35:47
3 月,跳不动了?>>> 在 ITPUB 上看到有人提出了这个问题。在 Sqlserver 或一些其他的 数据库 中, DDL 语句也是可以回滚的,那么 Oracle 为什么不能回滚 DDL 语句呢。 这个问题来自: http://www.itpub.net/thread-1300088-1-5.html 要说明这个问题,首先需要说明什么是 DDL 语句。 DDL 语句是数据定义语句,包括各种数据对象的创建、修改和删除,以及授权等操作。 在 Oracle 中 DDL 语句将转化为修改数据字典表的 DML 语句。一个简单的修改表的 DDL 语句,会导致 Oracle 在后台通过递归 SQL 语句进行大量的查询和修改的操作。 如果有兴趣,可以通过 SQL_TRACE 根据一下 DDL 语句,检查一下 Oracle 后台实际执行了哪些操作。 在 Oracle 中, Oracle 执行 DDL 前会发出一个 COMMIT 语句,然后执行 DDL 操作,最后再发出一个 COMMIT 操作。 前面提到了对于 Oracle 而言, DDL 实际上是数据字典表的一系列的修改,也就是数据字典表的 DML 操作,那么理论上讲 Oracle 是完全有能力实现 DDL 语句的回滚的,那么 Oracle 为什么设计成现在的工作方式。要知道 Oracle 以灵活和强大的可定制性著称,但是 Oracle

JDBC

旧巷老猫 提交于 2020-03-19 03:43:26
JDBC 一、JDBC常用接口、类介绍 JDBC提供对独立于数据库统一的API,用以执行SQL命令。API常用的类、接口如下: DriverManager 管理JDBC驱动的服务类,主要通过它获取Connection数据库链接,常用方法如下: public static synchronized Connection getConnection(String url, String user, String password) throws Exception; 该方法获得url对应的数据库的连接。 Connection 常用数据库操作方法: Statement createStatement throws SQLException: 该方法返回一个Statement对象。 PreparedStatement prepareStatement(String sql) throws SQLException;该方法返回预编译的Statement对象, 即将SQL语句提交到数据库进行预编译。 CallableStatement prepareCall(String sql) throws SQLException:该方法返回CallableStatement对象, 该对象用于存储过程的调用。 上面的三个方法都是返回执行SQL语句的Statement对象

JDBC常用接口、类介绍

故事扮演 提交于 2020-03-19 03:36:04
JDBC常用接口、类介绍 JDBC提供对独立于数据库统一的API,用以执行SQL命令。API常用的类、接口如下: DriverManager 管理JDBC驱动的服务类,主要通过它获取Connection数据库链接,常用方法如下: public static synchronized Connection getConnection(String url, String user, String password) throws Exception; 该方法获得url对应的数据库的连接。 Connection 常用数据库操作方法: Statement createStatement throws SQLException: 该方法返回一个Statement对象。 PreparedStatement prepareStatement(String sql) throws SQLException;该方法返回预编译的Statement对象, 即将SQL语句提交到数据库进行预编译。 CallableStatement prepareCall(String sql) throws SQLException:该方法返回CallableStatement对象, 该对象用于存储过程的调用。 上面的三个方法都是返回执行SQL语句的Statement对象,PreparedStatement

Week4作业A-DDL的恐惧

一笑奈何 提交于 2020-03-17 07:35:02
目录 1.题意 2.解题思路 3.样例 4.总结 5.AC代码 1.题意 ZJM 有 n 个作业,每个作业都有自己的 DDL,如果 ZJM 没有在 DDL 前做完这个作业,那么老师会扣掉这个作业的全部平时分所以 ZJM 想知道如何安排做作业的顺序,才能尽可能少扣一点分。 2.解题思路 贪心策略:两个关键字扣的分数和DDL,关键字1为扣的分数降序排列,第二关键字为降序排列 证明:   每个DDL完成所需时间为1,所以优先考虑价值高的任务即第一关键字降序排列   DDL降序排列从后向前排列可以保证第i个DDL对其他DDL影响最小,因此结果更优 3.样例 Input 输入包含T个测试用例。输入的第一行是单个整数T,为测试用例的数量。 每个测试用例以一个正整数N开头(1<=N<=1000),表示作业的数量。 然后两行。第一行包含N个整数,表示DDL,下一行包含N个整数,表示扣的分。 Output 对于每个测试用例,您应该输出最小的总降低分数,每个测试用例一行 Sample Input 3 3 3 3 3 10 5 1 3 1 3 1 6 2 3 7 1 4 6 4 2 4 3 3 2 1 7 6 5 4 Sample Output 0 3 5 4.总结 需要注意当从后向前遍历DDL,做改天已有DDL占用时,找到空闲后应该break结束循环 5.AC代码 # include

[贪心/二分] Exercise Week4 A+B+C题

≯℡__Kan透↙ 提交于 2020-03-17 01:56:22
目录 A.ddl的恐惧(贪心) 题意 样例 思路 总结 代码 B.四个数列(二分) 题意 样例 思路 总结 代码 C.TT的神秘礼物 题意 样例 思路 总结 代码 A.ddl的恐惧(贪心) 题意 有n([1,1000])个作业,每个左右有相应的ddl,如果未在ddl之前做完作业,将会扣除一定的分数(每个作业消耗相同的一个单位时间) 求最少会被扣除多少分数 样例 样例输入: 第一行一个数字T 代表数据组数 每一组样例的第一行数字 n 代表作业数量 下一行n个数字ai 代表第i个作业的ddl 再下一行n个数字bi 代表第i个作业的分值 3 3 3 3 3 10 5 1 3 1 3 1 6 2 3 7 1 4 6 4 2 4 3 3 2 1 7 6 5 4 样例输出: 一组数据输出一个答案ans 表示最少被扣掉的分数 单独占一行 0 3 5 思路 1.将每个任务按照ddl的大小降序排列,即ddl大的在前面 2.将时间t初始化为最大的ddl(t再大也没用,因为没有作业需要做) 从后向前遍历时间t 3.在每个时间t里,从k(初始化为1)到n遍历task数组,将其中的score值放入到大根堆中 直到task[i]的ddl不等于t 并且弹出大根堆的堆顶元素 并使 t-- 代表时刻t完成了分值为q.top()的任务(注意for循环中k每次也要自加 因为k是每一次遍历task数组的起始下标) 4

DDL问题-贪心算法

懵懂的女人 提交于 2020-03-16 21:53:35
题目 题目大意 本题给出了若干个任务的DDL和对应的分值,要求得出最少扣分值,也就是求出最大得分。在DDL前完成任务可以得分,否则就不能。 解题思路 本题与区间覆盖问题有一些相似之处,因此在贪心准则的选取时有一定参考。首先可以将所有任务按DDL进行排序,随后开始由最后一天即最大DDL开始向前选取。此时可以使用优先队列,将DDL在所选日期之后的项目放入队列,然后弹出分值最大的项目,表明该项得分。一直搜索到第一天结束,用总分数减去已完成的分数可以得出扣去的分数。 具体代码 # include <iostream> # include <cstring> # include <cstdio> # include <string> # include <algorithm> # include <cmath> # include <cstdlib> # include <ctime> # include <iomanip> # include <vector> # include <queue> # define ll long long # define ld long double using namespace std ; struct node { int ddl ; int grade ; int flag ; bool operator < ( const node & x )

如何获取物化视图的ddl语句呢

牧云@^-^@ 提交于 2020-03-08 14:29:50
我创建了一个物化视图,如下,时间久了,忘了物化视图的定义了 ,在哪里去找呢: CREATE MATERIALIZED VIEW cust_sales_mv ENABLE QUERY REWRITE AS SELECT c.cust_id, SUM(amount_sold) FROM sales s, customers c WHERE s.cust_id = c.cust_id GROUP BY c.cust_id; 我通过select object_name,object_type from dba_objects where object_name='CUST_SALES_MV'; SQL> select object_name,object_type from dba_objects where object_name='CUST_SALES_MV'; OBJECT_NAME OBJECT_TYPE ------------------------------ ------------------- CUST_SALES_MV TABLE CUST_SALES_MV MATERIALIZED VIEW 在通过get_ddl语句报类型不对: SQL> SELECT dbms_metadata .get_ddl('MATERIALIZED VIEW','CUST_SALES_MV

oracle数据库定义语句DDL

余生颓废 提交于 2020-03-07 11:02:36
1、建表语句: create table 表名(字段名 类型,字段名 类型); --删除表: drop table 表名; --修改表: alter table 表名 add 字段名 类型; --修改字段: alter table 表名 modify(字段名 类型); --重命名字段: alter table 表名 rename column 字段名 to 新字段名; --重命名表 : rename 表名 to 新表名; --删除字段: alter table 表名 drop column 字段名; 2、序列(sequence) --创建sequence create sequence 序列名 [INCREMENT BY n] [START WITH n] [{MAXVALUE/ MINVALUE n| NOMAXVALUE}] [{CYCLE|NOCYCLE}] [{CACHE n| NOCACHE}]; 其中: 1) INCREMENT BY用于定义序列的步长,如果省略,则默认为1,如果出现负值,则代表Oracle序列的值是按照此步长递减的。 2) START WITH 定义序列的初始值(即产生的第一个值),默认为1。 3) MAXVALUE 定义序列生成器能产生的最大值。选项NOMAXVALUE是默认选项,代表没有最大值定义,这时对于递增Oracle序列