MySQL——对表格的基本操作(注释,查询,排序,正则,分页)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: 对表格的基本操作(注释,查询,排序,正则,分页)

注释

单行注释:#注释文字(MySQL特有的方式)

单行注释:-- 注释文字(--后面必须包含一个空格。)

多行注释:/* 注释文字 */

下载可视化工具/点击连接/MySQL

92b2eb63d37846acbff91f693193f323.png

点击连接测试

e7bb3bb09a0e4fc4ba49c75eb3e9bd4d.png

错误原因:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 把mysql用户登录密码加密规则还原成mysql_native_password.

方法如下:(打开cmd)

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

#修改加密规则

ALTE RUSER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

#更新一下用户的密码

FLUSH PRIVILEGES;   #刷新权限

单独重置密码命令:alter user 'root'@'localhost' identified by '111111';

再次连接即可

进入后右键新建数据库:格式如下

207b3fbc551847de969484f7026508db.png

点击数据库/右键表;制作一个简单的表格/ctrl+s保存

1cf82ae19fce4cc387096193c4798a6c.png

基本查询语句

插入表格:INSERT into info VALUES(1,'张三','男',20,15357987893,'合肥',1)

查询语句:

查询所有的列:SELECT * FROM info

查询指定的列:SELECT id,name FROM info

更改数据名称: select name as myname,sex mysex from info

去除重复的信息:SELECT DISTINCT NAME FROM info

查询所有id为2的列:select * from info where id=2

select 1+1;--2
select 1.2+1;--2.2

比较运算符

筛选大于一的所有列表:select * from info where id>1

不等于一的所有列表:select * from info where id!=1

id为2到4之间的列表项:select * from info where id between 2 and 4

id为2,3,4的列表项select * from info where id in(2,3,4)

id不为2,3,4的列表项select * from info where id not in(2,3,4)

select * from info where name ='张三'

模糊查询:列表中带张三字段的列表:select * from info where name Like '%张三%'

REGEXP运算符

‘^’匹配以该字符后面的字符开头的字符串。

‘$’匹配以该字符前面的字符结尾的字符串。

‘.’匹配任何一个单字符。

“[...]”匹配在方括号内的任何字符。例如,“[abc]”匹配“a”或“b”或“c”。为了命名字符的范围,使用一 个‘-’。“[a-z]”匹配任何字母,而“[0-9]”匹配任何数字。

‘*’匹配零个或多个在它前面的字符。例如,“x*”匹配任何数量的‘x’字符,“[0-9]*”匹配任何数量的数字, 而“*”匹配任何数量的任何字符。

查询末尾为3的列表项:select * from info where name Regexp '3$' 
查询id存在123的列表项:select * from info where id Regexp '[123]'

排序子句

(单列排序)对id进行升序:select * from info order by id asc | desc(降序)

(多列排序)先比较id升序,再比较uid升序:select * from info order by id asc,uid asc

分页子句

问题:返回记录多的时候如何分页?只需其中的某一条或者某几条怎么办?

语法:LIMIT [位置偏移量,] 行数;(放入select 语句后)

(业务场景)从0开始取两个值:select * from info LIMIT 0,2

select *from in LIMIT 0,3   #(2-1)*3 第一页三列数据

分页公式:(当前页数-1)*每页条数,每页条数

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


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8天前
|
存储 关系型数据库 MySQL
MySQL数据库的数据类型、语法和高级查询
MySQL数据库的数据类型、语法和高级查询
23 0
|
7天前
|
存储 关系型数据库 MySQL
MySQL的一些基本操作
MySQL的一些基本操作
11 1
|
7天前
|
存储 缓存 监控
MySQL 8.0中查询缓存的废弃与原因分析
MySQL 8.0中查询缓存的废弃与原因分析
23 1
|
11天前
|
SQL 关系型数据库 MySQL
MySQL周内训参照3、简单查询与多表联合复杂查询
MySQL周内训参照3、简单查询与多表联合复杂查询
16 1
|
21小时前
|
SQL 关系型数据库 MySQL
经验大分享:MySQL(三)数据库表的查询操作【重要】
经验大分享:MySQL(三)数据库表的查询操作【重要】
|
1天前
|
SQL 关系型数据库 MySQL
【MYSQL】排序时 如何将0排到最后,并让其他值按正序展示?
【MYSQL】排序时 如何将0排到最后,并让其他值按正序展示?
4 0
|
7天前
|
监控 关系型数据库 MySQL
MySQL 查询数据库响应时长详解
- 启用慢查询日志(`slow_query_log`)分析超时查询,调整`long_query_time`阈值。 - 使用`EXPLAIN`检查查询执行计划,优化索引和查询结构。 - `SHOW PROFILE`揭示查询各阶段耗时,辅助性能调优。 - 开启Performance Schema监控服务器,通过`events_statements_summary_by_digest`等表分析性能。 - MySQL Workbench和Percona Toolkit等工具提供额外的性能分析和管理功能。 - 优化技巧:创建合适索引,精简查询,调整数据库配置以提升响应速度。
38 0
|
9天前
|
关系型数据库 MySQL 数据库
MySQL的排序、分组、合并
MySQL的排序、分组、合并
|
12天前
|
SQL 关系型数据库 MySQL
MySQL分组查询以及having筛选
MySQL分组查询以及having筛选
11 0
|
12天前
|
SQL 关系型数据库 MySQL
MySQL多表联合查询+分组+排序
MySQL多表联合查询+分组+排序
12 0