HardBirch

SQL 学习总结——SQL的分类

时间:09-08-12 栏目:安卓学习笔记 作者:张飞不张,文采横飞 评论:0 点击: 1,273 次

一、SQL语言的分类:SQL语言大体可分为DDLDCLDML三类。其中,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.

声明: 本文由( 张飞不张,文采横飞 )原创编译,转载请保留链接: SQL 学习总结——SQL的分类

SQL 学习总结——SQL的分类:等您坐沙发呢!

发表评论


QQ群互动

Linux系统与内核学习群:194051772

WP建站技术学习交流群:194062106

魔豆之路QR

魔豆的Linux内核之路

魔豆的Linux内核之路

优秀工程师当看优秀书籍

优秀程序员,要看优秀书!

赞助商广告

友荐云推荐