DDL Data Definition(重点) (n. 定义:[物] 清晰度:解说)用于定义数据的结构,创建,修改,删除数据库对象 一.表的增删改查 1.创建表:CREATE TABLE temp AS (SELECT * FROM emp WHERE 1==2) 创建表结构. CREATE TABLE temp(字段名称 字段类型(默认值)) 2.删除表:DROP TABLE person (需要回滚); TRUNCATE TABLE tperson ;(直接截断) 3.增加表字段:ALTER…
  DML语句 insert 向表中插入新的记录   --三种插入方式 --(1)不写字段的名字,直接按照字段的顺序把值逐个往里插 insert into dept2 values(50,'DANAME','BEIJING');   --(2)指定某些字段往里插,其他不插的字段默认都是空值 insert into dept2(deptno,dname) values(60,'DNAME2');   --(3)将子查询的结果插入到表中 insert into dept2 select * from…
DML语句 insert 向表中插入新的记录 --三种插入方式 --(1)不写字段的名字,直接按照字段的顺序把值逐个往里插 insert into dept2 values(50,'DANAME','BEIJING'); --(2)指定某些字段往里插,其他不插的字段默认都是空值 insert into dept2(deptno,dname) values(60,'DNAME2'); --(3)将子查询的结果插入到表中 insert into dept2 select * from dept; u…
--得到所有表空间的ddl语句 SELECT DBMS_METADATA.GET_DDL('TABLESPACE', TS.tablespace_name)FROM DBA_TABLESPACES TS; --得到所有创建用户的ddl语句 SELECT DBMS_METADATA.GET_DDL('USER',U.username)FROM DBA_USERS U; --所支持的45个OBJECT TYPE: Type Name Meaning  ------------------------…
Oracle Schema Objects 序列的作用 许多的数据库之中都会为用户提供一种自动增长列的操作,例如:在微软的Access数据库之中就提供了一种自动编号的增长列(ID列).在oracle数据库中没有自动增长列. 序列(Sequence)可以自动的按照即定的规则实现数据的编号操作. 序列的创建语法 CREATE SEQUENCE 序列名称 [ INCREMENT BY 步长 ] [ START WITH 开始值 ] [ MAXVALUE 最大值 | NOMAXVALUE ] [ MIN…
dbms_metadata.get_ddl()用于获取对象的DDL,其具体用法如下.注意:在sqlplus里,为了更好的展示DDL,需要设置如下参数:set line 200set pagesize 0set long 99999set feedback offset echo off 1)获得表.索引.视图.存储过程.函数的DDL select dbms_metadata.get_ddl('TABLE','TABLE_NAME','TABLE_OWNER') from dual;select…
1.添加表字段--咨询表添加内容简介字段 ALTER TABLE s_table ADD intro VARCHAR2(1024); COMMENT ON COLUMN s_table.remarks IS '描述'; 2.修改为clob类型字段 delete from s_table ;commit;alter table s_table drop column remarks :alter table s_table add remarks CLOB;…
数据库对象 用户模式:指数据库用户所创建和存储数据对象的统称.在访问其它用户模式的数据库对象时需加上用户模式. 如:scott.emp, scott.dept等. 数据库对象包括:表.视图.索引.序列.目录.同义词.数据库用户.存储过程.函数.触发器等. 同义词 同义词是现有数据库对象的一个别名. 简化SQL语句 隐藏对象的名称和所有者 同义词分为私有和公有的 --创建同义词得通过sys进行授权 grant create [any] synonym to $username$; --授权,创建私…
数据库对象 用户模式:指数据库用户所创建和存储数据对象的统称.在访问其它用户模式的数据库对象时需加上用户模式. 如:scott.emp, scott.dept等. 数据库对象包括:表.视图.索引.序列.目录.同义词.数据库用户.存储过程.函数.触发器等. 同义词 同义词是现有数据库对象的一个别名. 简化SQL语句 隐藏对象的名称和所有者 同义词分为私有和公有的 复制--创建同义词得通过sys进行授权 grant create [any] synonym to $username$; --授权,创…
查看Oracle当前用户下的信息(用户,表视图,索引,表空间,同义词,存储过程函数,约束条件) 0.表空间 SQL>select username,default_tablespace from user_users; 查看当前用户的角色 SQL>select * from user_role_privs; 查看当前用户的系统权限和表级权限 SQL>select * from user_sys_privs; SQL>select * from user_tab_privs; 查看用…
DML和DDL语句的其他用法 17.1 DML语句-MERGE 作用:把数据从一个表复制到另一个表,插入新数据或替换掉老数据. Oracle 10g中MERGE有如下一些改进: 1.UPDATE或INSERT子句是可选的2.UPDATE和INSERT子句可以加WHERE子句3.ON条件中使用常量过滤谓词来insert所有的行到目标表中,不需要连接源表和目标表4.UPDATE子句后面可以跟DELETE子句来去除一些不需要的行 首先创建示例表: create table PRODUCTS    ( …
DML(数据操纵语言) INSERT .UPDATE. DELETE 插入操作:INSERT: 语法: INSERT INTO 表名(列名1,列名2 ...)VALUES(列值1,列值2...); 注意:列名与列值的类型.个数.顺序要一一对应. 可以把列名当做java中的形参,把列值当做实参. 值不要超出列定义的长度. 如果插入空值,请使用null 插入的日期和字符一样,都使用引号括起来. 修改操作 UPDATE: 语法:UPDATE 表名 SET 列名1=列值1,列名2=列值2 .......…
Oracle的伪列以及伪表 oracle系统为了实现完整的关系数据库功能,系统专门提供了一组成为伪列(Pseudocolumn)的数据库列,这些列不是在建立对象时由我们完成的,而是在我们建立时由Oracle完成的.Oracle目前有以下伪列: 一.伪列: CURRVAL AND NEXTVAL 使用序列号的保留字 LEVEL查询数据所对应的层级 ROWID 记录的唯一标识 ROWNUM 限制查询结果集的数量 Rowid的概念:rowid是一个伪列,既然是伪列,那么这个列就不是用户定义,而是系统自…
先看一个题:查询emp表的信息,显示前5行数据,这时候我们就需要使用伪列(rownum)的概念. rownum在数据表并不是一个真实的列,其实每一行应该都有一个行号,这个伪列就是用来记录这个行号的,这个列可以进行一些操作,比如取等于和小于操作,不能取大于操作. *****查询emp表的信息,显示前5行数据***** SELECT * FROM emp WHERE rownum <= 5 ; 如果我们要查询第5-10行数据,这时候该怎么办?就需要使用到子查询. SELECT * FROM ( SE…
Oracle Schema Objects Oracle Schema Objects——Tables——Oracle Data Types Oracle伪列 在Oracle数据库之中为了实现完整的关系数据库的功能,专门为用户提供了许多的伪列. “NEXTVAL”和“CURRVAL”就是两个默认提供的操作伪列Oracle Schema Objects——Sequences(伪列:nextval,currval) SYSDATE与SYSTIMESTAMP也属于伪列SQL Fundamentals…
当我们想要查看某个表或者是表空间的DDL的时候,可以利用dbms_metadata.get_ddl这个包来查看. dbms_metadata包中的get_ddl函数详细参数 GET_DDL函数返回创建对象的原数据的DDL语句,详细参数如下 -- object_type ---需要返回原数据的DDL语句的对象类型 -- name --- 对象名称 -- schema ---对象所在的Schema,默认为当前用户所在所Schema -- version ---对象原数据的版本 -- model --…
当我们想要查看某个表或者是表空间的DDL的时候,可以利用dbms_metadata.get_ddl这个包来查看. dbms_metadata包中的get_ddl函数详细参数 GET_DDL函数返回创建对象的原数据的DDL语句,详细参数如下 -- object_type ---需要返回原数据的DDL语句的对象类型 -- name --- 对象名称 -- schema ---对象所在的Schema,默认为当前用户所在所Schema -- version ---对象原数据的版本 -- model --…
早上一个同事资讯怎么获取到建表语句而且是不带存储那种SQL.Oracle自己提供了一个函数DBMS_METADATA.GET_DDL,但是获取到的建表语句含有存储.表空间.以及一些其他段的属性.如图: 看到这个获取到的ddl语句,想通过利用Oracle函数来截取的方式获取建表语句. 思路为:1.通过get_ddl获取建表语句 abc2.将abc中的pctfree'替换成';'3.计算';'的位置4.用substr来截取abc,从开头到';'的长度 SQL如下: SELECT SUBSTR(REP…
SQL主要程序设计语言 数据定义语言DDL(Data Definition Language) 如 create.alter.drop, 数据操作语言DML(Data Munipulation Language) 如 insert.update.delete, 数据控制语言DCL(Data Control Language) 如 grant.revoke Connection conn = DBUtil.getConnection(); Statement st = null; try { co…
抓取oracle建表语句及获取建表ddl语句 1.抓取代码如下: 1.1.产生表的语法资料 DECLARE-- v_notPartTable VARCHAR2(1000):= '&2'; --v_sql CLOB; v_partType VARCHAR2(20); v_partColumn VARCHAR2(50); v_subPartType VARCHAR2(50); v_subPartSql VARCHAR2(4000); v_seq NUMBER := 10;BEGIN FOR v_cu…
第一种方法是使用工具,如:pl/sql developer,在[工具]--[导出用户对象]出现就可以得到建表脚本. 第二种方法是,sql语句. DBMS_METADATA.GET_DDL包可以得到数据库的对象的ddl脚本.如下(SQLPLUS中执行): 1.得 到一个表的ddl语句: SET SERVEROUTPUT ON SET LINESIZE 1000 SET FEEDBACK OFF set long 99999           set pagesize 4000 ---去除stor…
说明:使用此过程可任意执行批量DDL语句,调用DDL查询语句时,注意转义字符,使用 ' 转义! 需求:批量删除以CUR_TEST开头的表,且有日志记录. 环境准备:建几张以CUR_TEST开头测试表. CREATE TABLE CUR_TEST_1(ID INT); CREATE TABLE CUR_TEST_2(ID INT); CREATE TABLE CUR_TEST_3(ID INT); 创建日志表: CREATE TABLE PRO_BATCH_DDL_LOG(OP_TIME DATE…
数据库对象TableViewSequenceIndexSynonym 对象名称最长30个字符,不能与当前用户下其他对象重名.create table "select" as select * from emp;select * from "select"; 必须有创建表的权限CREATE TABLE [schema.]table (column datatype [DEFAULT expr][, ...]); conn / as sysdba;create user…
数据库DDL语句书写规范 1.SQL语句编写说明编写SQL语句应遵循统一的规范,包括大小写.空格.换行.缩进等等,只有完全一样的SQL才能在数据库中共享,从而减少硬解析. 字段类型.长度:根据数据情况定义合适的字段数据类型及长度.对于无法确认字段长度的情况,采用变长的数据类型,比如使用varchar2代替char.char类型为固定长度,对于长度不足的数据会用空格补齐,这种情况下会造成空间浪费.对于日期时间数据,使用date数据类型,避免使用number.varchar2等数据类型存储转换后的日…
DDL create table 创建表 alter table 修改表 drop table 删除表 truncate table 删除表中所有行 create index 创建索引 drop index 删除索引当执行DDL语句时,在每一条语句前后,oracle都将提交当前的事务.如果用户使用insert命令将记录插入到数据库后,执行了一条DDL语句(如create table),此时来自insert命令的数据将被提交到数据库.当DDL语句执行完成时,DDL语句会被自动提交,不能回滚. DM…
http://www.cnblogs.com/aocle/archive/2011/10/13/2209790.html 当我们想要查看某个表或者是表空间的DDL的时候,可以利用dbms_metadata.get_ddl这个包来查看. dbms_metadata包中的get_ddl函数详细参数 GET_DDL函数返回创建对象的原数据的DDL语句,详细参数如下-- object_type ---需要返回原数据的DDL语句的对象类型-- name --- 对象名称-- schema ---对象所在的…
Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, ……) VALUES ( 值1, 值2, ……);INSERT INTO 表名(字段名1, 字段名2, ……) SELECT (字段名1, 字段名2, ……) FROM 另外的表名; 字符串类型的字段值必须用单引号括起来, 例如: ’GOOD DAY’如果字段值里包含单引号’ 需要进行字…
1.分页 select t2.* from (select rownum row, t1.*  from your_table where rownum < ?) t2 where t2.row > ? 2.查看oracle数据库的某个表上已经建立了那些索引 select index_name from dba_indexes where table_name='your_table'; 3.如果表中有数据后给表增加约束会出现“无效的alter table选项”错误 alter table e…
动手敲~~~ --创建一个表空间--beijing create tablespace beijing datafile 'c:\beijing.dbf' size 100m autoextend on next 10m; --删除表空间 drop tablespace beijing; /* 创建用户 */ create user dashao identified by dashao default tablespace beijing; /* 授权 grant 角色 | 权限 to 用户…