mysql 学习笔记
1:DBMS分类
基于共享文件系统的ACCESS
基于C/S架构的MYsql,oracle sqlserver
2:社区版本免费 企业版本 收费费用低
3:5.5 5.6 5.7 8.0测试版 使用5.5版本
4:卸载,注意事项,删除安装目录/ProgrammaData 里面的也需要删除 还需要注册表;一般来说不需要
5:typical:服务端+自带客户端 custom:自定义 完全安装 选custom?
6:选择开发机器 服务器选择服务器 内存越来越大 端口正式运行需要改3306端口 防止攻击 字符集选择UTF8 设置过程中可以选择是否允许远程
7:net stop/start mysql57 管理员权限 或者服务管理里面操作 或者任务管理器
8:自带的客户端命令行方式、sylog、mysql -h localhost -P 3306 -u root -p /p密码 简写mysql -u root -proot 不是命令 环境变量问题
9:常用命令
sql 不区分大小写 建议关键字大小写 表明列名 小写
每个命令用分号结尾 \g貌似也可以,不写也行
每个命令长的话可以缩进换行
注释:单行 #注释 -- 注释 多行 /* */
10:sql语句
子查
查询每个部门的员工个数
select d.*,(select count(*) from employeers e where e.departmengt_id=d.id ) as 个数 from departments d;
查询员工号=102部门名 也可以用连接查询做的 select里面仅仅支持一行一列
select (select department-name from departments inner join employeers e on d.id=e.department_id where e.employeer_id=102 )
from 后面的子查询 子查询当做表来用
查询每个部门平均工资对应的登记
select AVG(salary),department_id from employeers group by department_id as av-dev
连接1的结果集合
select * from av-dev inner join level l on av-dev.salary between l.low and l.max
相关子查询exists 结果是1或者0 基本可以用其他语句代替 in not in
select exists(select * from employeers) 一个字段
select * from department_name where exists (select * fro employeers e where d.id=e.department_id) 外查询先查询
select * from employeers where department_id =(select department_id from employeers where name=\'111\')
多个用in 单个用 = > <
分页查询