前言: 首先对于数据库有一定的了解,会对于Mysql的学习有一定的帮助; 数据库主要分为 DB(数据库),DBMS(数据库管理系统),SQL(结构化查询语言,用于和DBMS通信的语言);这篇要讲的DQL(数据查询语句)是属于SQL语言中的一种语言,因此是必学的语言,希望可以有一定的帮助。
Mysql的相关知识
好处 :
1.持久化数据到本地
2.可以实现结构化查询,方便管理
数据库主要分为:
- DB(数据库),保存一系列有组织的数据容器。
- DBMS(数据库管理系统),用于对DB获得数据进行操作管理,又称为数据库软件(产品)
- SQL(结构化查询语言,用于和DBMS通信的语言):DML语言,TCL语言,DDL语言,DQL语言;
Mysql服务的启动和停止:
方式一:计算机——右击管理——服务——MySQL
方式二:通过管理员身份运行cmd命令提示行
net start mysql(启动服务)
net stop mysql(停止服务)
Mysql服务的登录和退出:
方式一:通过MySQL自带的客户端
只限于root用户
方式二:通过cmd命令提示行关闭,未配置MySQL环境变量,需在MySQL安装的bin下启动cmd
登录:
mysql 【-h主机名 -P端口号 】-u用户名 -p密码
退出:
exit或ctrl+C
MySQL的语法规范:
不区分大小写
使用“;”结尾
各子句一般分行写
关键字不能缩写也不能分行
合理使用缩进
注释:
单行注释:#注释文字
单行注释:-- 注释文字
多行注释:/* 注释文字 */
DQL语言(数据查询语句)
1.基础查询
语法:
select(选择,过滤,查看) 查询列表 from 表名;
类似于: System.out.println(打印东西);
特点:
1.查询列表可以是: 表中的字段、常量值、表达式、函数
2.查询的结果是一个虚拟的表格
(1).查询表中的单个字段
SELECT `查询列表` FROM `表`;
(2).查询表中多个字段;
SELECT 查询列表,查询列表,查询列表,查询列表 FROM 表;
(3).查询全部字段;
SELECT * FROM 表;
(4).查询常量值;
SELECT 'job';
(5).查询表达式;
SELECT 100*98;
(6).查询函数(类似于java中方法);
SELECT VERSION();
(7).起别名
特点:
1.便于理解;
2.当要查询多个字段时,出现重名的情况,使用别名可以区分开;
方式一:使用关键字AS
SELECT 查询列表 AS 别名,查询列表 AS 别名 FROM 表;
方式二:使用空格
SELECT 查询列表 别名,查询列表 别名 FROM 表;
(8).去重
运用关键字DISTINCT进行去重显示;
SELECT DISTINCT department_id FROM employees;
(9).mysql中的+号作用
作用:仅仅作为运算符;
select 100+90;两个操作数为数值型,则做加法运算
select '123'+90;只要其中一方为字符型,则会试图将字符型转换为数值型;
如果转换成功,则继续做加法运算;
转换失败,则将字符型转换为0进行加法运算;
select null+90; 只要其中一个为null,则结果肯定为null;
2.条件查询
语法(运算步骤):
select 查询列表;(3) from 表名;(1) where 筛选条件;(2)
分类:
1.按条件表达式筛选
条件运算符:> < = <>(!=) >= <=
2.按逻辑表达式筛选
逻辑运算符:and(&&) or(||) not(!)
3.模糊查询
like , between and , in , is null
一、按条件表达式筛选
#案例1:查询工资>1200的员工信息;
SELECT * FROM employees WHERE salary>12000;
二、逻辑运算符筛选
and(&&) or(||) not(!)
用于:需要多个条件表达式来进行判断时;
三、模糊查询
1.like(查找含有某种特殊的范围)
特点:一般和通配符搭配使用,可以判断字符型和数值型;
通配符:
'% '为任意多个字符,也包含0字符;
'_ '为任意单个字符;
案例1:查询表中包含了字符a的列表信息
select * from 表 where 筛选条件 like ‘%a%’;
案例2: 查询表中中第二个字符为_的列表信息;
select 查询列表 from 表 where 筛选条件 like ‘_\_%’;
转译字符 mysql中'\'为自带的转译字符,将特殊字符转换为普通字符;我们也可以通过自己来自定义转译字符,但需要后面用ESCAPE 关键字来进行说明;
select 查询列表 from 表 where 筛选条件 like ‘_$_%’ ESCAPE ‘$’;
2.between and(查询某范围的)
between 100 and 120 == >=100 and <=120;
①使用between and