SQL(Strutured Query Language):结构化查询语言

SQL可分为:

  <1>数据定义语言(DDL):Data Definition Language

    用于建立、修改、删除数据对象(数据库,表之类):

     (1)create:创建表或其他对象的结构

     (2)alter:修改表或其他对象的结构

     (3)drop:删除表或其他对象的结构

     (4)truncate:删除表数据,保留表结构

  <2>数据操作语言(DML):Data Manipulation Language

    用于改变表中的数据(记录),和事务相关,执行后经过事务控制语句提交后才能真正将改变应用到数据库中:

     (1)insert:将数据插入到数据库中

     (2)update:更新数据表中已存在的数据

     (3)delete:删除数据库表中的数据

  <3>事务控制语言(TCL):Transaction Control Language

    用与维护数据一致性的语句:

     (1)commit:提交,确实已进行的数据改变

     (2)rollback:回滚,取消已经进行的数据改变

     (3)savepoint:保存点,使当前的事务可以回退到指定的保存点,便于取消部分操作

  <4>数据查询语言(DQL):Data Query Language

    用于插叙查询所需要的数据:

     select语句

  <5>数据控制语言(DCL):Data Control Language

    用于执行权限的授予和收回操作

     (1)grant:授予,用于给用户或角色授予权限

     (2)remove:用于收回用户或角色的已用的权限

     (3)create:创建用户

(一)oracle数据类型

  <1>number(p,s):表示数值类型

    -p表示数值的总位数

    -s表示数值的精度(小数位位数)

    -number(p,0)表示整数,也可写成number(p)

  <2>char(n):表示固定长度的字符类型(字符串是用单引号括起来)

    -n表示字符的字节数长度(不是字符个数),固定不变,最长为2000字节

  <3>varchar(n):表示变长的字符类型(字符串是用单引号括起来)

    -n表示最多可存的字符串字节长度,可存的长度是实际字符长度,最长为4000字节

  <4>date:用于定义日期的数据

    -长度是7字节

    -默认格式是:DD-MON-RR,例:11-APR-71

    -sysdate表示系统默认时间

    -在操作数据是时,可以使用数据库自带to_date('1987-11-09','yyyy-mm-dd')来设置和修改date类型的值

 

(二)表的增删改查(CRUD)----DDL

  <1>创建表:

    create table 表名(

      字段1 类型(长度) [约束条件],

      字段2 类型(长度) [约束条件],

      ...

      字段n 类型(长度) [约束条件]

    );

  注:最后一个字段没有逗号.

  <2>删除表:

    drop table 表名;

  <3>修改表:

    (1)修改表名

      rename 旧表名 to 新表名;

    (2)修改表结构:(可理解为字段的增删改)

      (2.1)增加字段:可以一次增加一个或多个(多个用逗号隔开,最后一个没有逗号),只可以添加到现有字段的末尾

        alter table 表名 add ( 

            字段1 类型(长度) [约束条件],

            字段2 类型(长度) [约束条件],

            ...

            字段n 类型(长度) [约束条件]

        );

      (2.2)删除已有字段:可以一次删除一个或多个(多个用逗号隔开,最后一个没有逗号)

        alter table 表名 drop(字段1,字段2,...,字段n);

      (2.3)修改已有字段:可以一次修改一个或多个(多个用逗号隔开,最后一个没有逗号)

        alter table 表名 modify(

            字段1 类型(长度) [约束条件],

            字段2 类型(长度) [约束条件],

            ...

            字段n 类型(长度) [约束条件]

        );

   (4)查看表结构:

      desc 表名;

(三)表中数据(记录)增删改查----(DML)

  <1>增:插入一条记录:(推荐使用第一种)

    (1) insert into 表名(字段1,字段2,...,字段n) values (值1,值2,...,值n);

      注:字段和值必须一一对应,有多少字段就得有多少对应的值.

    (2)insert into 表名 values(值1,值2,...,值n);

      注:表中定义了多少字段就得有多少值(不可缺),而且是按表中字段的顺序设定值.

  <2>删:删除表中数据

    delete from 表名 [where 条件表达式];

      注:如果没有条件表达式,则会删除表中所有数据.

    也可用DDL中的:truncate table 表名;来删除全部记录,不过不受事务控制,删除就无法恢复(效率高)

  <3>改:修改记录中的一个或多个值

    update 表名 set 字段1=值1,字段2=值2,...,字段n=值n [where 条件表达式];

      注:如果没有条件表达式,将会修改所有记录中的修改的字段.

  <3>查:查看表中数据(所有记录) (重中之重)

    select语句;

oracle数据学习第一天的更多相关文章

  1. Oracle数据库学习第一天

    crud 增删改查 create read update delete1--oracle数据库的安装 系统默认创建两个用户 sys和system 密码自定义 超级管理员:sys 管理员:system ...

  2. Asp.Net MVC4 + Oracle + EasyUI 学习 第一章

    Asp.Net MVC4 + Oracle + EasyUI  第一章 --操作数据和验证 本文链接:http://www.cnblogs.com/likeli/p/4234238.html 文章集合 ...

  3. oracle数据学习第二天

    今天主要加强了对oracle数据库的数据类型一些相关函数的学习  (一)char和varchar2  字符串函数 <1>concat(char1,char2)字符串连接函数,用于连接两个字 ...

  4. Asp.Net MVC4 + Oracle + EasyUI 学习 序章

    Asp.Net MVC4 + Oracle + EasyUI  序章 -- 新建微软实例 本文链接:http://www.cnblogs.com/likeli/p/4233387.html 1.  简 ...

  5. oracle学习 第一章 简单的查询语句 ——03

    1.1最简单的查询语句 例 1-1 SQL> select * from emp; 例 1-1 结果 这里的 * 号表示全部的列.它与在select 之后列出全部的列名是一样的.查询语句以分号( ...

  6. Oracle 查询出来的数据取第一条

    Oracle 查询出来的数据取第一条 --------------------------------------------------------------------------- 转载自:h ...

  7. oracle 分组取第一行数据 ,查询sql语句

    oracle  分组取第一行数据 SELECT * FROM ( SELECT ROW_NUMBER() OVER(PARTITION BY x ORDER BY y DESC) rn, t.* FR ...

  8. Oracle取查询结果数据的第一条记录SQL

    Oracle取查询结果数据的第一条记录SQL: ; ;

  9. Java学习第一天

    Java学习第一天 对于网络管理员或者黑客必须知道的八个cmd命令 详情请参考:http://www.2cto.com/os/201608/533964.html          nbtstat  ...

随机推荐

  1. lua学习记录

    1.八种数据类型:number,string,boolean,nil,function,table,协程,自定义类型 空字符串和数字0是真,false和nil为假2.lua是动态语言,每个变量携带自己 ...

  2. Sublime Text 3最好的功能、插件和设置(转)

    Sublime Text 3 是一个了不起的软件.首先,它是一个干净,实用,可以快速的编写代码编辑器.它不仅具有令人难以置信的内置功能(多行编辑和VIM模式),而且还支持插件,代码片段和其他许多东西. ...

  3. 使用swipecard实现卡片视图左右滑动监听以及点击监听

     前言: 大家好,今天给大家介绍安卓一种特别实用有很酷炫的组件swipecard,当然这并不是安卓爸爸创造的,这是国内的一个我认为是大牛的一个人随便写着玩儿搞出来了,我看了他的代码介绍已经很清晰了,但 ...

  4. [solr] - IKAnalyzer 扩展分词库

    在solr中加入自己的扩展分词库方法: 参考文章: http://www.cnblogs.com/dennisit/archive/2013/04/07/3005847.html 1.在solr的we ...

  5. FullCalendar只可以从外部拖入,内部不能互相拖动

    startDrag: function(ev) { if(ev.originalEvent.initEvent){ return; } if (!this.isListening) { // star ...

  6. C#微信公众号开发-MVC模式公共类封装

    第一部分:基础配置 第一步:注册微信公众账号 如果开发测试阶段可以打开测试链接地址,注册测试公众号.测试账号除了不能与正式账号通信外其他什么高级接口的都可以实现. 测试号管理地址:http://mp. ...

  7. python---list列表

    Python 列表(List) 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型 ...

  8. 【转】贾扬清:希望Caffe成为深度学习领域的Hadoop

    [转:http://www.csdn.net/article/2015-07-07/2825150] 在深度学习(Deep Learning)的热潮下,Caffe作为一个高效.实用的深度学习框架受到了 ...

  9. MessageBox

    首先要知道MessageBox返回的值为DialogResult类型.返回值可能有如下: DialogResult.OK  //点击“确定”按钮后返回的值 DialogResult.YES  //点击 ...

  10. 每天一个 Linux 命令(8):cp 命令

    cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一.一般情下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数.但是如果是在 ...