Oracle基础
来源:互联网 发布:2017淘宝总额 编辑:程序博客网 时间:2024/04/30 07:56
本文内容来自Oracle数据库开发必备利器之SQL基础,记录下学习内容
Oracle基础
Oracle安装
在Oracle官网下载Oracle Database 11g Release 2下载对应的系统版本
在安装完Oracle后,在所有程序中选择SQL Plus
,有两个用户可以用选择使用SYS
和SYSTEM
Oracle卸载 D:\app\oracle\product\11.2.0\dbhome_1\deinstall
下有个deinstall
批处理文件,按步骤操作即可。
用户和表空间
用户
使用系统用户登录Oracle
登录SQL Plus
SQL Plus
是使用Dos
来操作和管理Oracle
的工具。
系统用户
- sys,system
- sysman
- scott
sys
,system
和sysman
的密码是用户设置,scott
用户密码默认是tiger
使用system用户登录
例如使用system/toor
直接进行登录。
使用sys用户登录
如下:
会提示要使用sysdba
或者sysoper
的权限
connect sys/toor as sysdba
查看登录用户
1.使用show user
命令
2.使用dba_users
数据字典 。数据字典是数据库提供的表,用于查看数据库的信息。
如下,使用desc dba_users
来查看表结构
使用查询语句select username from dba_users;
来查询用户。
启用scott用户
如下,在SQL Plus
中启用scott
用户
Oracle数据库中默认用户scott
的权限最低
表空间
可以把表空间理解为在数据库中开辟的一个空间用于存放数据库中的对象。
一个数据库可以由多个表空间来构成。
表空间由一个或者多个数据文件来构成的,数据文件的位置和大小可以由用户自己来定义。
表空间的分类:
- 永久表空间:表或者视图或者存储过程
- 临时表空间
- UNDO表空间:用于保存事物修改之前的旧值。
查看用户表空间
dba_tablespaces
数据字典针对的是系统管理员级别的用户来查看的数据字典 user_tablespaces
是普通用户登录之后来查看的数据字典
使用desc dba_tablespaces
来查看表的结构,使用select tablespace_name from dba_tablespaces;
来查看表空间
设置用户的默认或临时表空间
创建表空间
例如创建一个永久表空间:
create tablespace test1_tablespace datafile 'test1file.dbf' size 10m;
创建一个临时的表空间:
create temporary tablespace temptest1_tablespace tempfile 'temptest1file.dbf' size 10m;
如何查看表空间的具体路径等相关的信息?
可以通过dba_data_files
数据字典来查看:
select file_name from dba_data_files where tablespace_name = 'TEST1_TABLESPACE';
其输出结果为:
FILE_NAME--------------------------------------------------------------------------------D:\APP\ORACLE\PRODUCT\11.2.0\DBHOME_1\DATABASE\TEST1FILE.DBF
如果是临时表空间,查看的是dba_temp_files
这个数据字典
修改表空间
修改表空间的状态
1.设置联机或者脱机状态
例如:
alter tablespace test1_tablespace offline;
2.设置只读或可读写状态
修改数据文件
1.增加数据文件
例如,添加另一个文件:
alter tablespace test1_tablespace add datafile 'test2_file.dbf' size 10m;
此时通过 select file_name from dba_data_files where tablespace_name = 'TEST1_TABLESPACE';
来查看表空间的file_name结果如下:
2.删除数据文件
删除表空间
例如:
drop tablespace test1_tablespace including contents;
表
表都会存放在表空间中,表实际上是存储数据的一个基本存储单位,都是一个二维结构。
数据类型
参考ORACLE基本数据类型总结
1.字符串类型
- CHAR类型:
CHAR(size [BYTE | CHAR])
CHAR类型,定长字符串,会用空格填充来达到其最大长度 - NCHAR类型: 这是一个包含UNICODE格式数据的定长字符串。NCHAR字段最多可以存储2,000字节的信息。
- VARCHAR类型: 不要使用VARCHAR数据类型。使用VARCHAR2数据类型。
- VARCHAR2类型:变长字符串,与CHAR类型不同,它不会使用空格填充至最大长度。VARCHAR2最多可以存储4,000字节的信息。
- NVARCHAR2类型:这是一个包含UNICODE格式数据的变长字符串。 NVARCHAR2最多可以存储4,000字节的信息。
2.数字类型
- NUMBER类型:NUMBER(P,S)是最常见的数字类型,可以存放数据范围为10^130~10^126(不包含此值),需要1~22字节(BYTE)不等的存储空间。
- INTEGER类型:INTEGER是NUMBER的子类型,它等同于NUMBER(38,0),用来存储整数。若插入、更新的数值有小数,则会被四舍五入。
3.日期类型
- DATE类型:DATE是最常用的数据类型,日期数据类型存储日期和时间信息。虽然可以用字符或数字类型表示日期和时间信息,但是日期数据类型具有特殊关联的属性。为每个日期值,Oracle 存储以下信息: 世纪、 年、 月、 日期、 小时、 分钟和秒。一般占用7个字节的存储空间。
- TIMESTAMP类型:这是一个7字节或12字节的定宽日期/时间数据类型。它与DATE数据类型不同,因为TIMESTAMP可以包含小数秒,带小数秒的TIMESTAMP在小数点右边最多可以保留9位
4.LOB类型
- CLOB 数据类型
- NCLOB 数据类型
- BLOB 数据类型
删除表
1.TRUNCATE TABLE table_name
截断表,数据没有了
2.DROP TABLE table_name
删除表结构,数据也就没有了
操作表中的数据
添加数据
1.向表中所有字段添加值
insert into userinfo values(1, 'xxx', '123', 'xxx@126.com', sysdate);
复制表数据
1.在建表时复制
create table table_new as select column1...|* from table_old
2.在添加时复制
前提是table_new
已经存在了
insert into table_new [(column1,...)] select column1,...|* from table_old
修改数据
update table_name set column1=value1,.. [where conditions]
删除数据
delete from table_name
删除的是全部的数据
约束
约束用来定义规则,确保数据的完整性
非空约束
1.在创建表的时候设置非空约束
create table table_name ( column_name datatype NOT NULL,...)
2.在修改表时添加非空约束
alter table table_name modify column_name datetype NOT NULL;
3.在修改表时去除非空约束
alter table table_name modify column_name datatype NULL;
- oracle基础
- Oracle基础
- oracle基础
- Oracle基础
- oracle基础
- Oracle 基础
- oracle 基础
- Oracle基础
- oracle基础
- oracle基础
- oracle基础
- oracle基础
- Oracle 基础
- Oracle基础
- oracle基础
- oracle基础
- Oracle基础
- Oracle基础
- Java笔记 - 集合(可变参数)
- mac 系统编译ffmpeg 源码
- BZOJ3442: 学习小组
- MyBatis(二)
- Java生成缩略图Thumbnailator
- Oracle基础
- 数据结构与算法分析笔记与总结(java实现)--链表1:从尾到头打印链表值问题
- HDU2000
- 这几天写聊天室遇到的困难
- struts2拦截器的理解
- Android性能优化之IntentService
- C语言学习日志 day1
- JavaSE 学习参考:常量
- android:windowSoftInputMode属性详解