Oracle数据库的表单管理(表单的基本查询、表单的复杂查询、数据库的创建)
Oracle 数据库的表名和列的命名规则
a. 必须以字母开头
b. 不能超过30个字符
c. 不能使用oracle保留字符
d. 使用A-Z,a-z,0-9,特殊符号
数据类型
字符型 存放字符串(char)定长 2000最大 (定长)空白的用空格填充 ,查询速度快。
(varchar2) 变长,4000 节省空间
(clob) 大对象
数字类型(number)可表示整数和小数。10负38到正38
Number(3,2) 表示有一个小数有三位有效数字,2个小数位。1.23
Number(5)表示五位整数-99999-99999
日期类型
Date 年月日时分秒
Timestamp,很精确的,银行业务。
图片类型
Blob (图片、声音、视频)保密性高要用放到数据库。
一般的视频和声音,都是采用文件夹和数据库存放路径的方法。
1.建立表
建立一个学生表
Create table student(xh number (2),xm varchar(20),sex char(2),sal number(7,2));
建立一个班级表
Create table class(classid number(2),classname varchar(10));
表的修改
2.添加一个字段
Alter table student add(classid number(2));
3.修改字段长度
Alter table student modify (xm varchar2(30);
4.修改字段的类型或者名字(不能是数据,有数据的话修改完就出现问题)
注意:一般情况不要修改有数据的表的字段名和类似。不然就会出现查询不出来数据的问题。和各种预料不到的问题。
Alter table student modify(xm char(23));
5.删除字段
Alter table student drop column sal;
6.修改表名字
Rename student to xuesheng;
7.删除表
Drop table student;
8.添加数据
Insert into student values (‘201301’,’小黄’,‘男’,‘10-12月-1954’,2000,5);
注意点:数据库的日期 默认日期格式为: 得到 dd-mon-yy 日-月-年的格式 月的后面必须跟上“月”汉字。
修改数据库整的日期格式:
Alter session set nls_date_format=”yyyy-mon-dd”;
Insert into student value (‘201301’,’小黄’,‘男’,‘1992-11月-14’,2000,5);
9.插入一部分字段
Insert into student(xh,xm,sex)values(0012,’小明’,’男’);
10.插入空值
Insert into student (xm,xm,sex,shengri)values(1003,’小花’,‘男‘,null);
如果为空的时候查询空值:
Select *from student where shengri is (not) null;
11.更改数据一个字段
Update student set sex=’女’ where xm=’小黄’;
12.修改多个字段
Update student set sex=’女’,shengri=’1888-10(月,如果转换完了就不需要了)-18’where xm=’黄’;
13.修改空值
=null, is null;
14.删除表数据
删除表
Delect from student;//删除表内容,有表结构,要写日志,速度慢。
15.恢复表内容
Savepoint aa;//创建一个回滚点。回滚的位置点。一般不做特殊设置回滚点后一个会占前
Rollback to aa;//必须设置回滚点。
一个的回滚点。(常用语每天的数据库操作过程,有经验的程序员都会做很多保存点。)oracle可以做很多个保存点。练习的时候自己创建表,练习。Emp有可能出错。
Drop table student;//删除表和表结构。
Delete from table student where sex=’男’;//删除一条记录。
例子:创建一个表表里有数据,然后删除后再回滚。
1. eate table use(id number(4),name varchar(10));
插入数据
2. inser into user values(123,'小黄');
设置保存点
3. savepoint a;
删除数据
4. delete from use;
查看表后再回滚
5. rollback to a;
Truncate table student;//删除表内容保留表结构,不写日志,速度快。