数据库第一次记录

本文详细介绍了如何使用SQL语言进行数据库操作,包括数据定义、数据插入、更新及删除等基本操作,并展示了具体的SQL语句实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(一)数据定义
一:
1.1
create table student 
(sno varchar(9) primary key,
sname varchar(20),
ssex varchar(2),
sage int,
sdept varchar(20));


1.2
create table Course
(cno varchar(4) primary key,
cname varchar(40) not null ,
cpno varchar(4),
ccredit smallint,
foreign key(cpno) references Course (cno)
);


1.3 
create table SC
(   Sno varchar(9),
    Cno varchar(4),
    Grade int,
    primary key(Sno,Cno),
    foreign key(Sno)references Student(Sno),
    foreign key(Cno)references Course(Cno)
 );




2.1
alter table student add bloodtype char(2);


2.2
alter table student  modify sdept varchar2(40);


2.3
alter table student add constraint student_sage_chk check (sage between 16 and 29);


2.4
alter table student drop constraint student_sage_chk;


2.5
alter table student drop column bloodtype  ;




3.1
Drop Table Student Cascade Constraints; 


3.2
Drop Table Sc Cascade Constraints; 




二:
1.1
CREATE UNIQUE INDEX stusnam_4068 ON student(Sname);
1.2
CREATE UNIQUE INDEX sc_4068 ON SC(Sno ASC,Cno DESC);


2.1
drop index stusnam_4068;
2.2
drop index sc_4068;
(二)数据操作
一:
1.1
insert into Student values('200215121','李勇','男',20,'CS');
insert into Student values('200215122','刘晨','女',19,'CS');
insert into Student values('200215123','王敏','女',18,'MA');
insert into Student values('200215125','张立','男',19,'IS');
1.2
insert into COURSE values('6','数据处理',null,2);
insert into COURSE values('2','数学',null,2);
insert into COURSE values('4','操作系统','6',3);
insert into COURSE values('7','PASCAL语言','6',4);
insert into COURSE values('5','数据结构','7',4);
insert into COURSE values('1','数据库','5',4);
insert into COURSE values('3','信息系统','1',4);
1.3
insert into SC values('200215121','1',92);
insert into SC values('200215121','2',85);
insert into SC values('200215121','3',88);
insert into SC values('200215122','4',90);
insert into SC values('200215122','3',80);


2.1
update Student set Sage=20 where sname='王敏';
2.2
update Student set Sage=Sage+1;
2.3
update sc
set grade=0
where sno in
(select sno from STUDENT where sdept='CS');
3.1
delete from student where sdept=
(select sdept from Student where sname='刘晨');
3.2
先添加cs两条记录
delete from sc where sno in
(select sno from student where sdept='CS');
关于头歌数据库第一次作业的相关资料或指导,虽然无法提供具体的答案,但可以基于已有的引用内容以及专业知识给出一些提示和建议。 ### 关于SQL查询的基础知识 如果头歌数据库第一次作业涉及SQL查询基础,则可能需要掌握复杂的嵌套查询语法。例如,在引用中提到的一个例子展示了如何使用`ALL`关键字进行条件过滤[^1]: ```sql SELECT col1 FROM table1 WHERE col1 > ALL (SELECT col2 FROM table2); ``` 上述代码表示从表 `table1` 中选取满足大于 `table2` 所有记录值的字段 `col1` 的所有行。这种类型的查询通常用于多表关联场景下的复杂筛选逻辑。 --- ### HTAP数据库的概念及其应用背景 对于更高级别的数据库设计或者优化题目,可能会涉及到HTAP(Hybrid Transactional/Analytical Processing)数据库的设计理念。根据已有引用描述[^2],HTAP数据库分为两类不同的架构模式: - **第一类**:以列存为主的系统(如 SAP HANA),其特点是高性能的OLAP查询能力和相对适中的OLTP事务处理能力; - **第二类**:分布式行存为主、列存为辅助副本的结构(如 TiDB)。这类系统的优点在于高度可扩展性和对两种工作负载的良好平衡支持。 这些概念可以帮助理解现代数据库管理系统是如何兼顾实时交易需求与大规模数据分析任务的要求。 --- ### 窗口函数的应用技巧 另外还提到了窗口函数相关内容[^3],这可能是某些练习的重点之一。“PARTITION BY”引导的是分区内部分析操作,“ORDER BY”则定义了每一分区内的顺序排列方式。下面是一个简单的示例展示如何利用窗口函数计算累计销售额: ```sql SELECT product_id, sale_date, amount, SUM(amount) OVER(PARTITION BY product_id ORDER BY sale_date) AS cumulative_sales FROM sales; ``` 此脚本会针对每一个产品分别按照日期升序累积求和销售金额。 --- #### 提醒事项 由于具体课程安排未知,请自行确认实际考核范围是否覆盖以上知识点。同时注意遵循学术诚信原则完成个人学习成果提交。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值