完成任务二,使用SQL给出代码示例
时间: 2024-10-20 22:04:05 浏览: 22
SQL注入原理与解决方法代码示例
为了完成任务二,即创建进销存管理系统数据库和表,并进行相关修改,以下是详细的SQL代码示例:
### 创建数据库
```sql
-- 创建 SalesManage 数据库
CREATE DATABASE SalesManage
ON PRIMARY (
NAME = 'SalesManage_Data',
FILENAME = 'D:\案例库\SalesManage.mdf', -- 物理地址设置在“案例库文件夹”
SIZE = 10MB,
MAXSIZE = 50MB,
FILEGROWTH = 5%
)
LOG ON (
NAME = 'SalesManage_Log',
FILENAME = 'D:\案例库\SalesManage_log.ldf',
SIZE = 2MB,
MAXSIZE = 5MB,
FILEGROWTH = 1MB
);
GO
```
### 使用新创建的数据库
```sql
USE SalesManage;
GO
```
### 创建数据表
#### 销售信息表
```sql
CREATE TABLE SaleInfo (
SaleID INT PRIMARY KEY,
MerchID INT,
SaleDate DATETIME,
SaleNum INT,
SalePrice DECIMAL(10, 2)
);
```
#### 库存信息表
```sql
CREATE TABLE StockInfo (
StockID INT PRIMARY KEY,
MerchID INT,
MerchNum INT,
MerchPrice DECIMAL(10, 2),
TotalPrice DECIMAL(10, 2),
StockDate DATETIME,
StockState VARCHAR(50)
);
```
#### 会员信息表
```sql
CREATE TABLE MemberInfo (
MemberCard VARCHAR(50) PRIMARY KEY,
TotalCost DECIMAL(10, 2),
RegDate DATETIME
);
```
### 修改会员信息表,增加会员生日
```sql
ALTER TABLE MemberInfo
ADD Birthdate DATE;
```
### 修改库存信息表,删除计划进货日期
```sql
ALTER TABLE StockInfo
DROP COLUMN PlanDate;
```
### 导入Excel数据
假设Excel文件路径为 `D:\案例库\学生成绩信息.xlsx`,并且使用 `bcp` 工具或 `OPENROWSET` 方法来导入数据。
#### 使用 `OPENROWSET` 方法
首先,确保已启用 `Ad Hoc Distributed Queries`:
```sql
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
```
然后,使用 `OPENROWSET` 导入数据:
```sql
INSERT INTO S_Grade (sno, sname, sclass, grade)
SELECT sno, sname, sclass, grade
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;HDR=YES;Database=D:\案例库\学生成绩信息.xlsx',
'SELECT * FROM [Sheet1$]');
```
### 验证导入是否成功
```sql
SELECT COUNT(*) AS RowCount
FROM S_Grade;
```
以上代码示例涵盖了任务二的所有要求,包括创建数据库、创建数据表、修改表结构以及导入Excel数据并验证导入结果。希望这些代码对你有所帮助。
阅读全文