课程咨询 :13691148991

  • oracle和sql数据语句的区别

    发布:上海java培训      来源:企业笔试题      时间:2016-03-03

  • oracle数据库和sql数据语句的区别

    主流数据库产品:

    Oracle(Oracle)

    DB2(IBM)

    SQL Server(MS)

    MySQL(Oracle)

    DDL(data definition language 数据定义语言):structure column

    create table(创建一张表)

    alter table(修改表结构,增加一列等)

    drop table(删除表,该表在数据库中不存在)

    truncate 清空表数据

    DML(data manipulation language 数据操作语言)对数据起作用

    insert into (增加一行记录)

    delete (删除一行记录)

    update (修改一行记录中的某些列,单元格)

    TCL(transaction control language 事务控制语言)

    commit(提交 确认DML操作的数据入库)

    rollback(回滚 撤销DML操作)

    DQL(data query language 数据查询语言)

    select

    DCL(data control language 数据控制语言)

    grant (授予权限 a to b一个数据库用户可以让另一个数据库用户查询自己的某张表)

    revoke(回收权限 a from b把授予的权限回收回来)

    重点:truncate(截取,截断)

    1)truncate保留表结构,删除表中的所有数据

    2)truncate操作不需提交(commit),没有回退的机会

    3)语法结构:truncate table 表名

    4)truncate与delete的区别

    truncate在功能上等同:delete+commmit

    delete操作将删除数据存储到临时空间,不直接删除,可以回退

    truncate操作直接删除,不占用临时空间,不能回退,没有记录日志 速度快

    3.建数据表

    1)规范:

    表名不能超过30个字符

    表名,列名自由定义

    所以的SQL语句都是以";"结尾

    2)数据类型:

    a.数字

    number(n); 数字(最长n位)

    number(n,m) 浮点数(总长n位,小数点后m位)

    如:number(7,2) 表示最大数为99999.99

    b.字符串

    char(n) 表示定长字符串(方便查询),最长放入n个字符放入的数据

    如果不够n个字符则补空格,无论如何都占n个字符长度

    varchar(n) 表示变长字符串(节省空间),最长放入n个字符,放入的数据是

    几个长度就占多大空间

    varchar2(n) Oracle自定义的变长字符串

    字符用单引号表示,数字不用

    c.日期

    Date 日期

    timestamp 时间戳 保存更加精细的时间点,可精确到秒后三位

    常用于保存:注册时间,入职时间2013-1-8

    因此在date类型上扩展出java.sql.timestamp类型,它包含了date所有数据

    3)三种SQL语句总结:

    建表: create table 表名(列名 数据类型,列名2 数据类型。。。);

    插入数据:insert into 表名 values(列值,....)

    注意:1.数据库中字符用单引号表示,数字不用

    2.插入数据时,表名后的字段名可以不写,但是values()中的值不能省略

    3.插入空值时可以定义为null

    查询:select * from 表名

    。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

    1.事务是一组相关的DML语句的逻辑组合,事务控制主要包括以下命令

    commit

    rollback

    savepoint

    2.事务的特征---ACID

    1)原子性 保证操作要么都成功 要么都失败 然后回滚

    2)一致性 一旦事务完成,不管成功失败,整个系统处于操作规则的统一状态

    也就是数据不会损坏

    3)隔离性 指数据库中一个事务的执行不能被其他事务干扰,为了防止

    同时的读写,事务与锁同时使用

    4)持久性 也称为永久性,事务提交后,对数据库中的数据的改变时永久的

    3.CHAR类型的最大取值为2000字节,也就是定义为CHAR(2000)。其中最多保存2000个英文字符,1000个汉字(GBK)。

    VARCHAR2最大取值为4000字节,也就是VARCHAR2(4000),最多保存4000个英文字符,2000个汉字(GBK)。

    CHAR如果不指定长度,默认为1个字节, VARCHAR2必须指定长度。

    4.什么是关系型数据库?

    关系数据库,是建立在关系模型基础上的数据库

    5.约束

    在定义表时,可以为表或字段添加约束,约束可以限定表中字段的数据,非法数据不能进入。

    1)约束类型

    a.主键 :非空且唯一

    b.非空 :非空

    c.唯一 :唯一,允许为空

    d.外键 :限定某列值必须在另一列中存在,允许为空

    e.检查 :按指定的条件限定字段值

    6.主键和唯一性约束的字段会自动创建索引。

    7.介绍下Oracle中主要的数据对象有哪些?

    表、视图、序列、索引、约束、同义词

    ....................................................................................................

    常用创建表SQL语句:(方便,好用)

    修改表名:

    rename old to new;

    修改列名:

    alter table 表名 rename column 列名A to 列名B

    删除某一列

    alter table 表名 drop column(列名).

    增加一列(只能在最后一列):

    alter table 表名 add (列名 类型 default sysdate);

    修改列的数据类型

    alter table 表名 modify (字段名 char(8))

    查询数据库中所有的表

    select table_name from user_tables;

    复制全表

    create table t1 as select * from emp;

    复制结构,不复制数据

    create table t1 as select * from emp where 1 <> 1;

    复制一部分数据

    create table t1 as select ename,salary*1.2 year_sal from emp where ename='123';

    craete table t1(did,emp_num) as select deptno,count(*) from emp group by deptno;

    创建一个空表,同时向表中插入多条记录

    create table t1 as select * from emp where 1<>1;

    insert into t1(select * from emp where deptno = 10);

    delete from t1;

    insert into t1(select * from emp where deptno in(20,30));

    IT免费课程咨询:http://sh.java.tedu.cn/baidu3/wmkc02/

上一篇:Java创语言线程的两个方法

下一篇:java语言中的模型与渲染器

最新开班日期  |  更多

Java--零基础全日制班

Java--零基础全日制班

开班日期:4.28

 Java--零基础业余班

Java--零基础业余班

开班日期:4.28

Java--大数据全日制班

Java--大数据全日制班

开班日期:4.28

Java--大数据业余制班

Java--大数据业余制班

开班日期:4.28

  • 地址: 上海达内12大校区,就近安排,提供住宿(浦东/徐汇/人广/静安/虹口等)
  • 课程培训电话:13691148991     24小时咨询电话:150-2157-9486
  • 服务邮箱 tousu@tedu.cn
  • 2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56