网站开发 前端 后端,网站淘客宝怎么做,wordpress婚恋网模板,网站开发产品设计书一、SQL语句
1.1 SQL语句知识引入
1.DDL语言(数据定义语言#xff09;主要是进行定义/改变表的结构、数据类型、表之间的链接等操作#xff0c;关键字CREATE、DROP、ALTER CREATE TABLE 表面( 列名1 数据类型#xff0c; 列名2 数据类型#xff0c; ) ALTER TABLE 表名主要是进行定义/改变表的结构、数据类型、表之间的链接等操作关键字CREATE、DROP、ALTER CREATE TABLE 表面( 列名1 数据类型 列名2 数据类型 ) ALTER TABLE 表名 eg: ALTER TABLE 表名 ADD 列名 数据类型添加一个列 ALTERTABLE 表名 CHANGE 列名 新列名 新数据类型修改列名 ALTER TABLE 表名 DROP 列名
DROP TABLE 表名 DROP DATABASE 数据库表名
2.DML语句(Data Manipulation Language)数据操作语言), 主要是对数据进行增加、删除、修改操作。常用的语句关键字有INSERT、UPDATE、DELETE等。
DDL和DML的区别一个是名称的区别另一个是DDL针对的是数据库内部的对象进行创建、删除、修改操作DML只是对表内部数据进行操作不涉及到表的定义、结构的修改、不涉及其他对象 INSERT INTO 表名字段1字段2values (某值某值), (某值,某值); UPDATE 表名 SET 列名新值 WHERE 限定条件 DELETE FROM 表名 WHERE 限定条件
3.DQL语句 DQL(Data Query Language)语句数据查询语言主要是对数据进行查询操作。常用关键字有SELECT、FROM、WHERE
4.DCL语句(数据控制语言),主要是用来设置/更改数据库用户权限。常用关键字有GRANT、REVOKE等一般人员很少用到DCL语句。 GRANT (授权 REVOKE取消权限
1.2 SqlServer 题目及作答过程
四、求解应用题本大题共 2 小题共 30 分 一个田径运动会数据库系统中有 3 个关系运动员运动员编号姓名年龄性别单位运动项目名称比赛时间比赛地点最高纪录参加运动员编号名称比赛成绩 其中下划线标识为关系模式的主码。 1更改运动员表结构取消单位不允许为空的约束其中单位数据类型为 char(20)2分 ALTER TABLE 运动员 ALTER COLUMN 单位 char(20) NULL. 2按照运动员编号升序运动项目名称降序为参加表建立唯一性索引 idx_cj。2 分 CREATE UNIQUE INDEX idx_cj ON 参加(运动员编号 ASC, 名称 DESC); 3创建一个名称为 PRO_Myselect 存储过程该存储过程的功能为用于根据运动员编号查询该运动员的比赛信息并利用该存储过程查询运动员编号为“y00010”的比赛信息。要求运动员编号定义为bh类型是 nvarchar(10)3 分
注意这道题两问后面还要求写出查询 CREATE PROCEDURE PRO_Myselect bh nvarchar(10) AS //来引入存储过程的主体部分并使用BEGIN和END来定义存储过程的开始和结束 BEGIN SELECT * FROM 参加 AS c INNER JOIN 运动项目 AS p ON c.名称 p.名称 WHERE c.运动员编号 bh END
EXEC PRO_MySelect bh y00010
注意这里是INNER JOIN 我当时学的是MySql所以一般JOIN ON 但是在SqlServer中不一样默认加INNER JOIN ON 4删除运动员编号为“bh0010”的比赛信息。3 分
DELETE FROM 参加 WHERE 运动员编号 bh0010; 5查询年龄大于 40 岁的运动员所在单位。3 分
SELECT 单位 FROM 运动员 WHERE 年龄 40 6查询在 2021 04 24 比赛运动项目名称中包含“100 米”的运动项目名称及最高纪录。 4 分
SELECT 名称最高纪录 FROM 运动项目 WHERE 比赛时间 2021-0-24 AND 运动员项目名称 LIKE %100米% 7创建视图 view_cj运动员编号姓名运动项目名称比赛成绩4 分
CREATE VIEW view_cj AS SELECT 运动员.运动员编号, 运动员.姓名, 参加.名称 AS 运动项目名称, 参加.比赛成绩 FROM 运动员 JOIN 参加 ON 运动员.运动员编号 参加.运动员编号; 8查询参加运动项目最多的运动员编号。5 分
SELECT TOP 1 运动员编号 FROM 参加 GROUP BY 运动员编号 ORDER BY COUNT(*) DESC;