数据库系统--SQL语句

本文详细介绍了SQL数据定义,包括基本数据类型如char、varchar、int等,以及数据库模式定义,完整性约束如主键、外键。接着,讨论了SQL查询结构,包括单关系查询、多关系查询、自然连接、基本运算、聚集函数、子查询和数据库的修改操作如插入、删除和更新。通过实例展示了如何使用SQL进行数据操作和查询。
摘要由CSDN通过智能技术生成

SQL数据定义

基本类型

  • char(n):固定长度的字符串,用户指定长度。
  • varchar(n):可变长度的字符串,用户指定最大长度n。等价于全称character varying。
  • Int:整数类型。
  • smallInt:小证书类型。
  • numeric(p, d):定点数,精度由用户指定。这个数有p位数字(加上一个符号位)。其中d位数字在小数点右边。
  • real, double precision:浮点数与双精度浮点数。
  • float(n):精度至少为n位的浮点数。

基本模式定义

使用 create table 命令定义SQL关系。

    create table department
        (dept_name varchar(20),
        building varchar(15),
        budget numeric(12, 2)m
        primary key (dept_name));

上述代码创建了一个department关系,具有dept_name,building,budget三个属性,主码为dept_name。

完整性约束:

  • primary key(a1,a2,a3,…,an):该声明表示属性a1,a2,a3,…,an构成关系的主码。主码属性必须非空且唯一。
  • foreign key(a1,a2,a3,…,an) references r1:声明表示关系中任意元组在属性a1,a2,a3,…,an上的取值必须对应于关系r1中某元组在主码属性上的取值。
  • not null:一个属性上的not null约束表明在该属性上不允许空值。

注:SQL禁止破坏完整性约束的任何数据库更新。

Insert命令可将数据加载到关系中。例如

Insert into instructor
    values(10211, 'Smith', 'Biology', 66000);

delete命令可从关系中删除元组。

delete from student

注:上述命令将会删除student中所有元组。

drop table命令可以在数据库中删除一个关系

drop table student

注:上述命令将会从数据库中删除student表。

使用alter table命令可以为已有关系添加属性。新属性在关系中所有元组上的属性的值将为null。

alter table r add A D

r是现有关系的名字,A是待添加属性的名字,D是将添加属性的域。而通过

alter table r drop A 

则可以从关系中删除属性。

SQL查询的基本结构

单关系查询

select name
from instructor

上面的代码即为从instructor中查询所有的name,有时候我们想要删掉重复,可加入关键词distinct,例如

select distinct name
from instructor

select子句还可带有算术表达式,例如

select ID, name, dept_name, salary*1.1
from instructor

上面这段代码会返回一个与insructor一样的关系,只是salary属性是原来的1.1倍,注意原关系并不发生改变。

where子句允许我们只需选出那些在from子句的结果关系中满足特定谓词的元组。例如


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值