oracle常用操作

数据库存储数据
表格只能以字母,数字,下划线,#$组成,必须字母和$开头
--注释

创建表的语法:
create table 自定义的表名(
--定义数据列
列名 数据类型
)
create table tb_student(
stuid number,
money number(5)
)

--选中命名按F8执行
create table tb_student(
stuid number,
stuname varchar2(200),
sex char(2),
birthday date
)

--删表,会把表的结构和数据一并删除
drop table tb_student;

orcle数据类型
数值类型:
number:这个类型作为oracle常用数值类型,可以存储整型
和浮点类型的数据,并且最大10的38次方幂
除了number还有float,double,integer等
number如果后面不跟任何长度,没有限制,
number(5)最大的五位整数,这里最大值99999并且不可以放小数

字符类型
char(长度) char最大长度为2000个字节,并且查询效率高效
但是缺陷是如果内容达不到最大字节,会以空格填充
varcahr(长度) 最大4000个字节,虽然效率没有char高但是多余的空间不会被空格填充
varchar2(长度)oracle自定义的,和varchar一样
BLOB CLOB:k可以存储最大4G的字节,通常用来存储图片,
视频等文件的流

时间类型
date 年月日时分秒
timestamp 精确到毫秒

--DML,(数据操纵语言)DCL(数据库控制语言),DDL(数据库定义语言)


--修改列
alter table tb_student modify birthday timestamp

--删除列
alter table tb_student drop column birthday
--添加列
alter table tb_student add borthday date
--修改列名
alter table tb_student rename column borthday to birthday
--修改表名
rename tb_student to student
--删除表 drop table 表名;
drop table tb_student;

注意:oracle中所有的语句不区分大小写,但是数据区分大小写
--DML(insert,delete,update,select)

--insert 用于向表中插入数据
insert into 表名(指定要插入的哪几列的列名,逗号分隔) values(要插入的数据,个数要和前面那个括号指定的列数一致,类型对应)

insert into tb_student(stuid,stuname,sex) values(1001,'小奥拉','男');
--如果要执行多个sql语句结尾添加分号
--使用commit会把当前事务中执行的多条DML语句提交
commit


--第二种方式,如果创建表的时候指定列不为空 not null,插入全部的列
--插入时间的第一种方式,通过sysdate取得系统时间
insert into tb_student values(1003,'aa','女',sysdate);
commit

--第二种,按照标准格式录入 日-xx月-年份
insert into tb_student values(1004,'bb','女','7-3月-2019');
commit

--第三种用到oracle函数 to_date(字符,格式)
to_date('2019-12-21 15:21:59','YYYY-MM--DD HH:MI:SS')

insert into tb_student values(1006,'gg','男',to_date('2019-12-21 15:21:59','YYYY-MM--DD HH24:MI:SS'));
commit


--Delate删除语句
delate用于删除表中的数据,和drop不同,drop删除整个表的定义
delate from 表名 [where 条件]

delate form tb_student;
commit;

--如果不想删除所有的数据,就使用where关键字,筛选要操作的数据
where后面跟随着条件,条件的表达式可以使用:
> < >= <= = != <>(不等) and or

--删除性别为女的学生
delete from tb_student sex = '女'

--删除性别不为女的学生

delete from tb_student where sex <> '女'
--删除学号为1002同时性别为男的学生
delete from tb_student where sex = '男' and stuid=1002

--删除名字为null的学生的信息(不为空 is not null)
delete from tb_student where stuname is null

--修改Update,用于修改表中的列的数据
update 表名 set 列名 = 新的value,列2=value where 条件
--修改2019-03-07号生日的学生性别改为女
--使用to_char(时间类型的数据,字符串格式)
update tb_student set sex='女' where
to_char(birthday,'yyyy-mm-dd')='2019-03-07'


--select 查询 ,查询只是一种数据表的显示方式,并不会修改内容
select * from 表名 --这种方式会查询一个表的全部的列
select 列,列2,列 from 表名

select * from tb_student;
select stuid,stuname from tb_student
--查询也可以跟where条件 性别为女或者年龄大于5岁
select * from tb_student where sex = '男' or
(sysdate-birthday)/365>=5
--第二种,使用to_char取得年份相减
select * from tb_student where sex = '男' or
to_char(sysdate,'yyyy')-to_char(birthday,'yyyy')>=5

原文地址:https://www.cnblogs.com/beiluoL/p/10493822.html