sql 练习系列:修改表结构

以下练习均在mysql中实现:

使用SQL语句定义数据表。

要求使用命令定义如下3个表:S, C,SC

学生信息表(S)

字段名称

类型及长度

说明

备注

Sno

CHAR(12)

学号

主码

SID

CHAR(15)

身份证号码


Sname

CHAR(20)

姓名

非空

Ssex

CHAR(2)

性别

可为空

Sbirthday

DATETIME

出生日期

可为空

Sdept

CHAR(40)

所在院系

可为空

Saddress

CHAR(50)

籍贯 

可为空

sage

Int 

年龄


……




    

2课程信息表(C)

字段名称

类型及长度

说明

备注

Cno

CHAR(6)

课程编号

主码

Cname

CHAR(30)

课程名称

非空

Cpno

CHAR(6)

先修课号

可为空

Ccredit

INT

学分

可为空

……




……




 

选课信息表(SC)

字段名称

类型及长度

说明

备注

Sno

CHAR(12)

学号

主码

Cno

CHAR(6)

课程编号

主码

Grade

INT

成绩

可为空

注:(1) Sno外码,参照表S中的属性Sno

(2) Cno外码,参照表C中的属性Cno


use test;
create table S (sno varchar(12) primary key,sid varchar(15),sname varchar(20)
not null, ssex varchar(2),sbirthday datetime,sdept varchar(40),
saddress varchar(50),sage int);

create table C (cno varchar(6) primary key,cname varchar(30) not null,
cpno varchar(6),ccredit int); 

create table SC (sno varchar(12),cno varchar(6),grade int, primary key(sno,cno),
foreign key (sno) references S(sno),foreign key (cno) references C(cno));
-- 两个属性sno,cno 作为主码,主码具有唯一性。


修改表结构

S中增加新的字段,专业名称(Smajor),可为空

alter table s add column smajor varchar(20);


S中删除专业字段

alter table s drop column smajor;


修改SSname字段长度为25

alter table s modify column sname varchar(25); 
--sql server写法:alter table s alter column sname type varchar(25); 


修改SSbirthday数据类型为date

alter table s modify column sbirthday date;
--sql server写法:alter table s alter column sbirthday type date;


SSname 增加唯一性约束

alter table s add constraint uni_sname unique(sname);


删除SSname 增加的唯一性约束

 alter table s drop key uni_sname;
--sqlserver:  alter table student drop constraint unique_sname


SC表中的grade增加约束范围为0~100

alter table sc add constraint gradec check(grade>=0 and grade <=100);


修改SC表中的grade字段名称为Sgrade

alter table sc change column grade sgrade int; 
--sql server: alter table sc rename column grade to sgrade 


修改C表中的Ccredit字段的约束条件,不允许为空

alter table c change column ccredit ccredit int not null;
--sql server: alter table c alter column ccredit set not null;

删除表:

DROP TABLE table_name;
或者是
DROP TABLE IF EXISTS table_name;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据及操作是指在数据库中创建或管理数据,并对中的数据进行增删改查的操作。数据是数据库中的一种对象,用于存储和组织数据。在进行数据的操作时,我们可以使用SQL语言来实现。 在创建数据时,我们需要定义结构,包括的名称、字段名及其数据类型等。通过CREATE TABLE语句可以创建一个新的数据。例如,我们可以创建一个名为"学生信息"的数据,包括学生的学号、姓名和年龄等字段。 数据的操作主要包括增加(INSERT)、删除(DELETE)、修改(UPDATE)和查询(SELECT)等。通过INSERT语句可以向数据中插入新的数据,通过DELETE语句可以删除指定的数据,通过UPDATE语句可以修改数据中的数据,通过SELECT语句可以查询数据中的数据。 在实际操作中,我们可以根据需要使用各种条件来进行筛选和过滤数据。例如,我们可以使用WHERE语句来指定查询条件,通过AND和OR等逻辑运算符来进行条件组合,从而获取满足特定条件的数据。 此外,我们还可以进行数据的连接操作,通过JOIN语句可以将多个进行连接,以获取更复杂的查询结果。 在数据操作的练习中,我们可以通过编写SQL语句,利用数据库管理工具如MySQL或Oracle等进行实践操作。通过不断练习,我们可以提高对数据及操作的理解和熟练度,为数据处理和分析提供更强大的工具和支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值