nosql是文档的方式
数据表:dml操作
是整个学期的基础,
《java核心技术精讲》之中,通过java程序讲解了数据表的 映射
表示对数据的统计。
表是由字段组合而成的。
字段:
对于定义表示字符串的数据,不超过200字,都使用varchar2,不过其他数据库,mysql,就使用varchar。
number(n),表示的是整数,也可以用int来代替
number(n,m)表示小数,也可以用float代替。而表示时间一般用date,只包含日期,但是不包含时间,而是用time包含时间,不包含日期,只有timestamp才包含时间和日期、毫秒
如果表示 大文本的数据那么就使用clob操作,比如存放一部红楼梦,最多可以保存4g的文字大小。
如果保存二进制的文件,是使用blob,也可以保持4g的图片、音乐、电影等,但是一般来讲,很少有人去直接使用它。
个人建议,常用类型,varchar2、number、date、clob
表的创建属于DDL。语法:create table 用户 名()
复制表:
create table myemp as select * from emp
复制表结构:
select * from emp where 1=2;
create table empee as select * from emp where 1=2;
复制表的查询结果:
select d.deptno,count(e.empno)
from emp e , dept d
where e.deptno(+)=d.deptno
group by d.deptno
order by d.deptno
create table emppp as select d.deptno, d.dname , ,d.loc ,count(e.empno) from emp e , dept d where e.deptno(+)=d.deptno group by d.deptno,d.dname ,d.loc order by d.deptno
数据库重命名:
数据字典都是以”v$“开头(oracle数据管理员用到),也有静态数据字典。
user_*
all_*
dba_*
select * from user_tables
改数据表名:
RENAME myemp TO EMPBB;
select * from EMPBB
rollback
此时,当发生任何的 DDL操作的时候对于事务都会自动提交。所以回滚不了。
截断表:
truncate table EMPBB
表一旦被截断之后,所占用的全部资源都将释放掉了。
删除表:
是一个非常重要的概念。
如果要删除表,就用”drop table 表“
drop table EMPBB
drop table empee
删了表,也会遗留下残余。
select * from tab
为什么呢,这说到闪回。
闪回技术?(flashback)
只能通过备份文件来恢复。oracle10g开始为了解决误删除表的时候不是立刻删除,而是将表暂时放到回收站。
查看有什么表在回收站
select object_name, original_name from recyclebin
把误删的表恢复
flashback table myemp to before drop;
select * from myemp
这样才真的删除表
drop table myemp purge
在回收站里删除表
purge table empbb
清空回收站:
purge recyclebin
修改表结构:
修改表结构=程序人的噩梦
-- 删除表 drop table menber; --创建表 create table menber ( mid number, name varchar2(10) default '无名氏' ) --增加数据 insert into menber (mid , name ) values (1 , '李兴华' ); insert into menber (mid , name ) values (2 , '李华' ); --提交 commit;
select * from menber
以后再工作之中,也会编写数据库脚本,而且组成部分:删除、创建、测试数据、事务提交。
增加默认值
为表增加字段类型
select * from menber
增加年龄,没有设置默认值
ALTER TABLE menber add( age number(3) ) alter table menber add(sex varchar2(10) default '男') alter table menber add(photo varchar2(10) default 'dfsjkdf') alter table menber modify( name varchar2(30)) alter table menber modify( sex varchar2(10) default '女')
表中的列删除:
alter table menber drop column photo
将表中字段设置为无用列:
alter table menber set unused (sex)
一下一执行,就剩下一个id列
alter table menber set unused column name;
删除无用列:
alter table menber drop unused columns
修改操作作为sql语法,工作中少操作。
添加注释
注释是为了可读,
comment on table menber
-- 删除表 drop table menber purge; --创建表 create table menber ( mid number, name varchar2(10) default '无名氏', age number(3), brithday date )
select * from user_tab_comments where table_name='MENBER'
在oracle中提供一个”user_tab_columns“数据字典
comment on table menber is'用于记录参加活动的成员信息'
为mid添加注释,为列添加注释
comment on column menber.mid is'用于记录参加活动的编号'
查看列的注释
select * from user_col_comments where table_name='MENBER'
一般开发之中,都会提供相应的设计文档,文档中一般都会提供这类的解释信息
设置可见/不可见字段
在oracle12c之前,是不支持的。
drop table mytab purge; create table mytab( mid number, name varchar2(30) ) insert into mytab values(1) alter table mytab modify(name invisible) select * from user_tab_columns where table_name='MYTAB'
如果要将不可见的列,变为可见。
alter table mytab modify( name visible)
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步