Oracle数据库的安装,卸载,基本SQL语句

数据库——将Java中产生的一些数据永久性保存起来。
甲骨文-Oracle(最高版本12C,讲的是11g(安全稳定版本,安装在win7及以上版本即可安装))
微软-SQLServer
轻量级(也被甲骨文收购了)-MySQL
IBM-DB2(大型企业用)

数据库的基本单元——表

安装数据库:
1.搭建环境——安装一个数据库(Oracle 11g)
安装路径 版本 默认
创建启动数据库全局数据库名 如果没有安装过默认是 orcl
数据库口令(三个字母以上有效)
2.开发工具PLSQL Development
3.以账号进行管理,身份1为SYSDBA数据库管理员,可以管理所有的账号
(系统自带的账号,默认的范例用户,名:scott,密:tiger)
需要输入数据库口令管理员身份登录,找到USER,找到scott右键,edit编辑当前账号,取消account locked勾选按钮,点击提交,成功解锁默认的范例用户账号。
4.以默认的范例用户以Nomal身份登录
5.点击左上角File,选择New,选择SQL Window
(或直接点击file下白颜色new按钮,选择SQL Window)
6.编写sql语句,全选后点击齿轮按钮运行

默认五个Oracle服务
只有OracleServiceORCL和监听器OracleOraDb11g_home1TNSLinstener暂时需要
OCX异常(原因:1.文件名字涵盖中文路径 2.盘符空间不足)

卸载数据库:
1.关闭服务
2.卸载产品, Universal Installer向导
3.运行向导,弹出dos框,然后弹出卸载程序
4.点击卸装产品,勾选需要卸载的数据库,点击删除
5.删除注册表,运行---搜索regedit,注册表编辑器,寻找HKEY_LOCAL_MACHINE,寻找SYSTEM
寻找以ControlSet字样开头的文件,寻找Services,寻找Oracle字样开头的所有都删掉
(每一个ControlSet都重复此操作,删干净)
6.SYSTEM下寻找CurrentControlSet,寻找Oracle字样开头的都删掉,没有就不需要删
7.在当前电脑C盘寻找文件夹Oracle,手动删除
8.重启电脑
————————————————————————————————————————————
SQL——(structured query language)结构化查询语言

DDL——(data definition language)数据库定义语言
定义数据库中所有结构,表,触发器,视图,存储过程等
目前用来创建删除修改表结构
创建用户删除用户的操作
alter user scott identified by tiger//修改用户密码
创建create 删除drop 修改alter 表本身,与内部数据没有关系

DML——(data manipulation language)数据库操作语言
对表格中的数据的操作(增,删,改,查CURD)
新增insert 修改update 删除delete 查询select 对数据进行操作

DCL——(data ctrl language)数据库控制语言
控制权限(数据库管理员用)
grant给用户创建权限,revoke从用户回收权限

TCL——事务操作语言
commit提交事务,rollback回滚事务,savepoint保存事务点

常用数据类型:
number数字类型(空间大小不限,任何数字类型)
例:number(10,2)前面为位数,后面为小数位数
varchar字符型2000个字节,varchar2内存长度更大字符型4000个字节
date日期格式,精确到秒,datetime时间戳,更精确

数据库单行注释:--注释内容
数据库多行注释:/*注释内容*/
PLSQL中修改字体大小:tools->preferences->fonts->修改
关键字,表名,列都不区分大小写
date数据类型不需要定义长度

如何创建一张表结构: | 例:
create table 表名( | create table student(
列名 类型(长度), | sid number(10),
列名 类型(长度), | sname varchar(10),
列名 类型(长度) | sbir date
) | )

如何删除一张表结构: | 例:
drop table 表名( | drop table student

如何修改一张表结构: | 例:
alter table 表名 rename to 新名 | alter table student to stu

如何修改列名:
alter table 表名 rename column 列名 to 新列名
例:alter table student rename column sbir to sbirthday

如何给表格添加一个新的列(字段)
alter table 表名 add 列名 类型(长度)
例:alter table student add saddress varchar2(100)

如何删除一个表结构的列
alter table 表名 drop column 列名
例:alter table student drop column saddress

如何修改原有列的属性(修改:类型,长度)
alter table 表名 modify 列名 类型(长度)
例:alter table student modify sname varchar2(10)

查询表格下所有的列:
select * from 表名

查询表格下特定的列:
select 列名 from 表名

查询表格下多个列:
select 列名,列名,列名 from 表名

DML语句,对表格数据的新增,删除,修改,查询
新增:insert into 表名(列名,列名,列名) values(值,值,值)
【此处添加生日应该以特殊格式输入,暂未涉及,先使用sysdate获取当前日期存入,后期应用to_date函数】
【添加后Commit与Rollback按钮亮起,逻辑新增(在中间缓存中间临时性插了一条记录,关掉客户端或者关掉电脑后消失),物理新增(写关键字commit,或者点击commit按钮,将当前记录从逻辑性新增变成物理性新增)】
【不插入值的时候默认为null】
简便写法: insert into 表名 values(值,值,值)
【此时如果需要按顺序添加表里所有数据,表名后小括号可以不写】
【如果想一次性使用多条语句插入数据,开始处使用关键字begin,结束处使用end,中间每一句用;隔开,end后也需要加分号】
删除:delete from 表名————(删除表格内全部数据)提交事务,点击commit按钮
修改:update 表名 set 列=值,列=值
查询:select 列,列,列 from 表

条件筛选(行)
where
1.算数运算符
2.比较运算符> >= < <= != =
3.逻辑运算符and(与) or(或) not(非)
4.特殊关键字between…and… not between…and… in(value,value,value)【查值是value的】
模糊查询
关键字like 符号%(用来替代0个或者多个字符)和_(用来替代一个字符,有且只有一个)
select * from 表名 where 列名 like ‘%关键字%’
例:select * from emp where ename like ‘%A%’ 【查找姓名中带字母A的员工】

select * from 表名 where 判定条件
select * from 表名 where 列名 between 值 and 值 【注:此处between and带左右边界值】

MySQL不区分格中大小写,Oracle区分格中大小写

*排序:
order by
1.order by的优先级没有where高,同时存在时先执行where,可用括号提高order by优先级
2.升序关键字asc(默认) 降序关键字desc
select * from 表名 order by 列名 升序/降序关键字
【不写默认元素是升序】
联合排序:
select * from 表名 order by 列名1 升序/降序关键字,列名2 升序/降序关键字
【先按照列名1进行排序,如果一样,按照列名2进行排序】

给列起别名:
select 查询的列名/* as “别名” from 表名
【只有别名需要用双引号括起,双引号也可省略不写】

【and的优先级比or要高】

自带函数:
数据库函数使用手册
Oracle常用函数大全

分类:
1.转换函数
nvl(列名,value)【如果列名处值为null,转换成value】
to_date(原来真实数值,格式)【原来真实数值与格式都是varchar类型的】
例:to_date('2018-1-20 15:00:00','yyyy-mm-dd hh24:mi:ss')
to_char(要转的数值,'格式')
例:to_char('hiredate','yyyy')
to_number()【如果存的是数值形式的,会默认调用】
2.日期函数
months_between(date,date)
add_months(date,number)
last_day(date)【给出当前日期所在月份的最后一天】
next_day(date,'varchar')【date,'星期一'】只能写中文的星期几,不能写英文的,星期日
3.字符函数
length
concat【拼接】
replace【替换】
substr【截取】
instr【查找索引号】
upper
lower
lpad
rpad
ltrim
rtrim
4.数学函数(不常见)
round()四舍五入
*5.分组函数
count()
max()
min()
avg()
sum()
分组条件 group by 列
先分组后筛选:g-h
先筛选后分组:w-g
dual系统表,显示一个和任何表都没有关系的值的时候用到的

多查函数手册









  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值