Oracle数据库第一天
1.创建表空间
创建表空间实际上就是创建了一个数据文件
*create tablespace waterbossdatafile 'c:\waterboss.dbf'size 100mautoextend onnext 10mwaterboss 为表空间名称,表名称可以随便取, tablespace为表空间datafile 用于设置物理文件名称,就是数据文件 c:\waterboss.dbf 就是表空间对应的数据文件,这里的waterboss和上面的可以不一样,只能在c盘下,因为虚拟机只有一个盘符,如果plsql安装在windows操作系统,就可以随便取盘符size 用于设置表空间的初始大小, 100m 为100兆autoextend on 用于设置自动增长,如果存储量超过初始大小,则开始自动扩容,扩充多少由next决定,next 用于设置扩容的空间大小,next 10m,为一次性扩充10兆*创建业主表示例:create table t_owners(id number primary key,name varchar2(30), // char 固定长度字符类型,最多储存2000字节 varchar2 可变长度字符类型,最多储存4000字节addressid number,housenumber varchar2(30),watermeter varchar2(30),adddate date,ownertypeid number);
2.创建用户
*create user wateruser
identified by itheima
default tablespace waterboss
wateruser 为创建的用户名identified by 用于设置用户的密码default tablesapce 用于指定默认表空间名称,这样这个用户就在这个表空间里面,一个表空间可以有多个用户
3.用户赋权
*grant dba to wateruser
给用户 wateruser 赋予 DBA 权限后即可登陆,需要输入这个才可以登陆,
4.数据的增删改(该语法和mysql语法一致)
点中表,然后右击:
query data 查看
Edit 修改
*插入数据语法和mysql语法一样INSERT INTO 表名 VALUES(值 1,值 2,...)★示例:insert into T_OWNERS values(1,'李四','黑马6期','1-1','88888',sysdate,1); //sysdate 是获取当前系统时间
★★★★★commit; //在输入语法后,一定要输入commit提交事务,一起选中,按F8即可,事务是有隔离级别的,要等前一个事务提交了,后面的一个事务才会执行*修改数据UPDATE 表名 SET 列名 1=值 1,列名 2=值 2,....WHERE 修改条件;★示例:update T_OWNERS set adddate=adddate-3 where id=1; //把用户id为1的日期往前提前三天,日期可以加减commit;*删除数据DELETE FROM 表名 WHERE 删除条件;★示例:delete from T_OWNERS where id=1;commit;另外一种删除的方法TRUNCATE TABLE 表名称比较 truncat 与 delete 实现数据删除?1. delete 删除的数据可以 rollback,而truncat不可以回滚。2. delete 删除可能产生碎片,并且不释放空间3. truncate 是先摧毁表结构,再重构表结构
5.数据库整体导出与导入
*作用:数据库中数据的迁移
数据库的备份恢复
*分类:整库导入导出
按用户导入导出
按表导入导出
*exp 导出
exp system/itheima full=y full就是全部,y就是yes,这是整库导入导出,导出来的是一个文件
imp 导入
imp system/itheima full=y 导入后,你自己写的表,包括系统表全部恢复
执行命令后会在当前目录下生成一个叫 EXPDAT.DMP,此文件为备份文件。
如果想指定备份文件的名称,则添加 file 参数即可,命令如下
exp system/itcast file=文件名 full=y
示例: imp system/itcast full=y file=water.dmp file最好是dmp,full和file顺序可以变
6.按用户导入导出
*按用户导出
exp system/itcast owner=wateruser file=wateruser.dmp owner=用户名 file指定一个文件路径
*按用户导入imp system/itcast file=wateruser.dmp fromuser=wateruser fromuser=用户名
7.按表导入导出
*按表导出
exp wateruser/itcast file=a.dmp tables=t_account,a_area , 用导出表的所在的用户名进行操作,wateruser/itcast ,所在表的名称/密码,根据用户找表
//用 tables 参数指定需要导出的表,如果有多个表用逗号分割即可
*按表导入imp wateruser/itcast file=a.dmp tables=t_account,a_area
第二部分:今日重要内容概述以及步骤分析和相应的代码实现
1.利用JDBC完成对业主的增删改的代码实现
[1]先写原始JDBC工具类
/*
JDBCUtils 连接数据库,关闭资源 ,oracle数据库
*/
public class JDBCUtils {static{
//加载驱动
try {
Class.forName(“oracle.jdbc.driver.oracleDriver”);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}//获取数据库连接
public static Connection getConnection() throws Exception{
return DriverManager.getConnection(“jdbc:oracle:thin:@192.168.80.10:1521:orcl”,
“wateruser”, “itheima”);
}//关闭资源
public static void closeAll(Connection conn,Statement stam,ResultSet rs){
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(stam != null){
try {
stam.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(rs != null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
[2] 创建业主实体类
/*
- 业主的实体类
*/
public class Owners {
private Long id;//编号
private String name;//业主名称
private Long addressid;//地址编号
private String housenumber;//门牌号
private String watermeter;//水表编号
private Date adddate;//登记日期
private Long ownertypeid;//业主类型 ID
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Long getAddressid() {
return addressid;
}
public void setAddressid(Long addressid) {
this.addressid = addressid;
}
public String getHousenumber() {
return housenumber;
}
public void setHousenumber(String housenumber) {
this.housenumber = housenumber;
}
public String getWatermeter() {
return watermeter;
}
public void setWatermeter(String watermeter) {
this.watermeter = watermeter;
}
public Date getAdddate() {
return adddate;
}
public void setAdddate(Date adddate) {
this.adddate = adddate;
}
public Long getOwnertypeid() {
return ownertypeid;
}
public void setOwnertypeid(Long ownertypeid) {
this.ownertypeid = ownertypeid;
}
}
[3] 对业主信息实现增删改
/*
业主信息数据访问类
/
public class OwnersDao {
/
*新增业主
*/
public static void add(Owners owners){
//声明连接者和执行者对象
Connection conn=null;
PreparedStatement stam=null; //防止注入攻击try {//写具体的获取连接的方法conn = JDBCUtils.getConnection();stam = conn.prepareStatement("insert into T_OWNERS values(?,?,?,?,?,?,?)"); stam.setLong(1, owners.getId()); //业主编号stam.setString(2, owners.getName()); //业主名称stam.setLong(3, owners.getAddressid()); //地址编号stam.setString(4, owners.getHousenumber()); //门牌号stam.setString(5, owners.getWatermeter()); //水表编号stam.setDate(6, new Date(owners.getAdddate().getTime())); //增加日期stam.setLong(7, owners.getOwnertypeid()); //业主类型stam.execute(); //执行} catch (Exception e) {e.printStackTrace(); }finally {JDBCUtils.closeAll( conn, stam, null); //关闭所有资源 }
}
/*
- 修改业主
*/
public static void update(Owners owners){
java.sql.Connection conn=null;
java.sql.PreparedStatement stam=null;
try {
conn=JDBCUtils.getConnection();
stam=conn.prepareStatement(“update T_OWNERS set name=?,addressid=?,housenumber=?,watermeter=?,adddate=?, ownertypeid=? where id=?”);
stam.setString(1, owners.getName());
stam.setLong(2, owners.getAddressid());
stam.setString(3, owners.getHousenumber());
stam.setString(4, owners.getWatermeter());
stam.setDate(5, new Date(owners.getAdddate().getTime()));
stam.setLong(6, owners.getOwnertypeid());
stam.setLong(7, owners.getId());
stam.execute();
} catch (Exception e) {
e.printStackTrace();
}finally {
JDBCUtils.closeAll( conn, stam, null);
}
}
/*
- 删除业主
*/
public static void delete(Long id){ //删除是根据业主id进行删除
java.sql.Connection conn=null;
java.sql.PreparedStatement stam=null;
try {
conn=JDBCUtils.getConnection();
stam=conn.prepareStatement(“delete from T_OWNERS where id=?”);
stam.setLong(1, id);
stam.execute();
} catch (Exception e) {
e.printStackTrace();
}finally {
JDBCUtils.closeAll(conn, stam, null);
}
}
}
- 修改业主
Oracle数据库第一天相关推荐
- Oracle数据库-第一章:select语句,数据查询操作
前言: 1.一个认知 认知什么是oracle? oracle:商业运用第一的关系型数据库 实质:关系型数据库 了解oracle数据库发展历史(文档) 2.二个概念 数据库:数据存储的仓库 关系型数据库 ...
- Python 技术篇-连接oracle数据库并执行sql语句实例演示,python连接oracle数据库oci详细配置方法
Python 连接 Oracle 数据库 第一章:连接 oracle 数据与环境配置 ① 连接 oracle 数据库效果演示 ② oci 下载 ③ oci 配置 ④ 环境变量配置 ⑤ 检测是否有 or ...
- Oracle数据库安装图解
1.首先,去Oracle官网下载个适用于你的操作系统的Oracle 11g数据库软件,百度一下Oracle 11g下载,打开如下图的网址: 2.打开后选择接受该协议,选择下面的Oracle 11g下载 ...
- PL/SQL 工具远程连接Oracle数据库方法,plsql免安装oracle客户端直接配置oci实战演示
PL/SQL 工具远程连接 Oracle 数据库 第一章:PL/SQL 工具配置 ① oci 下载 ② oci 配置 ③ PL/SQL 工具配置 ④ PL/SQL 远程连接 Oracle 数据库演示 ...
- oracle数据库期末复习
oracle数据库 第一章数据库 一. 1.数据库(DB) : (1)特性:共享性,独立性,完整性,减少数据冗余. 2.数据库管理系统(DBMS):功能: (1)数据定义功能:语言, (2)数据操作功 ...
- 删除oracle数据库的三种方法,oracle数据库的删除方法详解
oracle数据库的删除方法详解 1.图形界面删除 练习之前记得创建快照 执行命令之前要保证数据库属于open状态 SQL> alter database open; [oracle@local ...
- 物流项目中Oracle 数据库的使用及OGG是如何同步
文章目录 业务服务器之Oracle 数据库 06-[掌握]-OGG 数据同步之功能概述 07-[掌握]-OGG 数据同步之基本原理及架构 08-[理解]-OGG 数据同步之拓扑结构及支持环境 09-[ ...
- oracle取下个月数据,大神看过来,Oracle数据库用sql取下月第一天怎么解?
最近小编在学习oracle数据库,今天在学习sql语句时突然想用刚学习的oracle数据库函数来取出下个月的第一天是具体多少号.小编首先想到的是用oracle数据库自带的函数NEXT_DAY(date ...
- oracle数据库系统中启动数据库第一步,Oracle数据库基础题库【含答案】
一. 判断题,正确请写写\,错误请写写\, 1.oracle数据库系统中,启动数据库的第一步是启动一个数据库实例.( T )2.Oracle服务器端的监听程序是驻留在服务器上的单独进程,专门负责响应客 ...
最新文章
- 默的各种写法图片_SEO标题写法?
- 讨论JDK的File.equal()
- Maven学习总结(2)——Maven项目构建过程练习
- n数码问题,全排列的hash(转载
- MySQL事务的幻读
- zookeeper 3.4.6安装
- 微型统计分析系统README
- 电脑word在哪_怎么将图片转换成Word?学会这3种方法,轻松将图片转文字!
- 剑指offer之中判断二叉树是不是对称二叉树(递归和非递归实现)
- 【渝粤题库】国家开放大学2021春2476旅游学概论题目
- 面试题 02.01. 移除重复节点(链表删除操作模板)
- 软件以人为本1 - 序 - 写于上海2011 ScrumGathering会后
- IEqualityComparerT
- Python Jupyter QtConsole
- Atitit.字节数组转字符串 base64 base16 Quoted-printable 编码原理设计 attilax 总结
- HEVC帧间预测之三——TEncCu::xCheckRDCostMerge2Nx2N函数分析
- Openwrt源码LuCI应用完整说明
- 计算机编程英语词汇app,计算机编程英语词汇
- Linux 课程设计 每日小
- 罗技产品序列号追溯条码扫描系统
热门文章
- Word2010设置显示中文几号字
- 如何搭建一个自己的安全测试实验室WebGoat?
- 使用MVC模式实现一个超简单的网上书店系统
- 【记录】Tiff图像的前处理,median blur filter 及 linear stretch
- 一个预言家的命运:忽悠马云的“骗子”,风口上的先知
- 计算机科学大师唐纳德,他是现代计算机科学的鼻祖,编程界的上帝
- Mysql8.0和Mysql5.0访问jdbc连接
- Linux修复U盘只读问题
- Python计算机视觉编程第七章 图像搜索
- Android-记账本(一)-效果图