实验2  SQL Server 表操作
一、实验目的
 1.了解表设计和表结构相关知识。
 2.掌握管理工具创建、修改、查看和删除表的方法。
 3.掌握T-SQL语句创建、修改、查看和删除表的方法。
 4.了解表和数据库的关系。
 二、实验要求
 1.创建好的“网上购物系统”数据库eshop中的members表、products表和orders表。
 members表
members表
| 列名 | 数据类型 | 允许Null值 | 约束 | 说明 | 
|---|---|---|---|---|
| m_account | VARCHAR(20) | 不允许 | 主键 | 会员帐号 | 
| m_name | VARCHAR(20) | 不允许 | 姓名 | |
| m_sex | CHAR(2) | 允许 | 性别 | |
| m_birth | DATETIME | 允许 | 出生日期 | |
| m_address | VARCHAR(50) | 允许 | 家庭地址 | |
| m_salary | MONEY | 允许 | 月薪 | |
| m_password | VARCHAR(20) | 允许 | 密码 | 
products表
| 列名 | 数据类型 | 允许Null值 | 约束 | 说明 | 
|---|---|---|---|---|
| p_no | CHAR(10) | 不允许 | 主键 | 商品编号 | 
| p_name | VARCHAR(30) | 不允许 | 商品名 | |
| p_date | DATETIME | 允许 | 商品生产日期 | |
| p_quantity | INT | 允许 | 商品数量 | |
| p_price | MONEY | 允许 | 商品价格 | |
| p_information | VARCHAR(50) | 允许 | 会员薪水 | 
orders表
| 列名 | 数据类型 | 允许Null值 | 约束 | 说明 | 
|---|---|---|---|---|
| m_account | VARCHAR(20) | 不允许 | 主键 | 会员帐号 | 
| p_no | CHAR(10) | 不允许 | 主键 | 商品编号 | 
| o_quantity | INT | 允许 | 商品总额 | |
| o_date | DATETIME | 允许 | 订购日期 | |
| o_confirm_state | CHAR(1) | 允许 | 确认 | |
| o_pay_state | CHAR(1) | 允许 | 付款 | |
| o_send_state | CHAR(1) | 允许 | 发货 | 
三、实验步骤
 1.在eshop数据库中创建表会员表members,SQL代码如下所示:
USE eshop
CREATE TABLE members(
m_account VARCHAR(20) NOT NULL PRIMARY KEY,
m_name  VARCHAR(20) NOT NULL,
m_sex CHAR(2) NULL,
m_birth DATETIME NULL,
m_address  VARCHAR(50) NULL,
m_salary MONEY NULL,
m_password VARCHAR(20) NULL
)
2.查看members表的相关信息,SQL代码如下所示:
SELECT * FROM members
3.在members表中新增一列电子邮件m_mail(VARCHAR,20),SQL代码如下所示:
USE eshop
ALTER TABLE members
ADD m_mail VARCHAR(20) NULL
4.将members表中的现有列m_address修改为(VARCHAR,30),SQL代码如下所示:
ALTER TABLE members
ALTER COLUMN m_address VARCHAR(30)
5.删除步骤3中所建列m_mail,SQL代码如下所示:
ALTER TABLE members
DROP COLUMN m_mail
6.删除表members,SQL代码如下所示:
DROP TABLE members
7.应用管理工具完成步骤1-6,并与T-SQL操作进行比较。
管理工具这里不再演示
8.在eshop数据库中按要求创建表会员表members,SQL代码如下所示:
USE eshop
CREATE TABLE members(
m_account VARCHAR(20) NOT NULL PRIMARY KEY,
m_name  VARCHAR(20) NOT NULL,
m_sex CHAR(2) NULL,
m_birth DATETIME NULL,
m_address  VARCHAR(50) NULL,
m_salary MONEY NULL,
m_password VARCHAR(20) NULL
)
9.在eshop数据库中按要求创建表商品表products,SQL代码如下所示:
USE eshop
CREATE TABLE products(
p_no  CHAR(10) NOT NULL PRIMARY KEY,
p_name   VARCHAR(30) NOT NULL,
p_date DATETIME NULL,
p_quantity INT NULL,
p_price  VARCHAR(50) NULL,
p_information VARCHAR(50) NULL
)
10.在eshop数据库中按要求创建表订单表orders,SQL代码如下所示:
USE eshop
CREATE TABLE orders(
m_account   VARCHAR(20) NOT NULL PRIMARY KEY,
p_no   CHAR(10) NOT NULL,
o_quantity INT NULL,
o_date  DATETIME NULL,
o_confirm_state  CHAR(1) NULL,
o_pay_state CHAR(1) NULL,
o_send_state CHAR(1) NULL
)