数据库作业3
10. 创建表的 SQL 语句
(1)图书表
CREATE TABLE 图书 (
书号 NCHAR(6) PRIMARY KEY,
书名 NVARCHAR(30) NOT NULL,
作者名 CHAR(10) NOT NULL,
出版日期 SMALLDATETIME,
价格 DECIMAL(4,1)
);
(2)书店表
CREATE TABLE 书店 (
书店编号 NCHAR(6) PRIMARY KEY,
店名 NVARCHAR(30) NOT NULL,
电话 CHAR(8),
地址 VARCHAR(40),
邮政编码 CHAR(6)
);
(3)图书销售表
CREATE TABLE 图书销售 (
书号 NCHAR(6) NOT NULL,
书店编号 NCHAR(6) NOT NULL,
销售日期 SMALLDATETIME NOT NULL,
销售数量 TINYINT CHECK (销售数量 >= 1),
PRIMARY KEY (书号, 书店编号, 销售日期),
FOREIGN KEY (书号) REFERENCES 图书(书号),
FOREIGN KEY (书店编号) REFERENCES 书店(书店编号)
);
后续操作:
- 添加“印刷数量”列
ALTER TABLE 图书 ADD 印刷数量 INT CHECK (印刷数量 >= 1000); - 删除“邮政编码”列
ALTER TABLE 书店 DROP COLUMN 邮政编码;
11. 修改“销售数量”列的数据类型
ALTER TABLE 图书销售
ALTER COLUMN 销售数量 INT;
12. SQL 语言的功能
SQL 语言的主要功能包括:
- 数据定义(DDL):定义或修改数据库结构(如
CREATE,ALTER,DROP)。 - 数据操作(DML):插入、更新、删除数据(如
INSERT,UPDATE,DELETE)。 - 数据查询(DQL):检索数据(如
SELECT)。 - 数据控制(DCL):管理权限(如
GRANT,REVOKE)。
用户修改已有数据的操作:
- 通过
UPDATE语句实现,例如:UPDATE 表名 SET 列名 = 新值 WHERE 条件;
13. 数据查询
数据查询是 SQL 的核心功能,通过 SELECT 语句实现复杂操作:
- 多表连接:使用
JOIN关联多表数据。SELECT 图书.书名, 书店.店名 FROM 图书销售 JOIN 图书 ON 图书销售.书号 = 图书.书号 JOIN 书店 ON 图书销售.书店编号 = 书店.书店编号; - 聚合函数:统计汇总(如
SUM,AVG,COUNT)。SELECT 书号, SUM(销售数量) AS 总销量 FROM 图书销售 GROUP BY 书号; - 子查询:嵌套查询结果。
SELECT 书名 FROM 图书 WHERE 书号 IN (SELECT 书号 FROM 图书销售 WHERE 销售数量 > 100);
总结
- 表定义需明确主键、外键、非空约束等完整性规则。
- 修改表结构使用
ALTER TABLE,注意数据类型兼容性。 - SQL 语言功能全面,覆盖数据库的增删改查及权限管理。
浙公网安备 33010602011771号