Oracle数据库12c入门与SQL基础学习
安装教程网上很多就不写了,特别注意,最好一次安装成功,别出意外。按照教程好好装。卸载很麻烦。。。
废话不多说开始
一、用户登陆
oracle初始用户有点烦人,对初学者也不太友好,我表示我刚开始连登陆都登不进去。
用户:sys,system,sysman 这三个用户的密码是你装的时候设置的那个密码。都是一样的。
登陆途径推荐用sql plus 直接登陆两种方式
1.按照它的提示登陆
2.直接一次性输完
解释一下,sys为用户名,/后面的是密码,as是关键字 sysdba是登陆身份,另外直接登陆sys是登不进去的。
as sysdba 就是以sysdba登录,oracle登录身份有三种:
normal 普通身份 sysdba 系统管理员身份 sysoper 系统操作员身份 每种身份对应不同的权限 具体权限以后再说,可自行搜索初学阶段用不到
另外给大家讲一下已登陆用户后切换用户:
connect 用户名/密码 //connect可以简写成conn
大家如果看了11g的教程或者书里面一定会提到一个账户叫做scott,不好意思12c里面没有,如果你想跟着教程走,好的你可以建一个:
1.创建用户
alter user c##scott indentified by tiger;
2.为用户授权
grant connect,resource unlimited tablespace to c##scott container=all;
3.设置用户使用的表空间
alter user c##scott defaulttablespace users; alter user c##scott temporarytablespace temp;
4.使用c##scott用户登陆
conn c##scott/tiger
二、表空间概念
初学肯可能没什么概念大概的意思解释下:
1.永久表空间:存放永久化存储的一些对象
2.临时表空间:存放一些表执行过程的中间信息,不进行永久性保存
3.undo表空间:保存事务所修改的旧址,对修改的信息进行保存,方便回滚。
其实也可以类比你的硬盘,你有想永久保存的东西,也有一些中间信息需要在电脑里临时保存,还有一些备份信息需要保存。就是这个道理了。
如果你想看看用户的表空间可以通过select语句在数据字典:dba_tablespaces(系统用户),user_tablespaces(普通用户)中查看tablespace_name。这个可以自己试试,就不做示范了,如果没有sql基础可以忽略。
另外给一些表空间相关的设置语句
设置用户默认或临时表空间(普 通用户没有权限需要给予):
alter user 用户名 default/temporarytablespace tablespace_name;
创建表空间:
create [temporary] tablespace tablespace_name tempfile/datafile ‘文件名.dbf’ size 大小;
说明一下:临时表空间需要有temporary 后面的可选项对应tempfile 永久表空间不需要temporary后面对应datafile
dbf文件就是数据库文件,这个文件是什么怎么回事,就先不解释了。对于这个教程来说,你是用不到这个东西了。
顺便说下:
永久表空间可用通过查看dba_data_files 这个表上的file_name的信息查看文件位置
临时表空间可以通过查看dba_temp_files这个表上的file_name的信息查看文件位置
修改表空间的状态
设置表空间的联机或脱机状态
alter tablespace tablespace_name online|offline
设置表空间的只读或可读写状态
altertablespace tablespace_name read only|read write
修改数据文件
增加数据文件
alter tablespace tablespace_name add datafile ‘xx.dbf’ size xx; //ps:数据文件可多个
删除数据文件
alter tablespace tablespace_name drop datafile ‘xx.dbf’;
另外不能删除表空间的第一个数据文件,如果要删除就只能删除整个表空间
删除表空间
drop tablespace tablespace_name [including contents] //加[]会删除数据文件 不加就不会删除
三、数据类型
字符型
char(n) n最大2000, nchar(n) n最大1000 nchar 经常用来存汉字支持unicode方式存放
carchar2(n) nhar2(n) 同上
数值型
number(p,s) p有效数字,s小数位数 例如:number(5,2) 如123.45
float(n)主要存二进制数 大小=这个数*0.30103
日期型
date 范围:公元前4712年1月1日到公元9999年12月31日
timestamp 时间戳 精确到小数秒
其他类
blob 4g的数据,以二进制的形式存储
clob 4g的数据,以字符串的形式存储
四、管理表
创建表基本语法
create table table_name(column_name datatype,.......);
修改表向表中添加字段
alter tabletable_name add column_name datatype;
更改字段的数据类型
alter tabletable_name modify column_name datatype;
删除字段
alter tabletable_name drop column column_name;
修改字段名字
alter table table_namerename column column_name to new_name;
修改表的名字
rename table_nameto new_table_name;
删除表
删除表内全部数据
truncatetable table_name;
删除整个表结构
drop table table_name;