《数据库系统概论》SQL语言篇 (第5版 王珊 萨师煊 编著)

本文详细介绍了SQL语言的基础概念,包括模式的定义与删除、表的创建、修改和删除、索引的创建和删除、数据查询、数据更新、视图以及授权等。通过对SQL的学习,读者可以掌握关系数据库的标准操作,适用于如MySQL、SQL Server、Oracle等常见数据库系统。
摘要由CSDN通过智能技术生成

结构化查询语言SQL是关系数据库的标准语言,也是一个通用的、功能极强的关系数据库语言。常见的关系数据库如MySql 、SQL Server、Oracle等都使用了SQL语法,学习SQL对掌握常见数据库有很大帮助。

#主要内容

1、模式的定义与删除
2、表的创建、修改和删除
3、索引的创建和删除
4、数据查询
5、数据更新(插入、更新、删除)
6、视图
7、授权

语法符号含义:

  1. <> 必选内容
  2. [] 可选内容
  3. | 多选一

一、模式的定义与删除

1、创建模式

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

没有指定模式名,则模式名隐含为用户名。创建模式时该用户需要有权限。
例题:为用户WANG创建一个模式S-T。

  1. create schema “S-T” authorization WANG;

  2. create schema authorization WANG;
    没有指明模式名,隐含为用户名WANG。

2、删除模式

drop schema <模式名> < cascade | restrict >;

cascade:级联删除,删除模式的同时删除该模式的所有数据库对象。
restrict:限制删除,如果该模式定义了表、视图等下属对象,则拒绝执行该条删除语句。

3、创建模式时可以同时创建模式下属的表、视图和进行授权

create schema <模式名> authorization <用户名> [<表创建语句> | <视图创建语句> | <授权语句>]

例题:为用户WANG创建一个 TEST 模式,并且在模式中创建一个表TAB。

create schema TEST authorization WANG
create table TAB(
column1 int,
column2 char(20)
);

二、表的创建、修改和删除

1、表的常见数据类型

  1. char(n) :长度为n的定长字符串。
  2. varchar(n) :最大长度为n的变长字符串。
  3. smallint :短整数,2字节
  4. int :长整数,4字节。
  5. float(n) :可选精度的浮点数,精度至少为n位数。
  6. numeric(p,d) :定点数,由 p 位数组成(不包括符号、小数点),小数点后有 d 位数字。
  7. boolean :布尔类型。
  8. date :日期,格式为 年-月-日(YYYY-MM-DD)。
  9. time :时间,格式为 时-分-秒(HH:MM:SS)。

2、表的常见列级完整性约束条件

  1. not null :列值不为空。
  2. unique :列值唯一,如学生学号。
  3. check (语句) :列值要满足相应条件,如性别只能选男/女。
  4. primary key :列值为主码。

3、表的常见表级完整性约束条件

  1. primary key( 列1,列2,…,列n ):主码由列 1 至列 n 组成。
  2. foreign key (列名) references <参照的表名>(列名):外码参照了某表。

4、创建表

create table <表名>
(<列名> <数据类型> [列级完整性约束条件]
[,<列名> <数据类型> [列级完整性约束条件] ]

[,<表级约束条件> ]
);

例题:创建学生选课表SC

create table SC
( Sno char(9),
Cno char(4),
Ssex char(2),
Grade int,
primary key (Sno,Cno),
foreign key(Sno) references Student(Sno),
foreign key(Cno) references Course(Cno)
);

create table SC
( Sno char(9) unique,
Cno char(4) unique not null,
Ssex char(2) check (Ssex in(‘男’,‘女’) ),
Grade samllint check (Grade >= 0 and Grade <= 100),
foreign key(Sno) references Student(Sno),
foreign key(Cno) references Course(Cno)
);

该表约束说明&#x

  • 1
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值