<?php
SQL语句:就是对数据库进行操作的一种语言。
我们可以使用后台编程语言 执行SQL语句, 对数据库进行操作.
查询:
SELECT * FROM student
* 你要查询的字段, *代表所有
意思: 查询student表里的所有字段以及值
SELECT gradeclass, age, name FROM student
可以指定你要查询的字段
条件查询:
1.单个字段条件:
SELECT * FROM student WHERE sex = "女"
条件在表名后面, 使用WHEREWHERE后面设置条件
2.AND查询条件
SELECT * FROM student WHERE sex = "女"AND name = "小花"
必须同时满足我们WHERE后面的条件
AND 就是并且的意思, 可以写多个
3.OR查询条件
SELECT * FROM student WHERE name = "李明"OR age = 21
只要满足OR任意一边的条件, 都可以
4.模糊查询条件
SELECT * FROM student WHERE name LIKE"李%"
% 代表0个或多个字符
_ 代表一个字符
%计% 这种查询条件, 只要带计就可以.
5.排序
SELECT * FROM student ORDERBY age DESC
ASC: 递增 (默认)
DESC: 递减
ORDERBY 字段(根据某个字段进行排序)
6.count() 统计函数, 统计一共有多少条数据
分组查询每个年龄段各有多少人
SELECT count(*),age FROM studentgroup by age
统计姓李的一共有多少人
SELECT count(*),name FROM student WHERE name like'李%'
左链接 以左边的表为参照,以on后面的为条件,去右面的表里一一查询数据并显示出来
select * from student left join sc on student.sno = sc.sno
右链接
select * from student right join sc on student.sno = sc.sno
全链接 必须左右两面的sno 都存在的情况下,才取出数据
select * from student inner join sc on student.sno = sc.sno
查询每个学科有多少人选修
select count(*),study.cno from study left join sc on study.cno = sc.cno groupby study.cno
查询每个学科的平均成绩
select study.cname,max(grade) as"最大值",min(grade),sum(grade),avg(sc.grade) from study left join sc on study.cno = sc.cno groupby study.cname
limit
分页公式
SELECT * FROM student limit 0,20: 从那个位置开始,查询出来的数据从0开始索引
2: 个数
0,55,510,515,5
pageCount 表示当前是第几页
pageNum 表示每页几条数据
SELECT * FROM student limit (pageCount - 1) * pageNum ,pageNum
主键:不允许为空,值唯一,一般用于表示一条数据的独特性(身份证号)
----------------------华丽分割线---------------------------------
1.增加数据的sql
INSERT INTO student(sno, name, sex, age, gradeclass) VALUES ('','王明','男',18,'计算机')
注意:字段的顺序和值的顺序一样要一一对应的关系,
字段可以不写全,比如我不想给年龄,就不需要些age
2.修改的sql
更新表
注意:如果没有条件,则更新的是所有的这个字段的值
update student set name = '李四' where student.sno = 1
update student set age = age + 13.删除sql
deldete from student where name = '张三'
注意 如果不给条件,则删除这个表里的所有数据
?>