0.数据库总架构
mysql是一个单进程多线程的数据库,mysqld是进程名称
1.SQL分类
2.DDL语句:数据定义语言
1.对库的操作
2.对表的操作
0.char和varchar区别
1.创建表
2.查询表的信息
练习
3.删除表
4.修改表
3.DML语句:数据操纵语句
1.添加数据
1.语句
2.运行
2.删除数据
3.修改数据
4.查询数据
1.普通查询
2.去重查询
3.排序查询
4.多表查询
5.分组查询
6.连接查询
1.等值查询(效率低,少用)
1.错误写法:
2.正确写法:
2.连接查询
1.外连接查询
1.左外连接查询(常用)
2.右外连接查询(不常用)
3.全外连接查询(不常用)
2.内连接查询(常用)
7.聚合查询 union
聚合后:
4.DCL语句:数据控制语句
先创建一个新用户
1.grant 授权
2.revoke 回收权限
谁赋予谁回收
5.总结
6.练习
1.查询“李”姓老师的基本信息
//模糊匹配(有通匹符的就叫模糊匹配)
select * from teacher name like "李%";
2.求平均分大于60分的学生编号和平均成绩
碰到avg,count,sum之类的聚合函数,都不能用where,只能用having语句
select id,avg(score) from result group by id having avg(score)>60;
3.求“001”课程成绩大于“002”课程成绩的所有学生信息
1.正确的写法
2.错误的写法
select stu.id,name,sex,age
from stu
(select stu.id,name,sex,age
from stu
where stu.id=resulr.sid) a
left join
(select sid
from result a,result b
where pid="001".score>pid="002".score) b
on a.id =b.sid;