目录
前言
在这里我们使用到的是PHPStudy自带的MySQL。
提示:以下是本篇文章正文内容,下面案例可供参考
一、登录进入MySQL
使用步骤详细:
1.先打开PHPstudy这样就能够启动phpstudy中的apache和Mysql了。
2.然后我们进入PHPstudy安装目录下的Mysql文件下用cmd命令打开数据库(不然直接在系统下使用是打不开的),我们进入路径”C:\Windows\System32\cmd.exe“。
3.然后cmd进入后,登录数据库,mysql -uroot -proot,这样我们就顺利打开数据库能够进行操作了。
二、数据库基本命令
1.数据库基本信息查询命令
注意:MySQL 在 windows 下是不区分大小写的,所以我们在下面一些表名的书写是没有问题的。
1.进入数据库后查看有多少库:show databases;
2.在某一个库中查看有多少表:show tables;
3.创建一个库,例:create database data1;
4.进入某一个数据库,例:use data1;
5.查看当前数据库版本号:select version();
6.查看当前处于哪一个数据库中:select database();
7.导入脚本,例:source 【脚本路径】
8.查看表结构:desc emp;
9.查看当前登录的用户数据信息:select user();
10.结束一条语句书写:\c
11.退出MySQL:exit;
2.基本查询语句和分组函数
代码如下(示例):
1.条件查询
条件语句一个总的整体结构逻辑是:
select 字段1,字段2,字段3... from 表 where 条件 order by 字段
在这里我们也可以用通配符 * 来代替字段1,字段2... 不过这样的话就是指查询所有字段了。
该语句执行顺序为:
1.from 表 // 先找到表
2.where 条件 // 条件判断
3.select 字段1,字段2,字段3...
4.order by 字段 // 最后排序,order by 始终是最后执行的
例:找到工资为3000的员工名字
select ename ,sal from emp where sal = 3000 order by ename;
2.范围判定的between ... and ...
注意:在between...and... 范围中要保证左大右小,否则会无法成立
例:找出工资在1000~3000的员工
select ename , sal from emp where sal between 1000 and 3000 order by sal;
3.模糊查询like
特点:支持简单的正则表达式规则
%:任意字符串
_:任意单个字符(a~Z)
例:查询姓名以 S 开头所有的员工
select * from emp where ename like 'S%';
例2:查询姓名中第二个字符为 A ,且名字中包含M字符的所有员工
select * from emp where ename like '_A%M%';
4.分组函数
(1)count(字段) // 统计记录数(行)
(2)sum(字段) // 求和
(3)avg(字段) // 取平均
(4)max(字段) // 取最大值
(5)min(字段) // 取最小值
其中:使用分组函数中其会忽略NULL数据类型的数据,且分组函数不能作为条件在where中使用
例:得到emp表中工作岗位种类数
在这里我们记录时要进行去重,因为题目要求的是种类数,所以我们这里可以使用distinct去重
select count(distinct job) from emp;
例2:求每个员工的年薪
在这里因为有些员工的comm(津贴)是NULL,所以我们如果直接用sum的话会导致有些员工直接跳过了,这样就没能统计上,所以这里我们可以用 ifnull() 来将NULL替换成0,从而保证每个员工都统计上
select ename,(sal+ifnull(comm,0))*12 as yearsal from emp;
5.分组查询group by
例:找出每个岗位的最高薪资:
select job,max(sal) from emp group by job;
例2:找出每个部门的平均薪资,要求显示大于2000的数据
select deptno,avg(sal) from emp group by deptno having avg(sal) > 2000;
6.连接查询
连接查询有两种语法写法,第一是SQL92 语法,第二是SQL99 语法。
例:显示每个员工信息,并显示所属的部门名称
1.SQL92 语法
select *,d.dname from emp e,dept d where e.deptno = d.deptno;
2.SQL99 语法
select *,d.deptno from emp e join dept d on e.deptno = d.deptno;
总结
这里主要是对数据库一些基本的操作命令和格式做一个小结,使之在有些遗忘的情况下能够快速查找并回忆对应内容,希望能有所帮助。