oracle数据库

来源:互联网 发布:净水器推荐知乎 编辑:程序博客网 时间:2024/06/10 21:18

数据库的定义:

数据库是按照数据结构来组织、存储、管理数据的仓库,要注意并不仅仅用来存储数据。
例如:学生有班级,学号,姓名,性别等属性,我们把这些数据分散的存储到数据库这种,但是从数据库中取数据时我们想将对应的一组数据以整体的形式取出来,这就体现了数据库的原理:将数据用便于理解的逻辑对象的形式取出来。

这里用的是oracle数据库。在安装oracle数据库之后,会自动创建sys和system、scott三个用户,sys和system都是管理员的角色,scott是普通用户的角色。其中,用户sys的角色是超级管理员sysdba,它具有数据库管理的所有功能;用户system的权限仅次于sys,不能用于数据库备份和恢复,不能进行数据库升级。

实际操作:

1.首先,要创建一个和我们的项目相关的表空间。
查询所有表空间:select name from v$tablespace;
查询数据库中已有的数据文件:select name from v$datafile;
创建表空间:create tablespace zy datafile 'users01.dbf' size 50M; 创建名为zy的表空间,文件的存放位置是名为user01的数据文件中,每个文件的大小为50M。

2.创建用户

查询数据库中已有的用户:select * from all_users;

创建用户:Create user username identified by password default tablespace tablespaceName

给用户授权:grant *用户角色* to *用户*;
其中,常用的用户角色有connect(连接到数据库)、resource(允许用户创建相应的数据库对象)、dba(管理员,拥有该角色的用户可以给其他用户授权)。

3.在已有的用户下创建表

注意:当用数据库中带的用户比如scott、hr等连接到数据库时如果报the account is locked的错误,执行alter user hr account unlock; 操作为该用户解锁。

创建一张学生表,拥有学号、姓名、年龄等属性

create table student(stu_id int,stu_name varchar(20),age int);

oracle数据库中的数据类型:
1)数字类型:NUMBER(p,s) 包括小数和整数,p表示不能超过p位有效数字,s表示小数点后有s位。
2)字符串类型
char(1) 该列不能超过一个字节
nchar(1) 该列存储一个字符,n是native的意思;
varchar(n) 该列存储的数据最多不能超过n个字节,长度是可变的;
nvarchar(n) 该列存储的数据最多不能超过n个字符,长度是可变的;
3)日期类型:date;
4)java中的布尔型在数据库中可以用char(1)表示;

4.对已有的表进行操作
4.1在原有的学生表中添加地址列

alter table student add stu_sddress varchar(50);

4.2 删除表中的地址列

alter table student drop column stu_sddress;

4.3 修改表中列的名称

alter table student rename column age to stu_age;

4.4向学生表中增加一条数据

insert into student values(1,'张三',20);

4.3 根据条件删除表中的数据

删除学号为1的学生

delete from student where stu_id=1;

*delete和turncate的区别:
1)delete之后的数据并不是真正的删除了,这些数据进入到了undo表空间,提交之后才是真的删除;truncate删除的数据没有机会回复了,直接删除。
2)数据删除之后重新对表进行查询时,turncate的查询速度比delete快。*

4.4 对表中的数据进行修改

update STUDENT set stu_age=30 where stu_id=1;

如果没有where语句,将会影响所有行。

4.5 根据条件对数据库进行查询

select stu_name from student where stu_id=1;
1 0
原创粉丝点击