数据库系统概论|第三章:关系数据库标准语言SQL—课程笔记2

前言

经过前文的简单介绍,初步了解了SQL语言的特点以及基本概念,本文将进行具体代码编写的介绍 ,通过相关实例对于代码进行深度学习与分析。本小节主要介绍关于数据库的建立、表的建立、主码与外码的设置、数据的插入进行展开。

一、数据库的创建与删除

R 复制代码
CREATE DATABASE S_T
DROP DATABASE S_T

上面两行是创建/删除数据库的基本语句,CREATE表示创建,DROP表示删除,而"S-T"位置表示该数据库的名字,用户可以自行设置。

R 复制代码
CREATE DATABASE [S_T_201215]  
ON (
    NAME = N'S_T_201215_dat', 
    FILENAME = N'D:\S_T_201215_dat.mdf' , 
    SIZE = 5, 
    MAXSIZE = 10, 
    FILEGROWTH = 5
) 
LOG ON (
    NAME = N'S_T_201215_log', 
    FILENAME = N'D:\S_T_20151215_log.ldf' , 
    SIZE = 5, 
    MAXSIZE = 20, 
    FILEGROWTH = 2
)
GO

上述代码介绍了数据库比较高级的创建方法,可以在创建过程中对于数据文件(上半部分)以及事务日志文件(下班部分)的存储位置、存储名称、初始大小、最大大小以及每次扩展大小进行详细描述。

上面一段代码的具体含义为:

  • 创建一个名为 S_T_201215 的新数据库。
  • 在 D: 盘下创建一个主数据文件(****.mdf ,初始大小为 5 MB ,最大大小为 10 MB ,每次扩展增长 5 MB
  • 在 D: 盘下创建一个事务日志文件(****.ldf ,初始大小为 5 MB ,最大大小为 20 MB ,每次扩展增长 2 MB

二、基本表的创建与删除

R 复制代码
CREATE TABLE Student
(
  Sno varchar(12),
  Sname varchar(50),
  Sage tinyint,
  Ssex char(2),
)

关于基本表的创建,使用仍然为CREATE 这一语句,"Student"处可以进行自行命名,而括号中的部分便体现了该表中的各个属性,比如属性"Sno" ,它所对应的数据类型为"varchar(12)",不同属性之间用逗号隔开,这样便创建好了一个基本表。

R 复制代码
DROP TABLE Student

关于基本表的删除,仍然采用DROP这一语句,与数据库的建立相同,便不再赘述。

三、基本表的修改

基本表的修改,需要运用ALTER 这一语句,关于基本表的修改,有以下三种情况:增加属性、修改已有属性、删除属性,下面进行逐一分析。

1.增加属性

R 复制代码
ALTER TABLE Student
ADD Sdept char(20),Sid varchar(18)

增加属性使用ADD 这一语句,在使用过程中,直接在ADD后面输入需要增加的属性名称与其所对应的数据类型 。如上所示,便是++添加数据类型为"char(20)"的Sdept属性以及数据类型为"varchar(18)"的Sid属性。++

2.修改已有属性

R 复制代码
ALTER TABLE Student
ALTER COLUMN Sno varchar(16) not null

修改已有属性时,要注意运用ALTER COLUMN 这一语句,然后在其后面输入待修改的属性名称以及修改后的定义即可。如上所示,便是将原来++添加数据类型为"varchar(12)"的Sno属性修改为数据类型为"varchar(16)",并要求非空。++

3.删除属性

R 复制代码
ALTER TABLE Student
DROP COLUMN Sid

删除属性操作较为简单,直接运用DROP COLUMN 语句,将待删除属性名称输入即可。如上所示,便是将原来++Sid属性删除。++

四、主码/外码的设置

关于主码/外码的设置,其实是对于基本表参照完整性的设置,其本质还是在对基本表进行修改,所以还是要使用ALTER语句。

1.主码的设置

R 复制代码
ALTER TABLE Student
ADD CONSTRAINT PK__Student PRIMARY KEY (Sno)

设置主码,相当于进行增加限制,因此采用ADD CONSTRAINT 语句,然后PK__Student PRIMARY KEY 表示为该基本表设置主码**。** 如上所示,便是将++Sno属性设置为Student基本表的主码/主键。++

2.外码的设置

设置外码之前,我们首先创建另一个基本表SC

R 复制代码
CREATE TABLE SC
(
  Sno varchar(12) not null,
  Cno varchar(10) not null,
  Grade int,
)
go

ALTER TABLE SC
ADD CONSTRAINT PK__SC PRIMARY KEY (Sno,Cno)
go

上述代码创建了一个包含属性Sno、Cno、Grade 三个属性的基本表SC ,同时设置Sno、Cno共同作为主码

R 复制代码
ALTER TABLE SC
ADD CONSTRAINT FK__SC__Sno FOREIGN KEY (Sno) REFERENCES Student (Sno)

外码的设置代码较为复杂,同样还是ADD CONSTRAINT 语句,FK__SC__Sno FOREIGN KEY 表示设置外码,而后面的REFERENCES 表述外码的数据源来自于哪个基本表。如上所示,便是将++Sno属性设置为SC基本表的外码,被参照表是Student。即,SC中的Sno属性的数据源来自于Student中的Sno属性。++

五、数据的插入

关于数据的插入,使用INSERT语句,下面介绍三种插入方法。

R 复制代码
INSERT Student(Sno,Sname,Sage,Ssex,Sdept)
VALUES('201212121','李勇',20,'男','CS')

INSERT Student
VALUES('201215122','刘晨',19,'女','MA')

INSERT Student(Sno,Sname)
VALUES('201212123','王敏')

基本表中数据的插入操作较为简单,直接在INSERT 语句后添加待插入基本表的名字,同时按照设置的属性顺序逐一放入数据,注意数据类型的对应性 ,此外,若只是插入部分属性 ,则应该表明插入的属性的名称,达到部分插入的效果。

相关推荐
周胡杰7 分钟前
鸿蒙arkts使用关系型数据库,使用DB Browser for SQLite连接和查看数据库数据?使用TaskPool进行频繁数据库操作
前端·数据库·华为·harmonyos·鸿蒙·鸿蒙系统
wkj00110 分钟前
navicate如何设置数据库引擎
数据库·mysql
赵渝强老师13 分钟前
【赵渝强老师】Oracle RMAN的目录数据库
数据库·oracle
暖暖木头15 分钟前
Oracle注释详解
数据库·oracle
御控工业物联网32 分钟前
御控网关如何实现MQTT、MODBUS、OPCUA、SQL、HTTP之间协议转换
数据库·sql·http
wuxuanok34 分钟前
Web后端开发-请求响应
java·开发语言·笔记·学习
诗句藏于尽头1 小时前
内网使用rustdesk搭建远程桌面详细版
笔记
蜡笔小电芯1 小时前
【C语言】指针与回调机制学习笔记
c语言·笔记·学习
丰锋ff1 小时前
瑞斯拜考研词汇课笔记
笔记
GJCTYU2 小时前
spring中@Transactional注解和事务的实战理解附代码
数据库·spring boot·后端·spring·oracle·mybatis