MySQL-数据库查询语言
7.1 基本查询
7.1.1 查询所有的数据
select * from 表名;
7.1.2 查询指定的多个列
select 列名1,列名2 from 表名;
案列语句
-- 使用数据库
USE test1;-- 查询数据表
SELECT * FROM student;-- 查询student表中的id和name列
SELECT id, name FROM student;-- 没有指定条件,查询的是所有的行。条件是对行进行过滤
SELECT name, birthday FROM student;
7.1.3 指定列的别名
AS关键字
-- 使用别名,定义别名关键字是:AS
SELECT id AS 编号, name AS 姓名 FROM student;
-- AS关键字可以省略
SELECT name 姓名, birthday 生日 FROM student;
7.1.4 清除重复值
select distinct 1个或多个字段名 from 表名
案列语句
-- 添加一个字段address VARCHAR(50)
ALTER TABLE student ADD address VARCHAR(50);UPDATE student SET address = "广州";-- 查询学生来至于哪些地方,并且去掉重复行
SELECT address FROM student;
SELECT DISTINCT address FROM student;-- 查询学生的姓名和地址,去掉重复行.必须几个列都相同,才会去除
SELECT DISTINCT name, address FROM student;
7.1.5 查询结果参与运算
注意: 参与运算的必须是数值类型
固定值运算
select 列+数值 from 表名
其他列数据参与运算
select 列表1+列表2 from 表名
案列语句
-- 使用数据库
USE test1;-- 查询数据表
SELECT * FROM student;-- 修改student表结构,添加数学和英语成绩列
ALTER TABLE student ADD math int, ADD English int;-- 将student中的math字段名改成Math,类型为INT
ALTER TABLE student CHANGE math Math INT;-- 查询name Math字段
select name, Math FROM student;-- 更新数据
UPDATE student set math = "90", English = "96" WHERE id = 1;
UPDATE student set math = "99", English = "95" WHERE id = 2;
UPDATE student set math = "91", English = "88" WHERE id = 3;
UPDATE student set math = "90", English = "96" WHERE id = 4;
UPDATE student set math = "95", English = "100" WHERE id = 5;
UPDATE student set math = "98", English = "98" WHERE id = 6;-- 只影响查询结果
SELECT name, math-10 from student;-- 查询所有列与math + english的和并使用别名”总成绩”
select *,(math+english) 总成绩 from student;
7.2 条件查询
7.2.1 运算符查询
select 列名 from 表名 where 条件表达式
7.2.2 比较运算符
运算符 | 作用 |
---|---|
> < <= >= = <> != | 大于、小于、大于(小于)等于、不等于 |
BETWEEN …AND… |
显示在某一区间的值 例如: 2000-10000之间: Between 2000 and 10000 |
IN(集合) |
集合表示多个值,使用逗号分隔,例如: name in (悟空,八戒) in中的每个数据都会作为一次条件,只要满足条件就会显示 |
LIKE ‘%刘%’ | 模糊查询 |
IS NULL | 查询某一列为NULL的值, 注: 不能写 = NULL |
7.2.2-逻辑运算符
and 或 && | 全真为真 |
---|---|
or 或 || | 见真为真 |
not 或 ! | 取反 |
案列语句
-- 使用数据库
USE test1;-- 创建数据表
CREATE TABLE stu3(id INT, -- 编号NAME VARCHAR(20), -- 姓名age INT, -- 年龄sex VARCHAR(5), -- 性别address VARCHAR(100), -- 地址Math INT, -- 数学English INT -- 英语
);-- 插入数据
INSERT INTO stu3(id,NAME,age,sex,address,Math,English) VALUES
(1,'刘云',18,'男','广州',66,78),
(2,'刘涛',30,'女','深圳',98,87),
(3,'马小天',35,'男','北京',56,77),
(4,'柳云',20,'女','湖南',76,65),
(5,'张晓天',20,'女','北京',86,NULL),
(6,'侯大利',27,'男','重庆',99,99),
(7,'田甜',42,'女','重庆',99,99),
(8,'朱琳',50,'男','南京',56,65);
-- 查询数据表
SELECT * FROM stu3;-- 查询math分数大于80分的学生
select * from stu3 where Math > 80;-- 查询english分数小于或等于78分的学生
SELECT * FROM stu3 WHERE Math <= 77;-- 查询age等于20岁的学生
SELECT * FROM stu3 WHERE age = 20;-- 查询age不等于20岁的学生
SELECT *FROM stu3 WHERE age <>20;
SELECT * FROM stu3 where age!= 20;-- 查询age大于35且性别为男的学生(两个条件同时满足)
select * FROM stu3 where age>35 && sex="男";
select * FROM stu3 where age>35 AND sex="男";-- 查询age大于35或性别为男的学生(两个条件其中一个满足)
SELECT * FROM stu3 where age > 35 or sex = "男";-- 查询id是1或者3或者5的学生
SELECT * FROM stu3 WHERE id = 1 OR id = 3 OR id = 5;
7.4 关键字查询
7.4.1-in关键字
语法: in里面的每个数据都会作为一次匹配条件,只要满足条件的就会显示。
select 列名 from 表名 where 列名 in (值1,值2,值3);
7.4.2-范围查询
语法:表示从值1到值2范围,包头又包尾
select 列名 from 表名 where 列名 between 小值 and 大值
7.4.3-like关键字
语法:用于字符串的模糊查询
select 列名 from 表名 where 列名 like '字符串'
7.4.4-MySQL通配符
语法:如果没有通配符,相当于等于号。char, varchar
通配符 | 说明 |
---|---|
% | 匹配多个字符 |
_ | 匹配一个字符 |
7.4.5-查询为空的列
语法:判断列是否为空
IS NULL 不写成 =NULL
案列语句
# 模糊查询-- 查询姓马的学生
SELECT * from stu3 where `NAME` LIKE '刘%';
-- 查询姓名中包含'天'的姓名
SELECT * FROM stu3 WHERE name LIKE "%天%";
-- 查询姓刘,且姓名中有2个字的学生
SELECT * FROM stu3 where `NAME` LIKE "刘_";# 查询为空的列-- 查询英文成绩为NULL的学生
SELECT * FROM stu3 WHERE English IS NULL;
-- 查询英语成绩不为NULL的学生
SELECT * FROM stu3 WHERE English IS NOT NULL;
-- 查询姓名和英语成绩,如果英语为null,则显示为0分
SELECT `NAME`,English FROM stu3;
-- IFNULL(列名,默认值): 如果这一列有值,则显示它的值,如果为NULL,则显示后面默认值
SELECT name, English(English,0) 英语 FROM stu3;
MySQL-数据库查询语言相关推荐
- mysql数据库优化课程---6、mysql结构化查询语言有哪些
mysql数据库优化课程---6.mysql结构化查询语言有哪些 一.总结 一句话总结:主要分为四类 1.DCL 数据控制语言 1)grant 2)commit 3)rollback 2.DDL 数据 ...
- 数据库 MySQL 中 DQL 数据库查询语言(特别重要)
DQL 数据库查询语言 1.简单查询 2.where 条件字句 3.联表查询 4.自连接查询 5.分页和排序 6.子查询 7.MySQL 函数 8.select 小结 DQL(Data Query L ...
- MYSQL之DQL(数据库查询语言)
DQL(数据库查询语言): DQL(data query language)数据查询语言,专门用来查询数据. 一般使用的都是Select 所有的查询操作都是这个 简单的查询和复杂的查询都能做 数据库中 ...
- mysql 结构化数据库_【MySQL】——MySQL数据库和SQL结构化查询语言概述
[MySQL]--MySQL数据库和SQL结构化查询语言概述 [MySQL]--MySQL数据库和SQL结构化查询语言概述 文章目录数据库和SQL语言[1]数据库概述 [2]SQL语言 [3]MySQ ...
- 数据库(MySQL数据库,SQL结构化查询语言)
DDL DML DQL(模糊查询,字段控制,排序,聚合函数) 1.服务器 服务器:能对外提供某种服务的计算机,他软件和硬件的结合. 比如说:一台装有了数据库软件的计算机,能够提供数据的增删改查服务,这 ...
- asp mysql 查询_ASP基础教程:数据库查询语言(1)
原定计划从本篇开始就要给大家介绍 ASP 内建的 ActiveX 组件,但是考虑到我们在往后的学习中将会接触到大量的数据库查询,因此作者临时决定花一到两篇的篇幅向大家简要介绍一些数据库查询语言的基本知 ...
- mysql查询未讲课教师_SQL数据库查询语言练习
<SQL数据库查询语言练习>由会员分享,可在线阅读,更多相关<SQL数据库查询语言练习(9页珍藏版)>请在人人文库网上搜索. 1.SQL数据库查询语言练习:一.建立一个数据库表 ...
- asp mysql 查询_ASP数据库查询语言(一)
相信很多朋友都听说过SQL这 个名字,如果你是计算机方面的行家,SQL 的大名一定是如雷贯耳.那么 SQL 究竟是什么呢?SQL 一词实际上是 "Structured Query Langu ...
- Mysql DBA 高级运维学习之路-mysql数据库入门知识
1.MySQL数据库介绍 MySQL是一种关系型数据库管理系统,关系型数据库的特点是将数据保存在不同的表中,在将这些表放在不同的数据库中,而不是将所有数据统一放在一个大仓库里,这样设计增加了MySQL ...
- Mysql学习总结(41)——MySql数据库基本语句再体会
1.数据定义语言(DDL):定义和管理数据对象,比如建立数据库.数据表 数据操作语言(DML):用于操作数据库对象中的包含的数据. 数据查询语言(DQL):用于查询数据库对象中包含的数据,能够对表进行 ...
最新文章
- php mysql预处理_PHP MySQL 预处理语句
- oracle 性别 函数索引优化,oracle优化记录4_改写函数索引列
- 推荐 -- 极客导航,让工作学习更有效率
- CISCO的GLBP(网关负载均衡协议)
- python颜色表_Python+matplotlib绘制不同大小和颜色散点图实例
- 计算出你和另一个人的关系,准的邪门了!
- 【数学建模】CUMCM-2016A 系泊系统的设计 解题思路整理
- 基于Multisim的循环彩灯控制器仿真设计
- 用pdf转cad转换器进行操作的简单步骤
- python3数学建模基础(三)实现斐波那契数列
- Excel的格式类型
- Python带HTML表格图片的自动邮件发送
- 用防火墙自动拦截攻击IP
- 在htmlfor循环制作菱形基础上制作空心菱形
- Kali Linux 使用记录
- STM32F103C8T6在Arduino IDE里编程
- MySQL安装 ,版本mysql-5.7.19-winx64
- 【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(九)
- 大数据可视化-绘制景点热力图
- 光敏二极管和光敏三极管的原理、区别、辨别以及应用电路