SQL语言复习-----1

1,前言

SQL是计算机的一门基础语言,无论在开发还是数据库管理上都是非常重要,最近总结归纳了一下相关知识,记录如下。

2,归纳

SQL是结构化查询语言。

关系数据库有三级模式结构。

基本表和视图一样都是关系。

举例:student(sno,sname,ssex,sage,sdept);

     course(cno,cname,cpno,ccredit)

     sc(sno,cno,grade)

2.1 模式

简单说,模式实际上是个命名空间,在空间中可以定义数据库对象,比如,基本表、视图等等。

语句如下:

  create schema <模式名> authorization <用户名>

示例:

create schema "s-t" autherization designlab

在定义模式的时候可以顺便定义表等等。

create schma test authorizaton desingla

create table test1(

col1 INT,

col2 char(10)

);

模式删除:

drop schema <模式名>

这个cascade和restrict必选一个。

casecade级联删除,相当把这个模式里面的所有东西全部删除,在生产环境应该避免使用。

restrict限制,当模式中有数据库对象时候,是无法删除的。

2.2 基本表

定义:

create table student

(  sno char(9) primary key,

   sname char(20) unique,

   ssex char(2),

   sage smallint,

   sdept char(20)

);

   这里面有码,主键,外键的关系,这里面有数据库设计方法的概念,以后再说。

create table course

 ( cno char(4) primary key,

    cname char(20),

   cpno char(4), /*cpno是先修课*/

    ccredit smallint,

   foreign key cpno references course(cno)

);

我们看见,这里面外键是参照了自己。

create talbe sc

( sno char(7),

  cno char(4),

  grade smallint,

  primary key (sno,cno),

  foreign key (sno) references student(sno),

  foreign key(cno) references course(cno)

 );

修改表:

alter table student add entrance DATE;

      alter table student alter column sage INT;

alter table course add unique(cname);

        删除表:

drop table <表名> [restrict|cascade]

默认是restrict

2.3 索引

索引主要是为了加快查询速度。

create [unique][cluster] index <索引名>

ON <表名> (<列名>[次序])

示例:

create unique index courcno ON course(cno);

2.4 查询

你可能感兴趣的:(sql,oracle,数据库)