交互式SQL(MySQL)(1)
数据库系统:MySQL 8.0.19
操作:mysql控制台
首先,要从cmd进入mysql控制台。我们进入mysql的bin文件夹,接下来就是刻在DNA里的操作。
mysql -h localhost -u root -p
然后创建数据库db_SPJ
在db_SPJ中创建以下四个关系(表)
供应商表S(SNO,SNAME,STATUS,CITY)
零件表P(PNO,PNAME,COLOR,WEIGHT)
工程项目表J(JNO,JNAME,CITY)
供应情况表SPJ(S NO,PNO,JNO,QTY)
1)每一张表都必须有主键。
2)需要使用外键的表必须使用外键。
3)采用唯一值、检查、非空和默认值约束。这四种约束在S、P和J表这三张表中至少使用一次。
4)根据主键、外键、唯一值、检查、非空和默认值六种约束的特性,设计适当的方案对S、P和J表中的这六种约束进行检验。
S
P
J
对于P表,MySQL忽略check,故用触发器实现check
delimiter的作用就是将默认的终结符 ’ ; ’ 转换为你想要的符号。
写触发器时要用到 ’ ;’ ,然而MySQL检索到 ’ ; ’ 就会直接终结执行,用多个终结符则报错。我写trigger的时候就因为不会delimiter一直报错。
SPJ
用show create table SPJ
能看到外键,show keys from SPJ
也可以
第一次写博客,先写这么多,未完待续。