自学sql的第二天
一复习
E-R模型及关系型数据库
三范式、关系的存储方式
界面、脚本操作、数据库/表的创建
数据的增加、修改、删除
primary key 主键
foreign key 外键
二、查询
1为表起别名as
2查询全部列 置顶列
为列起名as
3查询前n部分数据:
top n列名:表示查看前n行
top n percent 列名:表示查看前 百分之几的数据
4.排序 order by 列名asc|desc,列名asc|desc
asc表示升 desc表示降
5.消除重复行
select distinct cid from student
6.条件查询:写在where后面
模糊查询:用于处理字符串类型的值,运算符包括:like % _ []^
查询学生表的情况如下
以下是为表起别名的情况(尽量写英文不写中文)
as可写可不写
以下是列的筛选的情况
以下是行的筛选的情况
between…and…表示在一个连续的范围内
以下是条件查询的情况
–取班级编号1-3的学生信息
select * from student
where cid between 3 and 8
–取班级编号大于3的学生信息
selecet * from student
where cid>3
–取班级编号1或3的学生信息
selecet * from student
where cid in (1,3)
selecet * from student
where cid=1 or cid=3
–取学生编号为3-8的在1班的学生
select * from student
where sid between 3 and 8 and cid=1
编号不是3-8的1班的学生
select * from student
where sid not between 3 and 8 and cid=1
select * from student
where sid<3 or sid>8 and cid=1
不是编号3-8并且不是1班的学生
select * from student
where not (sid between 3 and 8 and cid=1here not sid between 3 and 8 and cid=1)
–模糊查询
查询姓酷的学生
select *from student
where 姓名 like ‘酷%’
----姓名为2个字的姓小的学生
select *from student
where 姓名 like ‘小_’
–查询使用 电话为155段的学生信息
select * from student
where 电话 like ‘155%’
select * from student
where 电话 like ‘1[5-9]%’
select * from student
where 电话 like ‘1[^5-9]%’
select * from student
where 电话 like ‘1[^579]%’
%与_写在[]种表示本身的含义
在[]表示一个连续的范围可以使用
^写在[]内部的开头,表示不使用内部的任何字符
–取使用qq邮箱的学生
select * from student
where 邮箱 like ‘%@qq%’
–取不使用qq邮箱的学生
select * from student
where 邮箱 not like ‘%@qq%’
–将酷拉皮卡的电话改为null
update student set 电话 =’’
where 姓名=‘酷拉皮卡’
–电话为空值的学生信息
select * from student
where 电话= ‘’
select * from student
where 电话 is null
-电话不为空值的学生信息
select * from student
where 电话 is not null