DDL数据库定义语言:Create、Drop、Alter等
DML数据库操作语言:Select、Update、Delete、Merge、Insert等
其中Create语句可以用来创建数据库对象,如数据库模式、表、视图、索引等,具体的例子如下所示:
创建表:create table student(stu_no char(12), stu_nam varchar(100),stu_bth date,
gender char(1),mbl_tel char(11), email char(20), dept_no char(10), cls_no char(10));
创建唯一索引:create unique index student_idx0 on student(stu_no);
创建聚簇索引:create cluster index student_idx1 on student(stu_no),
创建视图:create view student_view(stu_no, stu_nam, age)
as select stu_no, stu_nam, year(current date)-year(stu_bth) from student;
Drop语句与Create语句相对,它提供了将数据库对象从数据库中删除的功能,其基本语法如下所示:
删除表:drop table student cascade/restrict,当该表是主表时,使用cascade会将与该表有关联的表一并删除,若使用restrict时,若该表是主表,则执行该语句会报错,其它对象的删除方法类似。
select指令用来执行SQL查询语句,用来从数据表中筛选出符合用户指定过滤条件的数据,select语句由以下几个部分组成
select return_columns from tables [where filter_condition group by aggregate_columns having condition order by columns],在该条语句中:
1.select语句指定了需要返回的数据列, return_columns为需要返回的数据列的名称
2. from子句指定了数据查询发生在哪些数据表上,tables为需要查询的数据表名称
3.where条件指定了筛选数据的规则,filter_condition为删选数据的条件,该语句一般先于group by子句执行
4.group by子句对返回的结果集进行分组,aggregate_columns为分组的依据的数据列名称
5. having子句则用来对返回的分组进行筛选,其相当于在where子句执行后又再次进行了一次数据的筛选
6. order by子句用来对返回的数据结果集进行排序
insert语句和delete语句顾名思义,一个是用来向数据表中插入数据记录,另外一个是从数据表中按照所给定的条件删除数据记录,下面仅给出例子说明:
insert into student values('2011206190097','炉子','1989-08-01','M',
'18664321134','18664321134@126.com','192334','0202')
insert into student(stu_no,stu_nam,stu_bth,gender,mbl_tel,email,dept_no,cls_no) values
('2011206190097', '炉子','1989-08-01','M','18664321134','18664321134@126.com','192334','0202')
--与上述的语句效果一样,当插入的数据与数据的列的数目一致时,student后跟的数据列名称可以删除,否则必须保留
delete from student where stu_no='2011206190097' --删除学号为2011206190097的用户编号
创建数据表时也可以顺便给表添加一些约束规则,这些规则主要包括主键约束、唯一性约束、检查约束和外键约束等
除了创建数据唯一索引外,还可以创建聚簇索引,但是一个数据库表有且只能有一个聚簇索引,建立聚簇
未完待续