Orcal笔记3-DDL-DML

一.Oracle的支持数据类型
     1.字符串类型
         char  固定长度(定义时即已确定长度,空余位置被补全),最大长度255,如 name char(10),'中'会占用10个长度;
         varchar2 长度不固定,根据实际情况占用,空余被放弃,最大长度3999,如 name varchar2(10),'中'会占用2个长度;

    2.数值类型
         number(3) 最大数据999
         number(3,2) 最大数据9.99

    3.大数值类型
         long:最大长度2G,相当于mysql中的longtext;
         clob:最大长度4G;
         blob:最大长度4G

    4.日期类型
         data:相当于mysql中的datatime,格式为yyyy-mm-dd hh:mi:ss;
         timestamp:时间戳,精度高,精确到小数点后9位;

二.DDL和DML
     --查看当前用户的权限
     SELECT * FROM session_privs;

    --创建表空间和数据文件
     CREATE TABLESPACE qin_space DATAFILE 'c:\\qin.dbf' SIZE 5M AUTOEXTEND ON NEXT 1M;

    --创建用户
     CREATE USER qin IDENTIFIED BY qin DEFAULT TABLESPACE qin_space;

    --赋予权限 3个角色 dba resource connect
     GRANT DBA TO qin;

    --创建表 t_student
     CREATE TABLE t_student(
            tid NUMBER(8),
            tname VARCHAR2(30) NOT NULL,
            telephone VARCHAR2(11),
            gender CHAR(1),
            birthday DATE,
           
            CONSTRAINT pk_tid PRIMARY KEY(tid),           --主键约束
            CONSTRAINT unique_column UNIQUE(telephone),   --唯一约束
            CONSTRAINT check_column CHECK(gender IN(0,1)) --检查约束
     )

    --插入数据
     INSERT INTO t_student VALUES(1,'小潘','110000011','0',to_date('2017-09-16','yyyy-mm-dd'));
     SELECT * FROM t_student;

    --创建orders表
     CREATE TABLE orders(
            o_id NUMBER(8) PRIMARY KEY,
            o_totalprice NUMBER(8,2)
     )

    --插入数据
     INSERT INTO orders VALUES(1,1000);
     INSERT INTO orders VALUES(2,2000);
     SELECT * FROM orders;

    --创建表orderdetail,设置与orders表的外键关联
     CREATE TABLE orderdetail(
            od_id NUMBER PRIMARY KEY,
            od_name VARCHAR2(30),
            o_id NUMBER(8),
            CONSTRAINT fk_o_id FOREIGN KEY(o_id) REFERENCES orders(o_id)
     );

    --插入数据
     INSERT INTO orderdetail VALUES(1,'mouse',1);
     INSERT INTO orderdetail VALUES (2,'keyboard',2);
     SELECT * FROM orderdetail

    --快速建表
     CREATE TABLE myemp AS SELECT * FROM SCOTT.emp;
     CREATE TABLE mydept AS SELECT * FROM SCOTT.dept;

    --update  需求:给NEW YORK地区的部门员工加薪100元
     --查询NEW YORK地区的部门员工
     SELECT * FROM myemp WHERE deptno IN (SELECT deptno FROM mydept WHERE loc = 'NEW YORK');
     UPDATE myemp SET sal = sal+100 WHERE deptno IN (SELECT deptno FROM mydept WHERE loc = 'NEW YORK');

    --修改表结构
     --t_student表加一列address
     ALTER TABLE t_student ADD( address VARCHAR2(30));
     --修改address字段的长度为200
     ALTER TABLE t_student modify(address varchar2(200));
     --删除address列
     ALTER TABLE t_student DROP COLUMN address;

三.delete和truncate区别
   delete只是删除了数据,truncate是摧毁了表然后重建
   delete语句会产生磁盘碎片,而truncate不会
   delete删除的数据可以找回的

四.Oracle的其它对象
     1.视图:
         视图是一个虚表,可以用来封装复杂的sql语句和隐藏敏感列;视图是原数据表的引用,操作视图会改变原表;
         语法:create view 视图名称 as sql查询语句

        只读视图: with read only
         create view view_emp as select ename, empno, job, mgr from myemp with read only;

    2.序列:
         独立于表之外的一个对象,主要用于主键自增
         语法:
         create sequence seq_test;
         select seq_test.nextval from dual;
         select seq_test.currval from dual;

        序列的完整语法:
         create sequence seq_sequence
         increment by 2   --递增值 默认1
         start with 3     --起始值 默认1
         maxvalue 15      --最大值  默认 19个9
         minvalue 2       --最小值  默认1
         cycle            --循环  默认 nocycle
         cache 5          --缓存的数量  默认缓存20

    3.索引
         创建索引可以提高查询效率
         语法格式:create index 索引名字 on 表名(列名)
         当数据量较小或数据经常被修改时,不建议创建索引.

    4.同义词(synonym)
         优点:可以缩短访问对象的名称;
         语法:create [public] synonym 名称 for 对象;
         举例:
         create synonym e for scott.emp;
         select * from e;


五.数据导入导出(dos窗口下,不需要连接到oracl)
     1. 导出Scott用户下的所有对象
       exp 用户名/密码@IP:1521/orcl   file='位置\\想要保存的文件名称.dmp' owner=用户名

    2.  导入到用户qin中
       imp 用户名/密码@IP:1521/orcl   file='位置\\已有的想要导入的文件名称.dmp' full=y

转载于:https://www.cnblogs.com/huguangqin/p/7534832.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值