SQL基础语句的学习

一、定义

SQL(Structured Query Language),结构化查询语言,是关系数据库的标准语言。它集数据操纵语言(DML)、数据定义语言(DDL)、数据控制语言(DCL)为一体。

二、插入语句

  • insert into表名(列名1,列名2…..)values(值1,值2…..)。
  • 若表名后没有具体列名则新插入的记录必须在每个列上都有值,值的顺序与表定义中列的定义顺序一致。
  • 若新插入的记录值是字符串类型,则需要用’’(单括号)括起来。
  • 例:将一个新的选课记录(学号:20100010;课程号:3;分数:95)插入到选课表
    insert into SC(Sno, Cno, Grade) values(‘20100010’, 3, 95)
    Insert into SC values(‘20100010’, 3, 95)

三、修改语句

  • update 表名 set 列名1=值1, 列名2=值2 where 条件
  • 若省略where子句,则表示要修改表中的所有记录。
  • 例:
    update SC set Grade = 50 where Sno=‘20100010’ and Cno=‘3’

四、删去语句

  • delect from 表名 where 条件,若没有where条件则删去所有信息。
  • 例:删除选课表中学号为20100010,课程号为3的记录
delete from SC where Sno=‘20100010and Cno=‘3

五、查询语句
(一)单表查询

  1. 查询指定列
    select 列名1,列名2 from 表名
    例:select Sno, Sname from Student
  2. 查询所有列
    select * from 表名
    例:select * from Student
  3. 用户可以通过指定别名来改变查询结果的列
 select Sno as 学号,  Sname as 姓名,  Sage as 年龄 from Student;

等价于

`
select Sno 学号, Sname 姓名, Sage 年龄 from Student

4. 取消值相同的行
本来不完全相同的行记录,经过某些条件查询后,变成了相同的行记录,此时,可以使用distinct关键字来去掉重复的行。

例:select Sno from SC
select distinct Sno from SC
5. 查询满足条件的记录
(1)比较大小
select Sno, Sname from Student where Sage < 20;
(2)确定范围
select Sno,Sname from Student where Sage between 20 and 25;
(3)确定集合
select Sno,Sname from Student where Sdept in {‘计算机科学’,‘应用数学’,‘信息工程’};
(4)字符匹配
字符匹配的一般语法为:
LIKE ‘匹配串’ 或 NOT LIKE ‘匹配串’
匹配串可以是完整的字符串,有可以是含有通配符%和_,其中:
%:代表任何长度的字符串
_:代表一个字符串
例:
select Sname,Sno , Sage from Student where Sname like ‘刘%’
select Sname, Sno, Ssex from Student where Sname not like ‘刘_’

select
(5)空值查询
Select Sno, Cno where Grade is null

(6)多重条件查询
Select Sno, Sname from student where Sdept = ‘计算机科学’ and Sage < 20
Select Sno, Sname from student where Sdept = ‘计算机科学’ or Sdept = ‘应用数学’ or Sdept = ‘信息工程’
6. order by 子句
order by子句用于对查询结果进行排序,其中 order by 列名 asc 是对列名进行升序排列,order by 列名 desc是对列名进行降序排列。
例:
select Sno, Cno from SC where Cno=‘3’ order by Grade desc
7. 聚集函数

8. Group by 子句
求各个课程号及相应的选课人数
select Cno,count(Sno) from SC group by Cno;
求选修了2门及以上课程的学生学号
select Sno from SC group by Cno having count(Cno)>2;

(二)连接查询

  1. 等值与非等值连接
    例:查询每个学生及其选修课程的情况
    select Student , SC from Student,SC where Student.Sno=SC.Sno;
  2. 复合条件连接
    例: 查询选修了2号课程且成绩在90分以上的学生信息
    select Student* from Student,SC where Student.Sno=SC.Sno and SC.grade>90 and Student.Cno=”2”;
  3. 嵌套查询
    例:查询与李明天同一个系的学生
    select * from Student where Sdept in ( select Sdept from Student where Sname=”李明天”)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值