(1)写出创建如下三张表的SQL语句,要求在定义表的同时定义数据的完整性约束。
“图书表”结构如下:
书号:统一字符编码定长类型,长度为6,主码
书名:统一字符编码可变长类型,长度为30,非空
第一作者:普通编码定长字符类型,长度为10,非空
出版日期:小日期时间型
价格:定点小数,小数部分1位,整数部分3位
一、创建bookstort database,并使用;

二、创建图书表
Mysql版本 :因为不支持nchar或者nvarchar这两种unicode统一编码的数据类型,所以要使用UTF-8编码来代替

Sql server版本 :因为支持了unicode统一编码,所以可以不必utf-8


②“书店表”结构如下:
书店编号:统一字符编码定长类型,长度为6,主码
店名:统一字符编码可变长类型,长度为30,非空
电话:普通编码定长字符类型,8位长,每一位的取值均是0~9的数字
地址:普通邮编可变长字符类型,40位长
邮政编码:普通编码定长字符类型,6位长


③“图书销售表”结构如下:
书名:统一字符编码定长类型,长度为6,非空
书店编号:统一字符编码定长类型,长度为6,非空
销售日期:小日期时间型,非空
销售数量:微整型,大于等于1
主码为(书号,书店编码,销售日期);其中“书名”为引用“图书表”的“书名”的外码;“书店编号”为引用“书店表”的“书店编号”的外码。

(2)为图书表添加“印刷数量”列,类型为整数,同时添加约束,要求此列的取值要大于或等于1000。

(3)删除书店表中的“邮政编码”列。

(4)将图书销售表的“销售数量”列的数据类型改为整型。
由于建表的时候销售数量有大于等于1的约束所以修改失败。

所以需要删除约束再执行修改语句

在mysql中要使用modify才可以修改字段的类型,因为语法不同


本文介绍了如何使用SQL语句在MySQL和SQL Server中创建图书、书店和图书销售表,强调了数据完整性的约束。同时,讨论了为图书表添加新列、删除书店表列以及修改图书销售表列数据类型的步骤,特别提到了在MySQL中修改字段类型需要注意的语法差异。

594

被折叠的 条评论
为什么被折叠?



