设为首页 加入收藏

TOP

SQL学习总结之SQL的分类介绍
2018-05-08 06:06:59 】 浏览:69
Tags:SQL 学习 总结 分类 介绍

一、SQL语言的分类:SQL语言大体可分为DDL、DCL和DML三类。其中,DDL又包含CREATE,ALTER和DROP;

DCL包含GRANT和REVOKE,而DML中最常见的有SELECT,INSERT,UPDATE,和DELETE。

1、  DDL(数据定义语言)

◎ CREATE语句

SQL> CREATE TABLE example_1

  2  (col_1 number NOT NULL,col_2 varchar2(20));

Table created.

◎     ALTER 语句

SQL> ALTER TABLE example_1 ADD col_3 char(10);

Table altered.

◎     DROP 语句

SQL> ALTER TABLE example_1 DROP COLUMN col_3;

Table altered.

2、  DCL(数据控制语言)

◎     GRANT(授予权限)

SQL> GRANT SELECT ON student TO scott;

--使scott用户有查询当前用户模式下的student表的权限。

Grant succeeded.

--测试授权是否成功

SQL> conn scott;

Enter password:

Connected.

--查询system用户下student表

SQL> SELECT * FROM system.student;

     STUNO STUNAME              ST ROLLTIME

---------- -------------------- -- --------------

       112 duyubo               m  08-8月 -09

       110 CJ                   M  12-8月 -09

◎     REVOKE(收回权限)

SQL> conn system/system;

Connected.

--收回权限

SQL> REVOKE SELECT ON student FROM scott;

Revoke succeeded.

测试权限是否成功收回

SQL> conn scott/scott

Connected.

SQL> SELECT * FROM system.student;

SELECT * FROM system.student

                    *

--错误:表不存在(因为没有权限)

ERROR at line 1:

ORA-00942: table or view does not exist

3、  DML(数据操纵语言)

◎     SELECT语句(使用最为广泛的语句)

SQL> SELECT * FROM student;

     STUNO STUNAME              ST ROLLTIME

---------- -------------------- -- --------------

       112 duyubo               m  08-8月 -09

       110 CJ                   M  12-8月 -09

◎ INSERT(插入数据)

--如果要对表中的每一列数据都进行插入操作,则表后的列项可以省略,如

SQL> INSERT INTO student VALUES(100,'JC','M',SYSDATE);

1 row created.

--但当仅对表中部分列进行插入操作时,必须指明字段名称,而且字段名称应该与values后--的值一一对应。

SQL> INSERT INTO student(stuno,stuname,stusex)

  2  VALUES(211,'WNT','M');

1 row created.

◎     UPDAET(更新)

SQL> UPDATE student SET stuname='yinxiong'

  2  WHERE stuno=100;

1 row updated.

◎     DELETE (删除内容)

--注意,delete是删除内容的,删除过后表结构不变。二drop是删除表或字段,删除表,则对应的表也就不存在了;同理,删除字段,则对应的字段也就不存在了。

SQL> DELETE FROM student WHERE stuname='yinxiong';

--仅仅删除stuname=‘yinxiong’对应列的内容。

1 row deleted.


编程开发网
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇介绍一下sqlserver强大的时间格式 下一篇sqlserver存储过程分析

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

最新文章

热门文章

C 语言

C++基础

windows编程基础

linux编程基础

C/C++面试题目