对象 | 描述 |
---|---|
表 | 基本的数据存储集合,由行和列组成。 |
视图 | 从表中抽出的逻辑上相关的数据集合。 |
序列 | 提供有规律的数值。 |
索引 | 提高查询的效率 |
同义词 | 给对象起别名 |
数据类型 | 描述 |
---|---|
VARCHAR2(size) | 可变长字符数据 |
CHAR(size) | 定长字符数据 |
NUMBER(p,s) | 可变长数值数据 |
DATE | 日期型数据 |
LONG | 可变长字符数据,最大可达到2G |
CLOB | 字符数据,最大可达到4G |
RAW (LONG RAW) | 原始的二进制数据 |
BLOB | 二进制数据,最大可达到4G |
BFILE | 存储外部文件的二进制数据,最大可达到4G |
ROWID | 行地址 |
select table_name from user_tables;
创建table_01
的表格,包含字段,id,name,salary,hire_date。
rename [旧表名] to [新表名]
drop table [表名]
truncate table [表名]
该操作不能回滚 但是使用delete from [表名]
之后使用rollback
可以撤回操作
alter table [表名] add ([字段名] [字段类型]);
alter table [表名] modify ([字段名] [字段类型]);
alter table [表名] modify ([字段名] [字段类型] default [默认值]);
alter table [表名] drop column [字段名] ;
alter table [表名] [列名] rename column [旧字段名] to [新字段名] ;
insert into [表名](column[,column...]) values (values[,values...])
示例:向 emp2 表中插入一行数据
把B表数据拷贝到A表
insert into [表A] select * from [表B]
注意: 前提是A表必须存在而且表结构和B表一样
update [表名] set [字段名]=[更新的值] where [条件]
[更新的值]可以是一个子查询
注意约束导致数据完整性错误UPDATE employeesSET department_id = 55WHERE department_id = 110;导致错误
UPDATE employees *ERROR at line 1:ORA-02291: integrity constraint (HR.EMP_DEPT_FK) violated - parent key not found原因是,employees对应department中没有55号这个部门所以导致失败。
delete from [表名] where [条件]
如果不加条件则就是删除所有的表记录
[条件]可以作为一个子查询
一组逻辑操作单元,使数据从一种状态变换到另一种状态。
数据库事务由以下的部分组成:
一个或多个DML 语句一个 DDL(Data Definition Language – 数据定义语言) 语句一个 DCL(Data Control Language – 数据控制语言) 语句对一个表进行操作完毕后,使用commit
表示保存做的操作,保存完毕之后如果在次对标进行操作,而没使用commit
此时使用rollback
会使得表的修改恢复到上一次commit
之后
举个例子:创建一个表,并插入了数据,如果插入完数据之后没有使用commit
,那么表格内容虽然是修改了的,但是并没有保存,此时如果使用rollback
表格会恢复到没插入内容之前的状态。也就是空表格。。。
对表操作的时候,相当于数据库给表加了一把锁,当使用commit之后,锁才会释放,其他用户才能对表进行操作
新闻热点
疑难解答