数据库-基础篇 第六讲(含习题)

本文介绍了SQL语言的基础知识,包括DDL(数据定义语言)、DML(数据操纵语言)和DCL(数据控制语言)的概念。讲解了如何使用SQL创建数据库和表,并详细阐述了查询操作,如单表查询、多表联合查询、模糊查询等。此外,还讨论了INSERT、UPDATE和DELETE语句在结合SELECT时的应用,以及如何撤销数据库和表的操作。最后,提供了若干SQL习题及解答,帮助读者巩固所学。
摘要由CSDN通过智能技术生成

SQL语言概述

  1. (1)DDL语句引导词 Create Alter Drop
    (2)DML语句引导词:Insert, Delete, Update, Select
    (3)DCL语句引导词:Grant(授权), Revoke(收回授权)
  2. 交互式SQL→嵌入式SQL→动态SQL

利用SQL建立数据库

  1. 学生选课数据库
    在这里插入图片描述
    在这里插入图片描述
  2. 建立数据库
    (1)定义数据库和表
    1)create database 数据库名;
    create database SCT;
    2)create table 表名(列名 数据类型 [Primary key|Unique]【Not null】[,列名,数据类型…】
    primary key:主键,每个表只有一个
    Unique:候选键
    not null:非空约束

create table student(S# char[8] not null,Sname char(10) , Ssex char(2), Sage integer, D# char(2), Sclass char(6));

create table course(C# char[3], Cname char(12), Chours integer, Credit float(1), T# char(3));

(2)向表中追加元素
1)追加元组Insert
insert into 表名【(列名【,列名】…】
values (值【,值】,…)

insert into student
values (‘9803030101’,‘张三’,‘男’,20,‘03’,‘980303’)

*insert into course
values(‘001’,‘数据库’,40,6,‘001’)

insert into course(Cname, C#,Credit,Chours,T#)
values(‘数据库’,‘001’,6,40,‘001’)
*

利用SQL语言进行查询

  1. 单表查询 Select-From-Where
    Select 列名
    From 表名
    【Where 检索条件】;

检索学生标中的所有信息:
Select *
From Student;

检索学生表中所有学生 的姓名&年龄:
Select Sname,Sage
From Student;

检索学生表中年龄小于19周岁的学生的年龄及姓名:
Select Sage, Sname
From Student
Where Sage<19;

  1. 检索条件的书写:与选择运算con条件写法一样,只是用and or not表示

检索教师表中工资少于1500或大于2000且是03系的教师姓名:
Select Tname
From Teacher
Where (Salary<1500 or Salary>2000) and D#=‘03’;

求或者学过001课程,或者学过002课程的学生学号
Select S#
From SC
Where c#=‘001’ or c#=‘002’;

  1. 结果唯一性问题

选课表中检索成绩大于80分的所有学号
Select S#
From SC
Where Score>80

//有重复元组出现

Select DISTINCT S#:防止重复元素,结果唯一性

  1. Select-From-Where 结果排序
    Select
    From
    Where
    order by 列名 [asc|desc]
    默认为升序排列

按学号由小到大的顺序显示学生的学号和姓名:
Select S#, Sname
From Student
order by S# asc;

检索002号课大于80分的同学学号并且按成绩从高到低显示:

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值