2026-10-22 16:26:48
2025国家开放大学MySQL数据库应用形考实验训练1-4的答案需结合实际操作完成,以下为各实验的核心步骤与关键代码示例:
实验训练1:创建数据库和表安装与配置MySQL
下载MySQL社区版安装包,按向导完成安装。
配置环境变量(如PATH包含MySQL的bin目录)。
启动MySQL服务(通过命令行net start mysql或系统服务管理工具)。
创建数据库
CREATE DATABASE Shopping;USE Shopping;创建表(示例:商品表products)
CREATE TABLE products ( product_id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100) NOT NULL, price DECIMAL(10,2) CHECK (price > 0), stock INT DEFAULT 0, category_id INT, FOREIGN KEY (category_id) REFERENCES categories(category_id));其他表(如orders、customers)需按实验要求定义字段、主键、外键等。
管理表
查看表结构:DESCRIBE products;
修改表:ALTER TABLE products ADD COLUMN description TEXT;
删除表:DROP TABLE IF EXISTS products;
单表查询
查询商品名称为“挡风玻璃”的信息:
SELECT * FROM products WHERE name = '挡风玻璃';查询ID为1的订单:
SELECT * FROM orders WHERE order_id = 1;多条件查询
查询促销且价格小于1000的商品:
SELECT * FROM products WHERE is_promotion = 1 AND price < 1000;聚合函数与分组
查询每个用户的消费总金额:
SELECT customer_id, SUM(total_amount) FROM orders GROUP BY customer_id;查询每天的销售额:
SELECT DATE(order_date) AS day, SUM(total_amount) FROM orders GROUP BY day;连接查询
内连接查询订单发出者名字:
SELECT o.order_id, c.name FROM orders o JOIN customers c ON o.customer_id = c.customer_id;左外连接查询所有用户及其评论:
SELECT c.customer_id, co.comment_text FROM customers c LEFT JOIN comments co ON c.customer_id = co.customer_id;插入数据
单记录插入:
INSERT INTO products (name, price, stock) VALUES ('轮胎', 500.00, 20);批量插入(通过SELECT):
INSERT INTO products (name, price, stock)SELECT name, price, stock FROM temp_products;删除数据
条件删除:
DELETE FROM orders WHERE order_date < '2025-01-01';清空表:
TRUNCATE TABLE comments;修改数据
更新商品价格:
UPDATE products SET price = price * 0.9 WHERE category_id = 1;用户与权限管理
创建用户:
CREATE USER 'Teacher'@'localhost' IDENTIFIED BY 'T99999';CREATE USER 'Student'@'localhost' IDENTIFIED BY 'S11111';授权:
GRANT SELECT, INSERT, DELETE, UPDATE ON Shopping.* TO 'Teacher'@'localhost';GRANT SELECT ON Shopping.* TO 'Student'@'localhost';备份与恢复
备份数据库:
mysqldump -u root -p Shopping > Shopping_backup.sql恢复数据库:
mysql -u root -p Shopping < Shopping_backup.sql数据导入导出
导出会员表为CSV:
SELECT * INTO OUTFILE '/tmp/customers.csv'FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'FROM customers;导入数据:
LOAD DATA INFILE '/tmp/customers.csv' INTO TABLE customers FIELDS TERMINATED BY ',' LINES TERMINATED BY 'n';提示:实际答案需根据实验手册中的表结构、字段名及具体要求调整SQL语句,以上仅为通用示例。