一.SQL语言支持如下类别命令

1.数据定义语言(DDL):CREATE(创建)、ALTER(更改) 和 DROP(删除)命令

1.1  CREATE (创建表,表空间,用户, 索引, 视图, 同义词, 过程, 函数, 数据库链接等)

  创建表空间的语法;

   CREATE TABLESPACE tablespace_name DATAFILE '文件名称' [size integer[k|M]]  [autoextend [off | on]]

这里状态 off 是 offline  on是online

  创建用户的语法:

    CREATER USER user_name IDENTIFIED BY password  [ DEFAULT TABLESPACE tablespace_name] [ TENPORARY  TABLESPACE tablespace_name ]

    这里 default 为缺省表空间  temporary 为临时表空间

  创建表的语法;

    CREATE TABLE tb_student
(
   stuNum NUMBER(10),  --学号
   stuId Varchar2(18),
   stuEmai varchar2(30),
   stuAge Number(3),
   stuSex VARCHAR2(10) 
)

  创建表时要把较小的不为空的字段放在前面, 可能为空的字段放在后面

  创建表时可以用中文的字段名, 但最好还是用英文的字段名

  创建表时可以给字段加上默认值, 例如 DEFAULT SYSDATE  这样每次插入和修改时, 不用程序操作这个字段都能得到动作的时间

  创建表时可以给字段加上约束条件  例如 不允许重复 UNIQUE, 关键字 PRIMARY KEY

1.2  ALTER (改变表, 索引, 视图等) 

  改变表的名称  ALTER TABLE 表名1 TO 表名2;

    ALTER TABLE  tb_student  TO  tb_student01;

  在表的后面增加一个字段  ALTER TABLE表名 ADD 字段名 字段名类型;

    ALTER TABLE tb_student  ADD stuphone NUMBER;

  修改表里字段的定义描述  ALTER TABLE表名 MODIFY  (字段名 字段名类型);

    ALTER TABLE tb_student MODIFY (stuphone  number(11));

  修改表的字段名

    ALTER TBALE tb_student  RENAME  COLUMN  stuphone  to stuclass ;

  删除表中的列:

     ALTER TABLE tb_student DROP COLUMN stuclass;      ----删除一列

     ALTER  TABLE  tb_studrnt  DROP (STUID,STUNAME);  ----删除多列

  给表里的字段加上约束条件  ALTER TABLE 表名 ADD CONSTRAINT 约束名 PRIMARY KEY (字段名);  ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE (字段名);

  把表放在或取出数据库的内存区  ALTER TABLE 表名 CACHE;  ALTER TABLE 表名 NOCACHE;

1.3.DROP (删除表索引视图同义词过程函数数据库链接等)

  删除表和它所有的约束条件  DROP TABLE 表名 CASCADE CONSTRAINTS;

2.数据操纵语言(DML):INSERT (插入)、SELECT(查看)、UPDATE(更新)、DELETE(删除)

2.1  INSERT(往数据表里插入记录)

  INSERT  INTO  TABLE (字段1, 字段2,...) VALUES (值1,值2.....);

  INSERT  INTO  table_1 (表1_字段1,表1_字段2,...) SELECT  表2_字段1,表2_字段2,... FROM table_2   ---将表2查询的字段 赋给表1;

  CREATE  TABLE  table_1  AS  SELECT  表2_字段1,表2_字段2,...FROM  table_2   --创建一张表1  将表2查询到的字段赋给表1

insert..into...select...生成自定义数据

--一次插入多行数据,通过union关键字拼接查询
INSERT INTO stuinfo(stuname,stupass,stuage,birthday)
SELECT '王五','888888',20,to_date('1999-8-8','yyyy-Mm-dd') FROM dual UNION
SELECT '赵六','666666',25,to_date('195-8-20','yyyy-Mm-dd') FROM dual

2.2  DELETE (删除数据表里记录的语句)

  DELETE FROM表名 WHERE 条件;

  注意:删除记录并不能释放ORACLE里被占用的数据块表空间. 它只把那些被删除的数据块标成unused。

如果确实要删除一个大表里的全部记录, 可以用 TRUNCATE 命令, 它可以释放占用的数据块表空间 TRUNCATE TABLE 表名; 此操作不可回退. 为永久删除。

2.3  UPDATE(修改表的记录)

  UPDATE  table_name  SET  字段1=值1,字段2=值2,....WHERE 条件

3.数据控制语言 (DCL) :GRANT(授予)和REVOKE(回收)命令

  GRANT  CONNERT,RESOURCE  TO USER;

  REVOKE  CONNERT,RESOURCE  TO USER;

提示:DDL在ORCLE中默认的无需提交    而DML 需要COMMIT提交才能把数据插入到数据库

Oracle中SQL语言介绍以及基本用法的更多相关文章

  1. ORACLE 中的 ROW_NUMBER() OVER() 分析函数的用法

    ORACLE 中的 ROW_NUMBER() OVER() 分析函数的用法 ROW_NUMBER() OVER(partition by col1 order by col2) 表示根据col1分组, ...

  2. oracle中的exists 和not exists 用法 in与exists语句的效率问题

    博文来源(oracle中的exists 和not exists 用法):http://chenshuai365-163-com.iteye.com/blog/1003247 博文来源(  in与exi ...

  3. ORACLE 中的 锁 介绍

    ORACLE 中的 锁 介绍 Oracle数据库支持多个用户同时与数据库进行交互,每个用户都可以同时运行自己的事务,从而也需要对并发访问进行控制.Oracle也是用“锁”的机制来防止各个事务之间的相互 ...

  4. 问题:oracle ROW_NUMBER()over;结果: ORACLE 中的 ROW_NUMBER() OVER() 分析函数的用法

    ORACLE 中的 ROW_NUMBER() OVER() 分析函数的用法 ROW_NUMBER() OVER(partition by col1 order by col2) 表示根据col1分组, ...

  5. Oracle PL/SQL 语言(Procedural Language/SQL)

    Oracle PL/SQL 语言(Procedural Language/SQL)是结合了结构化查询与 Oracle 自身过程控制为一体的强大语言,PL/SQL 不但支持更多的数据类型,拥有自身的变量 ...

  6. oracle中sql语句的优化

    oracle中sql语句的优化 一.执行顺序及优化细则 1.表名顺序优化 (1) 基础表放下面,当两表进行关联时数据量少的表的表名放右边表或视图: Student_info   (30000条数据)D ...

  7. Oracle中SQL语句分类

    Oracle中SQL语句分类如下:1.DML语句 insert/delete/update/select/merge/explan plan/lock table2.DDL语句 create/atlt ...

  8. 转:Oracle中SQL语句执行过程中

    Oracle中SQL语句执行过程中,Oracle内部解析原理如下: 1.当一用户第一次提交一个SQL表达式时,Oracle会将这SQL进行Hard parse,这过程有点像程序编译,检查语法.表名.字 ...

  9. oracle 中SQL 语句开发语法 SELECT INTO含义

    oracle 中SQL 语句开发语法 SELECT INTO含义 在ORACLE中SELECT INTO是如何使用的,什么意思?和SQL SERVER的不一样?   和sqlserver的不一样sql ...

随机推荐

  1. 【TOJ 1743】集合运算(set并、交、差集)

    Description 给定两个集合A和B的所有元素,计算它们的交.并.差集. Input 输入数据有多组,第一行为数据的组数T,接下来有2T行,每组数据占2行,每行有若干个整数,第一行的所有整数构成 ...

  2. Oracle VM VirtualBox 安装XP、Win 7

    测试要求 为了少写点lr脚本(其实是不会写),看到fiddler的saz格式文件可以由loadrunner 12读取,本机安装了lr 11,打算虚拟机安装lr 12.通过共享文件夹把文件传过去,生成脚 ...

  3. SQL:检索数据-基本检索

    检索数据 1.select语句 增删改查四大操作之"查",即检索: 一般包括:what,where:查什么,从哪里选择 2.检索单个列 例:想从products表中检索名为prod ...

  4. python 中的UDP和TCP(1)

    一.TCP: TCP是Transmission Control Protocol的简称,中文名传输控制协议.是一种面向连接的.可靠的.基于字节流的传输层通信协议.TCP通信需要经过创建连接.数据传输. ...

  5. STM32(7)——通用定时器PWM输出

    1.TIMER输出PWM基本概念         脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种 ...

  6. python3 练习题100例 (二十三)与7相关的数

    与7相关的数:如果一个正整数,它能被7整除或者它的十进制表示法中某个位数上的数字为7,则称之为与7相关的数.(10分) 题目内容: 现在我们给定一个正整数n(n<1000),求所有小于等于n的与 ...

  7. rails小技巧之分组查询统计并去重

    分组查询并统计 SpecialGroup.group(:special_type).count select special_type,count(*) from special_groups gro ...

  8. 15 GIL 全局解释器锁 C语言解决 top ps

    1.GIL 全局解释器锁:保证同一时刻只有一个线程在运行. 什么是全局解释器锁GIL(Global Interpreter Lock) Python代码的执行由Python 虚拟机(也叫解释器主循环, ...

  9. Dos命令%date:~0,10%

    在使用命令对数据库备份的时候,想让备份的文件以当天的日期命名.需要获取当天的日期,获取当天的日期用date命令,获取当天的时间用time命令.但时间和日期一般都是有一定格式的,而使用的时候,是不想用那 ...

  10. 什么鬼,又不知道怎么命名class了

    什么鬼,又不知道怎么命名class了 2015/10/25 · CSS · class 分享到:5 原文出处: 结一(@结一w3cplus)    相信写css的人都会遇到下面的问题: 糟糕,怎么命名 ...