Oracle基础掌握,从简单项目入手学习

自来水收费管理系统

1.需求分析

2. 创建表空间和用户

2.1 执行创建表空间语句
create tablespace waterboss
datafile 'F:\oracle\orcl\waterboss.dbf'
size 100m
autoextend on 
next 10m
2.2 创建用户
-- 创建用户
create user wateruser
identified by a123
default tablespace waterboss
-- 为用户waiterboss赋予dba权限
grant dba to wateruser

3. 表的创建、修改与删除

3.1 创建表

业主表、业主类型表、价格表、区域表、收费员表、地址表、收费台账表

-- 业主表
CREATE TABLE T_OWNERS(
ID NUMBER PRIMARY KEY,
NAME VARCHAR2(30),
ADDRESSID NUMBER,
HOUSENUMBER VARCHAR2(30),
ADDDATE DATE,
OWNERTYPEID NUMBER
)
-- 业主类型表
CREATE TABLE T_OWNERTYPE(
ID NUMBER PRIMARY KEY,
NAME VARCHAR2(30)
)
-- 价格表
CREATE TABLE T_PRICETAVLE(
ID NUMBER PRIMARY KEY,
PRICE NUMBER(10, 2),
OWNERTYPEID NUMBER,
MINNUM NUMBER(10,2),
MAXNUM NUMBER(10,2)
)
-- 区域表
CREATE TABLE T_AREA(
ID NUMBER PRIMARY KEY,
NAME VARCHAR2(30)
)
-- 收费员表
CREATE TABLE T_OPERATOR(
ID NUMBER PRIMARY KEY,
NAME VARCHAR2(30)
)
-- 地址表
CREATE TABLE T_ADDRESS(
ID NUMBER PRIMARY KEY,
NAME VARCHAR2(30),
AREAID NUMBER,
OPERATORID NUMBER
)
-- 收费台账表
CREATE TABLE T_ACCOUNT(
ID NUMBER PRIMARY KEY,
OWNERID NUMBER,
OWNERTYPEID NUMBER,
AREAID NUMBER,
YEAR CHAR(4),
MONTH CHAR(2),
NUM0 NUMBER,
NUM1 NUMBER,
USENUM NUMBER,
METERUSERID NUMBER,
NETEDATE DATE,
MONEY NUMBER(10,2),
ISFEE CHAR(1),
FEEDATE DATE,
FEEUSERID NUMBER
)
3.2 修改、删除表
3.2.1 追加字段
ALTER TABLE 表名 ADD ( 
列名 字段类型,
列名 字段类型
)
3.2.2 修改字段
ALTER TABLE 表名 MODIFY ( 
列名 类型 [dafault 默认值],
列名 类型 [dafault 默认值]
)
3.2.3 修改字段名
ALTER TABLE 表名 RENAME COLUMN (
原列名 TO 新列名
)
3.2.4 删除字段名
ALTER TABLE 表名 DROP COLUMN (
列名,
列名
)
3.2.5 删除表
ALTER TABLE 表名 

4. 数据的增加、修改、删除

4.1 插入数据
INSERT INTO 表名 (列名1, 列名2 ) VALUES (value1, value2)
4.2 修改数据
UPDATE 表名 SET 列名=value WHERE 修改条件
4.3 删除数据
DELETE FROM 表名 WHERE 删除条件

-- 清空表数据,不可回滚
TRUNCATE TABLE 表名

5. JDBC 链接ORACLE

5.1 创建Maven工程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SIswvywU-1607444262749)(https://note.youdao.com/yws/api/personal/file/WEB409f9c3f24d2a1299882b8adfb7830a8?method=download&shareKey=279833ce437f50f1327a109b92610253)]

5.2 导入 ojdbc14.jar

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lQvBOTXz-1607444262752)(https://note.youdao.com/yws/api/personal/file/WEBd125e1a6c777964e7a047b3a4f199b66?method=download&shareKey=9753a4d99248f56688bcd7b0c307e1f9)]

5.3 创建数据库连接工具类
/**
 * @author :WaiterXiaoYY
 * @description: Oracle数据库操作工具类
 * @data :2020/12/8 22:34
 */
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class BaseDao {
    private static String url = "jdbc:Oracle:thin:@127.0.0.1:1521:orcl";
    private static String username = "wateruser";
    private static String password = "a123";
    private static Connection connection;
    static {
        // 加载驱动
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

    }

    // 获取数据库连接
    public static Connection getConnetion() {
        try {
            connection =  DriverManager.getConnection(url, username, password);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return connection;
    }

    // 关闭数据库
    public static void closeAll(ResultSet resultSet, Statement statement , Connection connection ) {
        try {
            if(connection != null) {
                connection.close();
            }
            if(statement != null) {
                statement.close();
            }
            if(resultSet != null) {
                resultSet.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

6. 数据的导出与导入

6.1 整库的导出与导入
--导出[可选]
exp 账号/密码 full=y [file=filename]

--导入[可选]
IMP 账号/密码 full=y [file=filename]
6.2 按用户导出与导入
--导出[可选]
exp 账号/密码 owner=用户名 full=y [file=filename]

--导入
IMP 账号/密码 file=filename fromuser=用户名
6.3 按表导出导入
--导出
exp 账号/密码 file=filename tables=1,表2

--导入
IMP 账号/密码 file=filename tables=1,表2
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值