Oracle的SQL基础

Posted 王朝源

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle的SQL基础相关的知识,希望对你有一定的参考价值。

1.了解SQL的种类

(1)DDL 数据定义语言:定义数据库中数据要如何存储的,包括对数据库对象的创建(create)修改(alter)删除(drop)的操作,这些对象主要有数据库,数据表,视图,索引等。

(2)DML 数据操作语言:对数据库表进行的操作,包括对数据库表进行增加(insert)删除(delete)修改(update)的操作。

 (3)DQL 数据查询语言:对数据库表进行的查询操作,既可以查询(select)一个也可以查询多个表,并且可以按不同的条件进行进行检索数据。

(4)DCL 数据控制语言:对数据库中的对象(grant)权限进行设置和取消操作。

2.Oracle 11g支持的数据类型

(1)一共23种数据类型VARCHAR2, NUMBER, DATE, CHAR, FLOAT, INTEGER ......

(2)常用数据类型 ①字符型:VARCHAR2, NVARCHAR2, CHAR, NCHAR, LONG

          ②数字型: NUMBER, FLOAT

          ③日期型: DATE, TIMESTAMP

3.数据定义语言(DDL)

(1)Create创建表:CREATE  TABLE  table_name{

          column_name datatype [null | not null]

          column_name datatype [null | not null]

          ...

          [constraint]

         };

  (2) Alter 修改表: ALTER TABLE table_name

         ADD column_name | MODIFY column_name | DROP COLUMN column_name;

  (3) Drop删除表:DROP TABLE table_name;

(4)约束的使用:①主键约束:创建表时设置 PRIMARY KEY (cloumn_name) 

                为已有表添加 ALTER TABLE table_name

                     ADD  CONSTRAINTS  constraint_name PRIMARY KEY (cloumn_name) 

         ②外键约束:创建表时设置 CONSTRAINT constraint_name FOREIGN KEY (column_name)

                     REFERENCES table_name (column_name)/*要引用的表名(列名)*/

                     ON DELETE CASCADE;/*设置级联删除*/

               为已有表添加  ALTER TABLE table_name

                     ADD CONSTRAINT constraint_name FOREIGN KEY (column_name)

                     REFERENCES table_name (column_name)/*要引用的表名(列名)*/

                     ON DELETE CASCADE;/*设置级联删除*/

        ③CHECK约束:创建表时设置 CONSTRAINT constraint_name CHECK(column_name.condition)

               为已有表添加  ALTER TABLE table_name

                      ADD CONSTRAINT constraint_name CHECK(column_name.condition)

        ④UNIQUE约束:创建表时设置 CONSTRAINT constraint_name FOREIGN KEY (column_name)

               为已有表添加  ALTER TABLE table_name

                     CONSTRAINT constraint_name UNIQUE(column_name)

        ⑤NOT NULL约束:创建表时设置 NOT NULL

                为已有表添加 ALTER TABLE table_name MODIFY column NOT NULL

4.数据操作语言(DML)

   (1)添加数据INSERT 向表中添加数据:INSERT INTO table_name(column_name1,column_name2, ...) VALUES(data1, data2, ...)

                                  通过其他表添加:INSERT INTO table_name(column_name1,column_name2, ...) select column_name1, column_name2,                     ...FROM table_name2

                    CREATE TABLE table_name AS SELECT column_name1,column_name2,...FROM source_table;

    (2) 修改数据UPDATE 修改表中字段 UPDATE table_name SET column_name1=data1 ,column_name2=data2,...[WHERE condition];

    (3) 删除数据DELETE DELETE FROM table_name[WHERE condition]

  (4)其他数据操作语句:TRUNCATE TABLE table_name(删除操作比delete语句删除更快一些)

             MERGE 对数据进行增加修改的操作MERGE [into] table_name1 USING table_name2  

             ON(condition) WHEN MATCHED THEN~~~~/*如果条件匹配执行的语句*/

                                  WHEN  NOT MATCHED THEN ~~~~ /*如果条件不匹配执行的语句*/

5. 数据查询语句(DQL)(转下)

6. 数据控制语句(DCL)(转下)

........... 

以上是关于Oracle的SQL基础的主要内容,如果未能解决你的问题,请参考以下文章

SQL基础7:SQLSERVER、ORACLE、DB2中SQL语句查询表字段名、注释、字段类型

oracle中的基础sql

oracle pl/sql 基础

oracle 基础 执行sql文件

Oracle实战笔记(第六天)之PL/SQL基础

Oracle_sql优化基础——优化器总结