当前位置:网站首页>【MySQL-表结构与完整性约束的修改(ALTER)】

【MySQL-表结构与完整性约束的修改(ALTER)】

2022-07-06 09:22:00 馥滢( '▿ ' )

数据库TestDb1中有表your_table,请根据提示,在右侧代码文件编辑窗中添加恰当的语句,将表名your_table更改为my_table。

USE TestDb1;

#请在以下空白处添加恰当的语句,将表名your_table更改为my_table:
alter table your_table rename to my_table;

假设数据库MyDb中有表order(订单)和orderDetail(订单明细) 等表,两表的结构分别如下:

order表

字段名称数据类型备注
orderNochar(12)订单号,主码
orderDatedate订购日期
customerNochar(12)客户编号,外码,与customer.customerNo对应
employeeNochar(12)雇员工号,外码,与employee.employeeNo对应

orderDetail表

字段名称数据类型备注
orderNochar(12)订单号,主属性,外码,与order.orderNo对应
productNochar(12)产品编号,主属性,外码,与product.productNo对应
quantityOrderedint订购数量
orderDatedate订购日期

注:表orderDetail的主码由(orderNo,productNo)组成

编程的任务是对orderDetail表进行修改:

  1. orderDetail表的orderDate列明显多余,因为同一订单中的每一笔交易都发生在同一天,这个日期在订单主体表order中已有记录,请删除列orderDate。
  2. 产品的单价是订单明细需要记录的内容,请在orderDetail中添加列unitPrice以记录产品的单价:
字段名称数据类型备注
unitPricenumeric(10,2)产品的成交单价

请根据提示,在右侧代码文件编辑窗中添加恰当的语句,实现上述编程任务。

use MyDb;

#请在以下空白处添加适当的SQL代码,实现编程要求
#语句1:删除表orderDetail中的列orderDate
alter table orderDetail drop orderDate;
#语句2:添加列unitPrice
alter table orderDetail add column unitPrice numeric(10,2);

数据库MyDb中有表addressBook(通信录),结构如下:

字段名称数据类型备注
serialNoint自动编号,主码
namechar(32)姓名
companychar(32)工作单位
positionchar(10)职位
workPhonechar(16)办公电话
mobilechar(11)手机
QQintQQ号
weixinchar(12)微信号

当初创建表的语句如下:

  1. create table addressBook(
  2. serialNo int auto_increment primary key,
  3. name char(32),
  4. company char(32),
  5. position char(10),
  6. workPhone char(16),
  7. mobile char(11),
  8. QQ int,
  9. weixin char(12)
  10. );

你的编程任务是对表addressBook作以下修改:

  1. 将QQ号的数据类型改为char(12);
  2. 将列名weixin改为wechat。
    use MyDb;
    
    #请在以下空白处添加适当的SQL语句,实现编程要求
    alter table addressBook modify QQ char(12) ;
    alter table addressBook rename column weixin to wechat;

原网站

版权声明
本文为[馥滢( '▿ ' )]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_55439444/article/details/124699188