Oracle学习笔记(四)

本学习笔记包括数据表的创建与管理(DDL语句 Create Table, Alter Table, Drop Table,Rename To, Truncate Table),数据处理(DML语句 Insert, Update, Delete),数据库事务(Commit,Rollback)
一、数据表的创建与管理——DDL语句
数据表的创建
1)数据表的命名规则
必须以字母开头,在1~30个字符之间,只能包含字母,数字,_,,#  
    不能与已有的表名相同,不能是Orcale的保留字  
    eg:abc
,#      不能与已有的表名相同,不能是Orcale的保留字      eg:abc
, ab2c, a_bc, a#d
2)Create Table 语句——数据表创建语句
用户必须具备Create Table权限,存储空间
在创建时必须指定表名,列名,数据类型,尺寸
使用标准格式创建表的格式如下:
Create Table table_named

dnum Number(2),
dname Varchar2(14),
…………

使用子查询创建表的格式如下:
Create Table table_name1
As
Select column_1, column_2, colunmn_3
column_4,…………
From table_name2
Where 条件(s) //当条件为False时,创建的是空表
3)Alter Table —— 修改数据表中的列
可以追加新的列(定义默认值),修改现有的列,删除一个列,重命名一个列
追加列:
Alter Table table_name
Add(column_1 Varchar2(9),
column_2 datatpye [Default exper]
…………
);
新追加的列是表中的最后一列
修改列:
Alter Table table_name
Modify (column_1 Varchar(15)
commn_2 number(9) default 1100
);
对默认值的修改只影响今后对表的修改
删除列:
Alter Table table_name
Drop Column column_1;
重命名列:
Alter Table table_name
Rename Column column_1 to column_2;
4)对表进行操作
删除表:
Drop Table Table_name;
所有的数据,结构,索引和相关事务都被删除,不能回滚
重命名表:
Rename table_name To table_name1
清空表:
Truncate Table table_name;
Delete From table;
Truncate 不能回滚, Delete 能回滚
二、数据处理——DML语句
1)Insert 语句——向已存在的表中插入数据
Insert Into table_name( column_1, column_2,column_3, …………)
Values(10001, ‘name’, to_date(‘2018-6-27’, ‘yyyy-mm-dd’), …………)
Insert 一次只能向表中插入一条数据 字符和日期型数据应包含在单引号中
创建脚本——从控制台获取信息
Insert Into table_name(column_1, column_2, column_3, …………)
Values(&column_1, &column_2, &column_3, …………);
从其它表中拷贝数据进行插入
Insert Into table_name( column_1, column_2,column_3, …………)
Select column_1, column_2,column_3, …………
From table_name1
Where 条件(s);
——不必书写Values子句,子查询中的值列表应与Insert子句的列名对应
2)Update语句——更新已存在的表中的数据
Update table_name
Set column_1 = xxxx
column_2 = (
Select column_x
From table_x
where 条件(s)
)
………………
Where 条件(s);
3)Delete语句——删除已存在的表中的数据
Delete From table_name
Where 条件(s);
三、数据库事务——commit,rollback
定义:一组逻辑操作单元,使数据从一种状态变换到另一种状态。
数据库事务由以下的部分组成:
__一个或多个DML 语句,SELECT、UPDATE、INSERT、DELETE
__一个 DDL(Data Definition Language – 数据定义语言) 语句
__一个 DCL(Data Control Language – 数据控制语言) 语句
以第一个 DML 语句的执行作为开始
以下面的其中之一作为结束:
____Commit 或 RollBack 语句
____DDL 语句,主要的命令有CREATE、ALTER、DROP等(自动提交)
____DCL 语句,数据库控制功能,设置或更改数据库用户或角色权限(自动提交)
__用户会话正常结束
__系统异常终止
eg:
Update…………
SavePoint update_done;
Insert…………
SavePoint insert——done;
Rollback To update_done;
…………
Commit

点赞