DataBase【MySQL基础夯实使用说明(中)】

MySQL数据库

🏆当领导问你忙不忙,您怎么回复?
🔔要让领导知道你很忙,但是你的事情紧急,我可以优先处理!


文章目录


前言

在信息技术飞速发展的当下,数据的价值日益凸显,如同深埋地下的宝藏,等待着被挖掘和利用。而数据库管理系统,就像是开启这座宝藏的钥匙,其中 MySQL 更是这把钥匙中的佼佼者。它凭借自身独特的优势,在开源数据库领域中占据着举足轻重的地位,广泛应用于从个人网站到大型企业级应用的各个角落。本文将深入剖析 MySQL,从它的诞生背景、核心特性,到存储引擎的奥秘,以及丰富多样的应用场景,带你全方位认识这款备受瞩目的数据库管理系统,探寻它在数据管理世界中长盛不衰的秘诀。


提示:以下是本篇文章正文内容,下面案例仅供学习参考:

一、SQL(Structured Query Language)

SQL(Structured Query Language)是用于访问和处理数据库的标准语言,MySQL 使用 SQL 来管理和操作数据库!

1.1.DCL语句

数据控制语言(DCL,Data Control Language):用于控制数据库的访问权限和事务处理。GRANT语句用于授予用户权限,如GRANT SELECT, INSERT ON mydb. TO 'user'@'localhost';可授予user用户在本地对mydb数据库的查询和插入权限;REVOKE语句用于收回用户权限,如REVOKE INSERT ON mydb.* FROM 'user'@'localhost';可收回该用户的插入权限;COMMIT语句用于提交事务,ROLLBACK语句用于回滚事务,保证数据的一致性和完整性。*


1.1.1.管理用户

1.1.1.1.查询用户
sql 复制代码
USE mysql;
SELECT * FROM user;

1.1.1.2.创建用户
sql 复制代码
CREATE USER '用户名'@'主机名'IDENTIFIED BY '密码';

1.1.1.3.修改用户密码
sql 复制代码
ALTER USER '用户名'@'主机名'IDENTIFIED WITH mysql_native_password BY '新密码';

1.1.1.4.删除用户
sql 复制代码
DROP USER'用户名'@'主机名;

⚠️

  • 主机名可以用%符号进行通配。
  • 此类语句在实际中使用较少,主要是DBA(DataBase Administrator 数据库管理员)使用。

1.1.2.权限控制

在MySQL中定义了很多种权限,常用的如下:

权限 说明
ALL, ALL PRIVILEGES 所有数据
SELECT 查询数据
INSERT 添加数据
UPDATE 修改数据
DELETE 删除数据
ALTER 修改表
DROP 删除表/数据/视图
CREATE 创建数据库/表

1.1.2.1.查询权限
sql 复制代码
SHOW GRANTS FOR '用户名'@'主机名';

1.1.2.2.授予权限
sql 复制代码
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';

1.1.2.3.撤销权限
sql 复制代码
REVOKE 权限列表 ON 数据库名.表名 FROM'用户名'@'主机名';

二、函数

函数是指一段可以直接被另一段程序调用的程序或代码!

2.1.字符串函数

函数 功能
CONCAT(S1,S2,...Sn) 字符串拼接,将S1,S2,...Sn拼接成一个字符串
LOWER(str) 将字符串str全部转为小写
UPPER(str) 将字符串str全部转为大写
LPAD(str,n,pad) 左填充,用字符串pad对str的左边进行填充,达到n个字符串长度
RPAD(str,n,pad) 右填充,用字符串pad对str的右边进行填充,达到n个字符串长度
TRIM(str) 去掉字符串头部和尾部的空格
SUBSTRING(str,start,len) 返回从字符串str从start位置起的len个长度的字符串

语法:

sql 复制代码
SELECT 函数(参数)

2.2.数值函数

函数 功能
CEIL(x) 向上取整
FLOOR(x) 向下取整
MOD(x,y) 返回x/y的模
RAND() 返回0~1内的随机数
ROUND(x,y) 求参数x的四舍五入的值,保留y位小数

2.3.日期函数

函数 功能
CURDATE() 返回当前日期
CURTIME() 返回当前时间
NOW() 返回当前日期和时间
YEAR(date) 获取指定date的年份
MONTH(date) 获取指定date的月份
DAY(date) 获取指定date的日期
DATE ADD(date,INTERVAL expr type) 返回一个日期/时间值加上一个时间间隔expr后的时间值
DATEDIFF(date1,date2) 返回起始时间date1 和 结束时间date2之间的天数

2.4.流程函数

实现在SQL语句中进行条件筛选!

函数 功能
IF(value ,t, f) 如果value为true,则返回t,否则返回f
IFNULL(value1 ,value2) 如果value1不为空,返回value1,否则返回value2
CASE WHEN val1 THEN res1 ... ELSE default END 如果val1为true,返回res1,.否则返回default默认值
CASE expr WHEN val1 THEN res1 ... ELSE default END 如果expr的值等于val1,返回res1,...否则返回default默认值

彩蛋

👑领导,有什么工作,如果急的话,我优先处理!

相关推荐
Nturmoils8 小时前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库
渣波12 小时前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端
Jim6001 天前
【吃透 MySQL InnoDB连载】第 1 章・解密线上数据库高频故障
mysql
GreatSQL1 天前
gt-checksum v4.0.0 新功能解读系列文章(4):SSL 加密连接——数据校验传输安全再升级
mysql
倔强的石头_2 天前
KingbaseES 新版MySQL 兼容版体验:旧版迁移 + 功能实测
数据库
倔强的石头_4 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
云技纵横4 天前
唯一索引 INSERT 死锁实战:5 秒复现交叉插入的 S 锁循环等待
sql·mysql
沉默王二4 天前
面试官:RAG 不用向量数据库,用 MySQL 硬扛?我:100 万向量不是很轻松?
mysql·面试·ai编程
冬奇Lab5 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm