SQL 学习总结------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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值