百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

SQL基本语句练习(基础版)

wptr33 2025-08-03 08:48 2 浏览

最近在学习SQL基本语句的练习,在此分享一下笔者做过的练习以及个人的解决教程:

首先是基本练习表格的搭建,具体内容如下表所示:


Snum

Sname

Ssex

Sage

Sphone

Dname

S001

王明

19

86824571

数学系

S002

李勇

23

89454321

物理系

S003

刘燕

21


计算机系

S004

王萍

23


电子系

S005

王佳

24

13098765892

计算机系

S006

赵婷

20


物理系

学生表

Snum

Cnum

Score

S001

C1

83

S001

C2

89

S001

C3

NULL

S001

C4

85

S001

C5

69

S002

C3

78

S002

C4

75

S003

C1

85

S004

C2

NULL

S005

C1

92

S005

C3

76

选课表

Cnum

Cname

Cfreq

C1

数据库系统原理

4

C2

C程序设计

4

C3

计算机体系结构

3

C4

自动控制原理

2

C5

数据结构

4

课程表


建立以上表格框架的代码如下:

--创建数据表的基本数据--
USE 学生选课; 
CREATE TABLE 学生(Snum CHAR(4) NOT NULL UNIQUE,
Sname VARCHAR(8) NOT NULL,
Ssex CHAR(2),
Sage SMALLINT DEFAULT 21,
Sphone VARCHAR(20),
Dname VARCHAR(20),
PRIMARY KEY(Snum),
CONSTRAINT C1 CHECK(Ssex IN ('男','女')));
CREATE TABLE 课程(Cnum CHAR(2) PRIMARY KEY,
Cname VARCHAR(20) NOT NULL,
Cfreq NUMERIC(2,1)
CONSTRAINT C2 CHECK(Cfreq BETWEEN 0 AND 10));
CREATE TABLE 选课(Snum CHAR(4),
Cnum CHAR(2),
Score SMALLINT,
PRIMARY KEY(Snum,Cnum),
CONSTRAINT C3 CHECK(Score BETWEEN 0 AND 100),
CONSTRAINT C4 FOREIGN KEY(Snum) REFERENCES 学生(Snum),
CONSTRAINT C5 FOREIGN KEY(Cnum) REFERENCES 课程(Cnum));

给出相应的INSERT语句来完成题中给出的数据的插入,如:

--INSERT模板语句--
--INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)--
INSERT INTO 学生 (Snum, Sname,Ssex,Sage,Sphone,Dname) 
VALUES ('S001','王明','男','19','86824571','数学系');

具体完成以下例题。将它们转换为SQL语句表示,在学生选课库中实现其数据更新操作
1)将一新学生记录(‘S007’,’陈冬’,’男’,’18’,’13600524567’,’计算机系’)插入学生表中
2)插入一条选课记录(‘S002’,’C1’)到选课表中
3)对每一个系,求学生的平均年龄,并把结果存入数据库
4)将学生S001的年龄改为22岁
5)将所有学生的年龄增加一岁
6)将计算机系全体学生的成绩置零
7)删除学号为S006的学生记录
8)删除计算机系所有学生的选课记录
9)删除所有的学生选课记录
10)在已经存在的学生表中增加一个邮件地址“Email”的新属性列,允许为空
11)修改学生表中“姓名”的数据类型为VARCHAR(20)

以下是SQL语句基本语法的使用

--SELECT 语句用于从表中选取数据--
--结果被存储在一个结果表中--
SELECT 列名称 FROM 表名称
SELECT * FROM 表名称
--WHERE 子句作为SELECT 语句的条件标准--
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值

下面的运算符可在 WHERE 子句中使用,同时WHERE语句中还可以配合AND&OR运算符进行进一步地设置条件条件


操作符

描述

=

等于

<>

不等于

>

大于

<

小于

>=

大于等于

<=

小于等于

BETWEEN

在某个范围内

LIKE

搜索某种模式


以下是增删改的基本语法

--INSERT INTO 语句用于向表格中插入新的行--
INSERT INTO 表名称 VALUES (值1, 值2,....)
--也可以指定所要插入数据的列--
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
--DELETE 语句用于删除表中的行--
DELETE FROM 表名称 WHERE 列名称 = 值
--Update 语句用于修改表中的数据--
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
--ALTER TABLE 语句用于在已有的表中添加、修改或删除列--
--在表中添加列--
ALTER TABLE table_name
 ADD column_name datatype
--删除表中的列--
ALTER TABLE table_name 
DROP COLUMN column_name
-部分不支持DROP操作系统请这样操作--
ALTER TABLE table_name ALTER COLUMN column_name datatype

最后为笔者的示例代码,仅供参考:

--(1)--
Insert Into 学生(Snum,Sname,Ssex,Sage,Sphone,Dname)
values('S007','陈冬','男','18','13600524567','计算机系');
--(2)--
Insert Into 选课(Snum,Cnum)
values('S002','C1');
--(3)--
Create Table 院系(Dname Varchar(20),AverageAge Smallint);
Insert into 院系 select Dname,avg(Sage) as AverageAge from 学生 group by Dname;
--(4)--
update 学生 set Sage = 22 where Snum = 'S001';
--(5)--
update 学生 set Sage = Sage + 1;
--(6)--
update 选课 set Score = 0 
where Snum in (select Snum from 学生 where Dname = '计算机系')
--(7)--
Delete from 学生 where Snum = 'S006';
--(8)--
Delete from 学生;
--(9)--
Delete from 学生 where Dname = '计算机系';
--(10)--
alter table 学生 alter column Email varchar(20) null;
--(11)--
alter table 学生 alter column Sname varchar(20);

相关推荐

MySql系列-常用命令

本篇是对...

Record.ToTable 格式转换

本期案例对表格格式进行转换,前后转换效果如下:解题套路1.Record.ToTable解题思路:思路就是构造可以透视的样式。使用Record.ToTable对行记录进行转换,获得包含两列的表,首行可以...

Table.Group 按时期累计计算唯一值

本期案例是根据不同id进行汇总统计:组内,相同日期的为一组,统计“from”、“to”中的非重复个数;连续日期的,统计累计数。前后转换效果如下:解题套路1.Table.Group...

MySQL 9.1正式发布,有哪些值得关注的新特性?

MySQL创新版9.1.0于2024年10月15日正式发布。此外,MySQL8.0.40及8.4.3补丁版本也同时发布。8.4.3是目前MySQL的LTS长期支持版本,该版本中将不会增加新的功能与特性...

SQL基本语句练习(基础版)

最近在学习SQL基本语句的练习,在此分享一下笔者做过的练习以及个人的解决教程:首先是基本练习表格的搭建,具体内容如下表所示:...

SQL 从入门到精通:全面掌握数据库操作

学习SQL(StructuredQueryLanguage)是掌握数据库操作的关键步骤。SQL是一种用于管理和处理关系型数据库的标准语言,广泛应用于数据检索、插入、更新和删除等操作。以下是一些...

ClickHouse学习笔记四ClickHouse基础语法

前言这里我们介绍ClickHouse的基本语法,使用环境是腾讯云的ClickHouse。默认情况下,ClickHouse在进行集群纬度执行建表等DDL操作时需要手动添加ONCLUSTERX...

程序员总结的常用sql语句大全

多年经验程序员总结的我们一般需要使用的sql语句,赶快收藏起来,方便以后使用。以下是一些常用的SQL语句及其用法:一、数据定义语言(DDL)创建库CREATEDATABASE:创建一个新数据库。...

PQ03-分组求和

目标已知:销售清单求:每个销售员的销量合计方法数据准备...

好荐:一款数据库元数据管理平台工具

“元数据”的定义在不同的软件、项目、工程的定义范围都不太一样。本文这里指的是软件项目开发使用的数据库表结构信息。我今天介绍的这个开源项目叫Databasir,它是一个面向团队的关系型数据库模型文档管理...

MySQL 8.0 SQL优化黑科技,面试官都不一定知道!

前言提到SQL优化,大多数人想到的还是那些经典套路:建索引、避免全表扫描、优化JOIN顺序…这些确实是基础,但如果你还停留在MySQL5.7时代的优化思维,那就out了。MySQL8.0已经发布好...

MySQL数据库深度优化指南:从基础到架构层面的20个关键策略

一、核心性能优化原则数据最小化原则...

动物源性食品中兽药残留的检测——喹啉类药物残留

喹啉类药物(quinoxaline)是具有喹啉-N1,N4-二氧化物基本结构的一类化学合成的动物专用药,具有广谱抗菌、提高饲料转化率和促生长作用。1965年德国拜耳公司以邻硝基苯胺为原料合成喹乙醇(o...

适合普通开发者和产品经理的PHP应用模板开发AI的SaaS应用框架

简单到傻!Liang_SaaS适合普通开发者和产品经理的PHP应用模板开发AI的SaaS应用框架,利用Php开发AI的SaaS应用框架,是一个强大的内容管理仪表板模板,基于Bootstrap和...

Power Query 交错合并表格的方法

两张表格合并成一张表格,需要交错排列,表1取一行,表2取一行,这样排列在一起:前提是两张表的行数相同,内容排列顺序相同:我们来看两张表:表1:12列10行表2:11列10行行数相同列数不同,我们在数据...