首先 ,mysql数据库是一个关系型数据库 ,它可以连表完成增删改查的一系列操作。
连表操作是根据第一个表的id 和第二个表的 c_id 来互相关联。
在连表的操作中,分别有 一对一 , 一对多, 多对多操作。
代码例子:
selet news.*,cate.name from cate inner join news on cate.id = news.cid
不仅有连表操作,还有分组。
分组关键词:group by
分组还可以根据一些聚合函数一起使用。(常见的一些聚合函数:count(总的个数),max(最大值),min(最小值),sum(总和),avg(平均值))
例子:查询王老师班里男生或女生总人数大于1的记录
select student.gender,count(student.id),group_concat(student.name) from student left join teacher on student.teacher_id=teacher.id where teacher.name="王老师" group by student.gender having
count(student.id)>1
还有一些 排序 取值的一些重点
排序:关键词 order by 。 asc 是正序 ,desc 是倒序。
取值: 关键词 limit (从第几个值取,取值的个数)
另外最重点的两项就是:索引,和 外键。
索引根据 index key 来执行。
外键:关键词 foreign。
外键的用途是确保数据的完整性。它通常包括以下几种:
1、实体完整性,确保每个实体是唯一的(通过主键来实施)
2、域完整性,确保属性值只从一套特定可选的集合里选择
3、关联完整性,确保每个外键或是NULL(如果允许的话)或含有与相关主键值相配的值。
约束的主要目的是控制存储在外键表中的数据,但它还可以控制对主键表中数据的修改。例如,如果在 publishers 表中删除一个出版商,而这个出版商的 ID 在 titles 表中记录书的信息时使用了。
则这两个表之间关联的完整性将被破坏,titles 表中该出版商的书籍因为与 publishers 表中的数据没有链接而变得孤立了。
FOREIGN KEY 约束防止这种情况的发生。如果主键表中数据的更改使之与外键表中数据的链接失效,则这种更改是不能实现的,从而确保了引用完整性。
如果试图删除主键表中的行或更改主键值,而该主键值与另一个表的 FOREIGN KEY 约束值相关,则该操作不可实现。
若要成功更改或删除 FOREIGN KEY 约束的行,可以先在外键表中删除外键数据或更改外键数据,然后将外键链接到不同的主键数据上去。