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.