设为首页 收藏本站
查看: 1620|回复: 0

[经验分享] db基本语句(oracle)

[复制链接]

尚未签到

发表于 2018-9-6 06:09:27 | 显示全部楼层 |阅读模式
  一. SQL分类
  DDL:数据定义语言(Data Definition Language)
  
  DML:数据操纵语言(Data Manipulation Language)
  
  TCL:事务控制语言(Transaction Control Language)
  
  DQL:数据查询语言(Data Query Language)
  
  DCL:数据控制语言(Data Control Language)
  
  1. DDL
  用于建立,修改,删除数据库对象
  CREAE:创建表或其它对象结构

  >  DROP:删除表或其它对象的结构
  TRUNCATE:删除表数据,保留表结构
  2. DML
  INSERT:将数据插入数据表中
  UPDATE:更新数据表中已经存在的数据
  DELETE:删除数据库表中的数据
  3. TCL
  COMMIT:提交,确认已经进行的数据改变
  ROLLBACK:回滚,取消已经进行的数据改变
  SAVEPOINT:保存点,使当前的事务可以回退到指定的保存点,便于取消部分改变
  4. DQL
  SELECT
  5. DCL
  GRANT:授予,用于给用户或角色授予权限
  REVOKE:用于收回用户或角色已有的权限
  CREATE USER:创建用户
  二. ORACLE基本类型
  1. NUMBER(数字类型)
  NUMBER(P,S):P表示数字总位数;S表示小数点后面的位数
  2. CHAR(固定长度字符类型)
  CHAR(N):N表示占用的字节数,最大长度是2000字节
  无论给定的值是多长的字节都会占用N个字节。
  3. VARCHAR2(变长的字符类型)
  VARCHAR(N):N表示最多可占用的字节数,最大长度是4000字节
  给定的值是多长就占用多长的字节,但是不利于频繁改动的字符,因为需要重新计算原先后面的字符,性能较VCHAR差。
  ORACLE中也有VARCHAR,和Mysql中的一样,其中VARCHAR和VARCHAR2一样,但是VARCHAR可能跟着大众的同意规则改变,而VARCHAR2永远不变,是变长的字符类型。
  4. DATE(定义日期时间的数据)
  长度:7个字节
  默认格式:DD-MON-RR(eg:11-APR-71)
  其中RR年份如下:
当前时间(列)/系统时间(行)0–4950–990–49本世纪下世纪50–99上世纪本世纪  
  三. 基本语法
  1. 创建表CREATE TABLE table_name(>
  2. 查看表结构DESC table_name
  3. 创建表时对字段赋默认值DEFAULT
  4. 非空(NOT NULL)条件约束,确保字段值不为空
  5. 修改表名
  
  RENAME old_name TO new_name;
  6. 增加列

  >  列只能增加在最后,不能插入到现有的列中(Mysql可以插入到指定列后面)
  eg: 给表增加一列hiredata,并设置默认值为当前日期

  >  7. 删除列

  >  删除字段需要从每行中删掉该字段占据的长度和数据,并释放在数据块中占据的空间,如果纪录比较大,删除字段可能需要比较长的时间。
  8. 修改列

  >  建表之后可以改变表中列的数据类型,长度和默认值
  修改只对以后插入的数据有效
  若把长度由大改小则可能不成功
  eg: MODIFY TABLE myemp MODIFY (job VARCHAR2(40) DEFAULT ‘CLERK’);
  9. 插入数据
  INSERT INTO table_name(column1, column2) VALUES(value1,value2);
  执行了DML操作后,需要再执行commit语句,才算真正确认了此操作
  如果插入的列有日期字段,需要考虑日期的格式。默认日期格式为'DD-MON-RR’,可以自定义日期格式,用TO_DATE函数转换为日期类型的数据
  eg: INSERT INTO myemp (id, name, job, birth) VALUES(1002, ‘doma’, ‘MANAGER’, TO_DATE(‘2009-01-01, ‘YYYY-MM-DD''));
  10. 更新操作

  UPDATE table_name SET column = value WHERE>  11. 删除操作

  DELETE FROM table_name = where>  在DDL语句中的TRUNCATE语句,同样有删除表数据的作用。
  和DELETE语句区别:
  — DELETE可以有条件删除,TRUNCATE将表数据全部删除
  — DELETE是DML语句,可以退回,TRUNCATE是DDL语句,立即生效,无法回退
  — 如果是删除全部表纪录,且数据量较大,DELETE语句效率比TRUNCATE语句低
  事务控制:
  COMMIT用于事务提交
  ROLLBACK用于回滚事务。那么该次事务中的所有增删改操作全部失败。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-563694-1-1.html 上篇帖子: Oracle数据基础(三) 下篇帖子: 12c Oracle ADG日志切换hang-roidba
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表