我的编程空间,编程开发者的网络收藏夹
学习永远不晚

【MySQL】MySQL基础知识详解(一)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

【MySQL】MySQL基础知识详解(一)

MySQL


前言

洁洁的个人主页
我就问你有没有发挥!
知行合一,志存高远。

select

最基本的SELECT语句

# SELECT 字段1,字段2...FROM表名```sqlSELECT 1+1,2*2
此句运行结果·就是· 2,4其实相当于·```sqlSELECT 1+1,2*2FROM DUAL;#dual 伪表
SELECT *FROM employees# * 代表表中所有的字段(列)

其中字段的名字要完全正确(及所写的字段的名字在表中存在,不可以写缩写等)

列的别名

SELECT personname name,personage AS age,personsex "sex"FROM employees

第一种:
name就是 personname的别名
第二种
age就是personage的别名
as 英文全称 alias(别名),可以省略
第三种:
sex就是personsex的别名

注意:
不能使用单引号
日期时间,字符串类型的变量需要使用时使用一对 ’ '单引号

去除重复行

SELECT DISTINCT personageFROM employees

只显示出一种年龄,比如有两个相同的年龄,经过此词语后只会留下一个年龄。
错误示范:

SELECT personname, DISTINCT personageFROM employees 

personname没有去重,但是personage却去重了,导致无法通过

SELECT DISTINCT personname,  personageFROM employees 

实际上对personname,personage两个都进行却重,不会报错,但没有实际·意义

空值参与运算

空值:NULL
空值不等同于0 或者 ‘ ’
空值参与运算时结果也一定为NULL
那么当字段中有NULL时怎么计算呢?
可以引入IFNULL函数
IFNULL(字段,0)
意思是如果 字段为NULL的话就会把其看作0

着重号

必须保证你到字段没有和保留字,数据库系统或常用方法冲突,如果坚持使用,请在sql语句中使用 ``引起来。
比如:

SELECT *FROM ORDER

ORDER 因为是一个排序的关键字,所以如果一运行会报错。
解决方法就是加上一对``

SELECT *FROM `order`

查询常数

就是在SELECT查询结果中增加一列固定的常数列,这列的取值是我们规定的,不是从数据表中动态取出的、作为常量出现

SELECT “xiaojiejie”,personage FROM employees; 

结果及在每一个年龄·前面都匹配填充上“xiaojiejie”

显示表结构

显示表中字段的详细信息

DESCRIBE employees;#或者DESC employees;

过滤数据

SELECT *FROM employeesWHERE personage=12;

即只显示表中年龄为12的数据
同理

SELECT *FROM employeesWHERE personname='xiaojiejie';

即只显示表中姓名为’xiaojiejie’的数据
因为‘xiaojiejie’是字符串,所以要用单引号
注意:‘xiaojiejie’ 由于Mysql的不严谨性,'xiaojiejie’的大小写不会区分。和不区分单引号,双引号一样。
但是在oracl 中就会区分。所以还是要严格按照sql的标准来执行学习。

排序

如果假如没有使用排序操作,默认情况下查询返回的数据是按照添加数据的顺序来显示的。

SELECT *FROM employees;

使用 ORDER BY 对查询到的数据进行排序操作。

升序:ASC(ascend)
降序:DESC(descend)
比如:
按照age从高到低的顺序进行排序

SELECT ageFROM personORDER BY age DESC;

按照age从低到高的顺序进行排序

SELECT ageFROM personORDER BY age ASC;

如果 ORDER BY age; 后面没有显示指定排序的方式的话,则默认按照升序排序。

SELECT ageFROM personORDER BY age;

使用列的别名,进行排序

SELECT age*12 ageeFROM personORDER BY agee;

注意:列的别名只能在ORDER BY 中使用,不能在WHERE 中使用
比如

SELECT age*12 ageeFROM personWHERE agee > 10;#会报错

那么·当同时出现WHERE 和ORDER BY时应该·怎么写呢?
格式强调:
WHERE的声明要写在FROM后,ORDER BY 之前

SELECT ageFROM personWHERE age > 10ORDER BY age;

二级排序

在对列进行排序的时候,首先排序的第一列必须有相同的列值,才会对第二列进行排序。
如果第一列的数据中所有值都是唯一的,将不再对第二列进行排序。
比如:
显示员工信息。按照age降序排列,salary的升序排列

SELECT name,age,salaryFROM personORDER BY age,salary ASC;

分页

LIMIT 分页显示公式:(当前页数减一)*每页条数,每页条数

SELECT *FROM tableLIMIT (pageNo-1)*pageSize,pageSize;

例如
显示前10条记录:

SELECT *FROM tableLIMIT 0,10

显示第11条到20条记录:

SELECT *FROM tableLIMIT 10,10

显示第21条到20条记录:

SELECT *FROM tableLIMIT 20,10

注意:在mysql8.0当中,可以使用“LIMIT 3 OFFSET 4”
意思是从第5条记录开始,向后获取3条记录。与“LIMIT 4,3”结果一样。
注意:LIMIT子句一定要放在整个SELECT语句的最后面。

使用LIMIT句子好处

约束返回结果的数量可以减少数据表的网络传输量,也可以提升查询效率。如果我们知道返回结果只有一条,就可以使用LIMIT 1
告诉SELECT 语句只需要返回一条记录即可。这样的好处就是SELECT语句不需要扫描完整的表,只需要检索到一条符合条件的记录即可返回。

文章到此结束啦,欲知后事如何,请看下篇!😘

来源地址:https://blog.csdn.net/2202_75623950/article/details/132307138

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

【MySQL】MySQL基础知识详解(一)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL基础知识

1、MySQL查询 union和union all的区别: union和union all都可以将两边的查询结果合并,区别在于union的合并会去掉重复行,并且使用默认的排序规则。而union all返回所有行(包括重复行),且对结果不进行排序。 举例如现在创
MySQL基础知识
2022-01-06

mysql基础知识-3

一、mysql修改用户密码方法:    方法一:mysqladmin -u username -h host -p password 'new_password';    方法二:mysql>set password for 'userna
2023-01-31

MySQL相关基础知识

------------恢复内容开始------------目录MySQL相关知识Mysql链接创建数据库删除数据库选择数据库数据类型数据表相关创建数据表创建数据表需要的信息语法字段约束条件删除数据表查询数据表结构修改表的结构增加表字段修改列的长度及约束修改表
MySQL相关基础知识
2021-08-16

MySQL基础知识清单

MySQL的常见命令1.查看当前所有的数据库show databases;2.打开指定的库use 库名3.查看当前库的所有表show tables;4.查看其它库的所有表show tables from 库名;5.创建表create table 表名(列名 列
MySQL基础知识清单
2019-10-24

一文读懂navicat for mysql基础知识

目录一、数据库的操作二、数据类型三、备份和恢复三、操作动作四、高级五、知识补充一、数据库的操作 1、新建数据库2、打开数据库 右键或者双击就可以了。 3、删除数据库 右键?>删除数据库 4、修改数据库 右键?>数据库属性 二、数据类型 1、
2022-05-13

编程热搜

目录