数据库条件查询及关系搭建
一、数据库条件查询
条件查询
SELECT * FROM student WHERE age=18
比较运算符
<、>、 =、>= 、<=、<>、 !=
逻辑运算
And
Or
Not
模糊查询(“x%”)
SELECT * FROM student WHERE name LIKE “小%”
%匹配 0到多个字符
范围查询(in,not in)
select * from student where age in (17,20);
查询为空(is)
查询不为空(is not)
排序(order by)
SELECT * FROM student ORDER BY age;以年龄排序
多条件排序,第一个条件为主排序条件
倒序(order by field desc)
筛选和排序连用(先筛选再排序)
子查询
子查询是一种嵌套查询,将一个查询用小括号包围起来,然后作为下一个查询的结果,子查询必须有别名。
SELECT nan.name FROM (SELECT name,age FROM student WHERE gender=”男” ) AS nan WHERE age = 18;
二、数据库关系搭建
数据库关系针对是多表之间的联系。
一对一
两个表的每条数据之间,存在唯一映射关系。
举个栗子:
一个人一张身份证
一张身份证对应一个人
一对多
将两个表分为一个一表,一个多表,(这里的一表,多表只是一个标识名字,没有实质的意义,只为区分两张表)一表当中数据可以对应多表当中的多条数据,
多表当中的一条数据只能对应一表当中的一条数据。
举个栗子:
父亲(一表)
张三
Id
儿子(多表)
张1
张2
p_id
这两张表通过parent的id来关联
查询老张的所有儿子
查询李3的父亲
多对多
一个表当中数据可以对应另一个表当中的多条数据,反之亦然。
专业
课程
关系
Python所有的课程
父子id关系
在商品类型当中会涉及到子类型
举个栗子:
服装
- 男装
– 中山装
-------高级中山装
Parent_id
所思及所学
学而不思则罔,思而不学则殆!