完成任务二,给出代码示例
时间: 2024-10-20 10:03:56 浏览: 20
为了完成任务二,你需要按照以下步骤进行操作:
### 创建数据库 `SalesManage`
```sql
CREATE DATABASE SalesManage
ON PRIMARY (
NAME = 'SalesManage_Data',
FILENAME = 'D:\案例库\SalesManage.mdf', -- 假设“案例库”文件夹位于D盘
SIZE = 10MB,
MAXSIZE = 50MB,
FILEGROWTH = 5%
)
LOG ON (
NAME = 'SalesManage_Log',
FILENAME = 'D:\案例库\SalesManage_log.ldf',
SIZE = 2MB,
MAXSIZE = 5MB,
FILEGROWTH = 1MB
);
GO
```
### 创建数据表
#### 销售信息表 `SaleInfo`
```sql
USE SalesManage;
GO
CREATE TABLE SaleInfo (
SaleID INT PRIMARY KEY,
MerChID INT,
SaleDate DATETIME,
SaleNum INT,
SalePrice DECIMAL(10, 2)
);
```
#### 库存信息表 `StockInfo`
```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)
);
```
#### 会员信息表 `MemberInfo`
```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数据
假设你已经有一个名为“学生成绩信息.xlsx”的Excel文件,其中包含学生成绩数据。首先,需要创建目标表 `S_Grade`,然后使用 `BULK INSERT` 或 `OPENROWSET` 将数据从Excel导入到SQL Server。
#### 创建 `S_Grade` 表
```sql
CREATE TABLE S_Grade (
sno CHAR(12),
sname VARCHAR(20),
sclass VARCHAR(20),
grade INT
);
```
#### 使用 `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;Database=D:\路径\学生成绩信息.xlsx;HDR=YES',
'SELECT * FROM [Sheet1$]');
```
#### 验证导入是否成功
```sql
SELECT COUNT(*) AS RowCount
FROM S_Grade;
```
请确保在执行上述SQL语句时,路径和文件名正确无误,并且SQL Server有权限访问这些文件。将以上代码保存在Word文档中并提交。
阅读全文