Oracle简介
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。到目前仍在数据库市场上占有主要份额。
Oracle数据特点 完整的数据管理功能:
数据的大量性 数据保存的持久性 数据的共享性 数据的可靠性
完备关系的产品
信息准则一关系型DBMS的所有信息都应在逻辑上用一种方法,即表中的值显示地表示
保证访问的准则
视图更新准则一只要形成视图的表中的数据变化了,相应的视图中的数据同时变化
数据物理性和逻辑性独立准则
sys用户和system用户
Oracle安装会自动的生产sys用户和system用户
sys用户是超级用户,具有最高权限,具有sysdba,有create database权限,改用户默认的密码change_on_install(安装时设定.用户手动给的)
system用户是管理操作员,权限也很大.具有sysoper角色,没有create database,默认密码是manager
一般讲,对数据库维护,使用system永固登录就可以登录就可以
普通用户:scott 密码:安装时内置好,系统设定,默认tiger,默认锁定的
注意:也就是说sys和system这两个用户最大的区别是在于有没有create database的权限。
【示例】
C:> sqlplus
请输入用户名:sys
输入口令:sys as sysdba //注意:在口令这里输入的密码后面必须要跟上 as sysdba 才可以。
SQL> alter user scott account unlock;
用户已更改.
SQL> commit;
提交完成.
SQL> conn scott/tiger
更改scott口令
新口令:tiger
重新键入新口令:tiger
口令已更改
已连接。
创建一个用户
创建一个用户dog,密码 :1
create user dog identified by 1
给dog分配两个角色 Connect 和Resource
grant Connect, Resource to dog
Oracle表空间
简单来说,表空间就是一个或数据文件(物理文件)的集合,所有数据对象都被逻辑的存放在指定的表空间中. 表空间的类型
系统表结构: 系统自动创建的,一般存储Oracle的数据字典表和相应的数据
永久表空间:用来存放永久性数据,例如系统数据,应用程序数据
临时表 空间:例如Group by , order by 灯算法会用到一些临时空间,用完释放
撤销表空间:用于数据恢复
创建表空间
create tablespace tablesName(
logger -- 可将表空间的创建信息记录到Oracle的日志中
datafile `tablespaceName.dbf` --保存文件路径,习惯上讲表空间的名称用于文件名称
(可设置绝对路径,相对路径的话会保存到默认目录下)
size 64m -- 最初的数据文件大小
autoextend on -- 开启自增长
next management local --extend management 有两种方式 local:本地 dictionary(数据字典管理)
)
表空间增加文件
alter tablespace tablespaceName
add datafile 'tablespaceName04.dbf'
size 64m autoextend on
next 64m maxsize unlimited;
Oracle常用的数据类型
1.char(),定长字符串;
eg: char(10)
CAHR类型是需要给定长度,中文在Oracle数据库中占3个字符,char类型制定了多长的字符
就是多少长度,当存入的的字符长度不够你定义的长度时,它会自动补齐空格。不指定长度,
默认为1;
2.varchar2(),变长字符串;
eg: varchar2(10)
varchar2类型的长度是可以改变的,你存入多少,varchar2的长度就是多少。最多可以储存4000字节。
3.NVARCHAR2类型
nvarchar2类型长度也是可变的,这是一个包含Unicode格式数据的变长字符串,nvarchar2最多可以储存4000字节。
eg:nvarchar2(10),中文可以存10个,英文字母也可以存入10个。
4.number(),可表示整数也可表示小数,number(n):n表示的是有效数字;number(n,m)表示小数占m位,整数占n-m位;
NUMBER(P,S)是常见的数字类型,P代表整数的位数,S代表小数的位数。最多不超过38位。
5.date,日期,可以是年月日(yyyy-mm-dd),也可以是年月日时分秒(yyyy-mm-dd hh24-mi-ss);
6.timestamp,时间戳,精确到秒的后9位,timestamp(n):n表示秒级片段的精确度;
7.clob,存储大文本数据,最多可以保存4G文字;
8.blob,存储二进制数据,最多可以保存4G文字,可以保存文字和图片;很少用
Oracle建表
语法这里先不说,先说规则
1.Oracle数据库表名命名规则
必须以字母开头,
表名的长度不能超过30个字符
避免使用Oracle关键字
只能使用A-Z、a-z、0-9、_ 、$、#
2.使用带有特殊符号的表名 Oracle在创建表时,表名会自动转换为大写,Oracle对表名大小写不敏感。 如果在定义时含有特殊符号,或者用小写字母来定义表名时,则需要在表名两侧添加双引号。 eg:“bt_name”,一般不用用到,如果要查询该表,也必须带上双引号,否则则找不到该表。
SQL语言
什么是SQL?
SQL结构化查询语言,是一种数据库查询和程序设计语言。用于存取数据以及查询、更新和管理关系的数据库系统,同时也是数据库脚本文件的拓展名。
使用SQL语言可以做什么?
SQL 面向数据库执行查询。
SQL 可从数据库取回数据。
SQL 可在数据库中插入新的记录。
SQL 可更新数据库中的数据。
SQL 可从数据库删除数据。
SQL 可创建新的数据库
SQL 可在数据库中创建新表
SQL 可在数据库中创建储存过程。
SQL 可在数据库中创建视图
SQL 可以设置表、储存过程和视图权限。
SQL语言的分类有哪些?
DQL:数据查询语言。(select)
DML:数据库操作语言。(update,insert,delete)
TCL:事务处理语言。(commit,rollback,savepoint)
DCL: 数据库控制语言。(grent,revork)
DDL: 数据定义语言。(create,drop,alter,rename)
select查询语句的语法:
Select 列1名 别名, 列名1 as 别名, 列名3 “Salary demo” from 表名;
select就是从数据库中查询信息,你所要的符合规则的一条条的语句信息。
select语句中 关键字distinct的用法
distinct这个关键字来过滤掉多余的重复记录只保留一条
distinct必须跟在select后面,放在开头的位置。