1.数据库原理及sql
数据库:是人们存放数据,访问数据,操作数据的存储仓库。
DB:数据库,按存储结构来组织,存储和管理的数据仓库
DBMS:数据库管理系统,管理数据库的软件
SQL:结构化查询语言(Structured Qurery Language)
SQL可分为:
数据定义语言(DDL:Data Definition Language):建立,修改,删除数据库对象。create,alter,drop
数据操纵语言(DML: Data Manipulation Language):改变数据库数据。update,insert,delete
事务控制语言(TCL:Transaction Control Language):维护数据的一致性。commit,rollback,savepoint(设置保存点,使事物回退到指定的保存点)
数据查询语言(DQL:Data Query Language):查询所需要的数据 。select
数据控制语言(DCL: Data Control Language): 执行权限的授予和收回操作,创建用户等,grant(授予),revoke(收回),create user。不需事物操作,
自动提交
2.数据库实例(instance)
建立数据库!=建立实例
instance是操作系统中一系列进程以及为这些进程所分配的内存块(即访问Oracle数据库的通道)。
一个实例只能打开一个数据库,一个数据库能被多个实例打开。访问Oracle数据库其实就是访问数据库的实例,有时候还需要先开启实例
实例名就是响应某个数据库操作的数据库管理系统的名字;sid是Oracle实例的一个标识
当配置数据库主机连接串得时候,需要指定实例名:
jdbc:oracle:thin:@localhost:1521:orcltest(orcltest就为数据库实例名)
查询当前数据库得实例名:
select instance_name from v$instance;
查看当前数据库实例信息:
show parameter instance_name;
注意:一个数据库可以有多个实例,在做数据库集群得时候可以用到,或者不同得项目用不同的数据库实例也可以
3.表空间
Oracle数据库是通过表空间来存储物理表的,表空间是数据库的逻辑划分,隶属数据库实例的下面。
一个数据库实例可以又N个表空间,一个表空间下可以又N个表。所以有了实例就可以创建表空间了。
创建表空间:
create tablespace OracleTest logging datafile 'C:oracleproduct10.2.0oradataORCLTESTOracleTest.dbf' size 32m autoextend on next 32m maxsize2048m extent management local;
其中:
表空间名:OracleTest
建立表空间的位置为:C:oracleproduct10.2.0oradataORCLTESTOracleTest.dbf
大小:32M,空间可以自动扩充,每次扩充的大小为32M,最大为2048M
查询表空间名:
select tablespace_name from dba_data_files group by tablespace_name;
查询表空间的大小:
select tablespace_name,count(*),sum(blocks),sum(bytes)/1024/1024 from dba_data_filesgroup by tablespace_name;
查询表空间是否自动扩充:
select file_name,autoextensible,increment_by from dba_data_files;
如果表空间中有表的话可以查看:
select tablespace_name,table_name from dba_tables where tablespace_name='ORACLETEST';
4.用户
一个Oracle数据库装好后,建立数据库实例,创建了表空间,为用户指定表空间,最后才是创建物理表
创建用户为指定的表空间:
Create user testuser identified by test default tablespace OracleTest;
用户:testuser
密码:test
表空间:OracleTest
一个表空间可以授予多个用户,并且可以给不同的用户分配对表空间不同等级的操作权限
给testuser用户授予权限:
grant connect to testuser;
grant resource to testuser;
grant dba to testuser;
登录后可以查询当前用户:
show user;
查看数据库的所有用户:
select * from dba_user;
5.表
数据库实例,表空间,用户都有了之后就可以在自己的用户所属的表空间下创建表了。
查看表所属的表空间:
select table_name,tablespace_name from all_tables where table_name='t_student';
查看表结构:
desc t_student;
6.总结
关于Oracle的使用,首先安装oracle数据库软件、然后创建数据库实例、接下来创建表空间、
再往下给表空间创建用户并分配权限、然后创建表、最后测试,其中创建表空间和创建用户这两个顺序可以颠倒的。