当前位置: 首页 > news >正文

数据库基础知识点(系列五)

创建表,设置约束,修改表,删除表,表中数据的操作(insert,修改,删除)

1.在第5章习题创建的 “仓库库存”数据库中完成下列操作。

(1)创建“商品”表,表结构如表6-4:

 表6-4 “goods”商品表

(2)创建“store”仓库表,表结构如表6-5:

                                    表6-5 “store”仓库表

(3)创建“invent”库存情况表,表结构如表6-6:

表6-6 “invent”库存情况表

 (3)创建“manager”管理员表,表结构如表6-7:

表6-7 “manager”管理员表

答:(1)

USE仓库库存

GO

CREATE TABLE goods

      (gno     char(6)     PRIMARY KEY, //主键

      gname nvarchar(10)  NOT  NULL,  //不能为空值

      price      float     NOT  NULL,

      producer nvarchar(30)  NOT  NULL

    )

CREATE TABLE store

      (stno     char(3)   PRIMARY KEY,

      address nvarchar(30)  NOT  NULL,

      telephone  varchar(11)  check(telephone like '[0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]' ),

      capacity   smallint

     )

CREATE TABLE invent

      (stno   char(3)  foreign key references store(stno),

      gno  char(6)  foreign key references goods(gno),

      number   int,

     primary key(stno,gno)

   )

CREATE TABLE manager

      (mno     char(3)  PRIMARY KEY,

     mname nvarchar(10)  NOT  NULL,

      sex     nchar(1)  check(sex in ('男','女')),

      birthday  date  check(birthday between '19570101' and '20100101'),

      stno  char(3)  foreign key references store(stno)

)

Alter table store

Add check(capacity>=sum(number))

2.建立商品表、仓库表、库存情况表和管理员表四表之间的关系图。

答:略。

3.分别给商品表、仓库表、库存情况表和管理员表添加数据。

答:例如,

INSERT INTO goods VALUES('bx-179','冰箱',3200,'青岛海尔')

   INSERT INTO store VALUES('001','1号楼','89000001',69)

   INSERT INTO invent VALUES('004','bx-179',5)

INSERT INTO manager VALUES('101','张力','男','1989-2-3','001')

4. 在teaching教学库创建一个student1表,包含“学号”、“姓名”和“年级”列,要求能够与student表同步插入、修改和删除数据。

答:CREATE TABLE student1

  (  sno     char(7)      PRIMARY KEY,

  sname   nvarchar(10)      NOT NULL,

  grade   nchar(3)     NULL,

  )

MERGE student1 AS d  USING  student  AS s  

ON s.ProductID=d.ProductId  WHEN NOT MATCHED BY TARGET

THEN INSERT(sno,sname,grade) VALUES(s.sno, s.sname, s.grade)  

WHEN NOT MATCHED BY SOURCE THEN  DELETE  

WHEN MATCHED THEN  

UPDATE SET d.sname = s.sname, d.grade = s.grade;

相关文章:

  • 深入了解 Git Merge:用法、类型与合并冲突处理
  • GPT Researcher 的win docker安装攻略
  • Postman 下载文件指南:如何请求 Excel/PDF 文件?
  • 递归、搜索与回溯第四讲:floodfill算法
  • ​macro-F1(宏平均F1)​和micro-F1(微平均F1)
  • 在kali linux中配置hive(mysql元数据库)
  • 现阶段高校的人工智能方案培训如何?
  • MVC基础概念及相应代码示例
  • Nextjs15 - middleware的使用
  • LeetCode算法题(Go语言实现)_11
  • (每日一道算法题) K 个一组翻转链表
  • 2025宠物智能喂养设备全栈开发方案:Python驱动的高效实现路径
  • IntelliJ IDEA创建Maven工程
  • Ardupilot开源无人机之Geek SDK进展2025Q2
  • 我的世界1.20.1forge模组进阶开发教程——结构(3)
  • 华为 eNSP 链路聚合:从面试问题到实战解析
  • MySQL数据库精研之旅第四期:解锁库操作高阶技能
  • Python数据可视化与数据处理全解析:Matplotlib图形控制与Pandas高效数据分析实战
  • MySQL中的Redo Log、Undo Log和Binary Log
  • 大模型在支气管肺癌预测及临床决策中的应用研究报告
  • 西安机场回应航站楼“水帘洞”事件:屋面排水系统被冰雹堵塞
  • 专访|高圆圆:像鸟儿一样,柔弱也自由
  • 咖啡戏剧节举办第五年,上生新所“无店不咖啡,空间皆可戏”
  • AI智能体,是不是可以慢一点? | ToB产业观察
  • 观察|印巴交火开始升级,是否会升级为第四次印巴战争?
  • 苏丹宣布与阿联酋断交