zoukankan      html  css  js  c++  java
  • Oracle中SQL语言介绍以及基本用法

    一.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提交才能把数据插入到数据库

  • 相关阅读:
    IIS应用程序池自动化回收脚本
    gitlab修改克隆地址
    docker安装的gitalb备份及数据迁移
    docker安装gitlab
    docker安装的gitlab备份脚本
    sql server 2016 维护计划执行,提示执行失败。有关详细信息,请参阅维护计划和sql server 代理作业历史记录日志。
    SSH使用证书登录
    docker搭建 rabbitmq集群
    VMware Workstation Pro设置nat模式上网
    docker-compose搭建discuz论坛
  • 原文地址:https://www.cnblogs.com/Mockingjays/p/4216859.html
Copyright © 2011-2022 走看看