--创建库storeexpm
CREATE DATABASE storeexpm
ON PRIMARY
(
NAME='storeexpm',
FILENAME='D:\My_data\storeexpm.mdf',
SIZE=5MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=1MB
)
LOG ON
(
NAME='storeexpm_log',
FILENAME='D:\My_data\storeexpm_log.ldf',
SIZE=5MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=10%
)
创建图上五个表
USE storeexpm
--创建表DeptInfo
CREATE TABLE DeptInfo
(
DeptID varchar(4) NOT NULL PRIMARY KEY,
DeptName varchar(20) NOT NULL
)
--创建表EmplInfo
CREATE TABLE EmplInfo
(
EmplID varchar(4) NOT NULL PRIMARY KEY,
EmplName varchar(8) NOT NULL ,
Sex varchar(2) NOT NULL,
Birthday date NOT NULL,
Native varchar(20) NULL,
Wages decimal(8,2) NOT NULL,
DeptID varchar(4) NULL
)
--创建表OrderInfo
CREATE TABLE OrderInfo
(
OrderID varchar(6) NOT NULL PRIMARY KEY,
Emplno varchar(4) NULL ,
Curstomerno varchar(4) NULL,
Saledate date NOT NULL,
Cost decimal(10,2)
)
--创建表DetailInfo
CREATE TABLE DetailInfo
(
OrderID varchar(6) NOT NULL,
GoodsID varchar(4) NOT NULL,
Saleunitprice decimal(8,2) NOT NULL,
Quantity int NOT NULL,
Total decimal(10,2) NOT NULL,
Discount float NOT NULL,
Discounttotal decimal(10,2) NOT NULL,
PRIMARY KEY(OrderID,GoodsID)
)
--创建表GoodsInfo
CREATE TABLE GoodsInfo
(
GoodsID varchar(4) NOT NULL PRIMARY KEY,
GoodsName varchar(30) NOT NULL,
ClassificationName varchar(16) NOT NULL,
UnitPrice decimal(8,2) NULL,
StockQuantity int NOT NULL
)
数据表的相关操作
--由 EmplInfo 表创建 EmplInfo1 表。
SELECT EmplID, EmplName, Sex, Birthday, Native, Wages, DeptID INTO EmplInfol
FROM EmplInfo
--在EmplInfo表中增加一列Eno,不为空。
ALTER TABLE EmplInfo
ADD Eno varchar(4) NOT NULL
--将EmplInfo1 表的列 Sex的数据类型改为char,可为空。
ALTER TABLE EmplInfo1
ALTER COLUMN Sex char(2) NULL
--在EmplInfo表中删除列Eno。
ALTER TABLE EmpInfo
DROP COLUMN Eno
--删除 EmplInfo1表。
DROP TABLE EmplInfo1
--由 GoodsInfo表创建GoodsInfo1表。
SELECT GoodsID, GoodsName,ClassificationName,UnitPrice,StockQuantity
INTO GoodsInfo1
FROM GoodsInfo
--在GoodsInfo表中增加一列Gno,不为空。
ALTER TABLE GoodsInfo
ADD Gno varchar(4) NOT NULL
--将GoodsInfol表的列 UnitPrice的数据类型改为money。
ALTER TABLE GoodsInfo1
ALTER COLUMN UnitPrice money
--在GoodsInfo表中删除列Gno。
ALTER TABLE GoodsInfo
DROP COLUMN Gno
--删除GoodsInfo1表。
DROP TABLE GoodsInfo1
USE storeexpm
--向EmplInfo表中插入样本数据
INSERT INTO EmplInfo VALUES('E001','刘建新','男','1982-11-05','北京',4300.00,'D001'),
('EO02','程浩','男','1980=04-23','上海',4500.00,'D001'),
('E003','谢琴','女','1985-09-14','四川',3800.00,'D003'),
('E004','胡雪燕','女','1986-02-26','北京',3700.00,'D001'),
('EO05','宋志强','男','1975-10-17','上海',7200.00,'DOO4'),
('E006','夏菊','女','1986-11- 08', NULL, 3600.00,NULL)
--使用SELECT…INTO…语句,将EmplInfo表的记录快速插入EmplInfo1表中
SELECT EmplID, EmplName, Sex, Birthday, Native, Wages, DeptID
INTO EmplInfo1
FROM EmplInfo
--采用3种不同的方法,向EmplInfo2表插入数据
SELECT EmplID, EmplName, Sex, Birthday, Native, Wages, DeptID
INTO EmplInfo2
FROM EmplInfo
--省略列名表,插入记录('EOO1','刘建新','男','1982-11-05','北京',4300.00,'DO01')。
INSERT INTO EmplInfo2 VALUES('EOO1','刘建新','男','1982-11-05','北京',4300.00,'D001')
--不省略列名表,插入员工号为E004、部门号为DO01、籍贯为“北京”、姓名为“胡雪燕”、性别为“女”、出生日期为1986-02-26、工资为3700.00元的记录。
INSERT INTO EmplInfo2(EmplID,DeptID, Native, EmplName, Sex, Birthday, Wages)
VALUES( 'EOO4', 'DO01','北京','胡雪燕','女','1986-02-26',3700.00)
--插入员工号为E007、籍贯为“四川”、姓名为“曾杰”、性别为“男”、出生日期为1987-08-12、工资为3500.00元的记录。
INSERT INTO EmplInfo2(EmplID, Native, EmplName, Sex, Birthday, Wages)
VALUES('EO07','四川','曾杰','男','1987-08-12',3500.00)
--在EmplInfo2表中,将员工曾杰的出生日期改为1988-08-12
UPDATE EmplInfo2
SET Birthday= '1988-08-12'
WHERE EmplName= '曾杰'
--在EmplInfo2表中,将所有员工的工资都增加200元
UPDATE EmplInfo2
SET Wages = Wages + 200
--在EmplInfo2表中,删除员工号为E007的记录
DELETE FROM EmplInfo2
WHERE EmplID ='E007'
--采用两种不同的方法,删除表中的全部记录
--使用 DELETE语句,删除EmplInfol 表中的全部记录。
DELETE FROM EmplInfo1
--使用TRUNCATE语句,删除 EmplInfo2 表中的全部记录。
TRUNCATE TABLE EmplInfo2
--向GoodsInfo表插入样本数据
INSERT INTO GoodsInfo VALUES('1001','Microsoft Surface Pro 7','笔记本计算机',6288.00,'5'),
('1002','DELL XPS13-7390','笔记本计算机',8277.00,'5'),
('2001','Apple iPad Pro','平板计算机',7029.00,'5'),
('3001','DELL PowerEdgeT140','服务器',8899.00,'5'),
('4001','EPSON L565','打印机',1959.00,'10')
--使用INSERT INTO…SELECT.语句,将GoodsInfo表的记录快速插入GoodsInfol 表中
SELECT GoodsID, GoodsName,ClassificationName,UnitPrice,StockQuantity
INTO GoodsInfo1
FROM GoodsInfo
--采用3种不同的方法,向GoodsInfo2表插入数据
SELECT GoodsID, GoodsName,ClassificationName,UnitPrice,StockQuantity
INTO GoodsInfo2
FROM GoodsInfo
--省略列名表,插入记录('1001','Microsoft Surface Pro 7','笔记本计算机,6288,5)。
INSERT INTO GoodsInfo2 VALUES('1001','Microsoft Surface Pro 7','笔记本计算机',6288.00,'5')
--不省略列名表,插入商品号为1002、商品名称为Apple iPad Pro、库存量为5、单价为7029、商品类型为“平板计算机”的记录。
INSERT INTO GoodsInfo2(GoodsID,GoodsName,ClassificationName,StockQuantity)
VALUES('1002','Apple iPad Pro','平板计算机',7029.00,'5')
--插入商品号为3001、商品名称为DELLPowerEdgeT140、商品类型为“服务器”、单价为空、库存量为5的记录。
INSERT INTO GoodsInfo2(GoodsID,GoodsName,ClassificationName,UnitPrice,StockQuantity)
VALUES('3001','DELL PowerEdgeT140','服务器',NULL,'5')
--在GoodsInfol 表中,将商品名称为Microsoft Surface Pro7的类型改为“笔记本平板计算机二合一”
UPDATE GoodsInfo1
SET ClassificationName='笔记本平板计算机二合一'
WHERE GoodsName='Microsoft Surface Pro7'
--在 GoodsInfo1表中,将商品名称为EPSON L565的库存量改为12
UPDATE GoodsInfo1
SET StockQuantity =StockQuantity +2
WHERE GoodsName='EPSON L565'
--在GoodsInfo1表中,删除商品类型为平板计算机的记录
DELETE FROM GoodsInfo1
WHERE ClassificationName='平板计算机'
--采用两种不同的方法,删除表中的全部记录
--使用DELETE 语句,删除GoodsInfol表中的全部记录。
DELETE FROM GoodsInfo1
--使用 TRUNCATE 语句,删除 GoodsInfo2 表中的全部记录。
TRUNCATE TABLE GoodsInfo2