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默认值

彩蛋

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

相关推荐
xfhuangfu4 小时前
Oracle中建立到CDB和PDB的连接
数据库·oracle·rpc
小小龙学IT4 小时前
DuckDB 深度实战:用 C++ 在进程内跑一个「分析型数据库」
数据库·c++
NineData4 小时前
DTCC 2026 预告|NineData CEO& 创始人叶正盛:面向 AI Agent 的数据库 DevOps 与数据复制实践
数据库·人工智能·数据库开发·devops·ninedata·数据库技术·dtcc
J_bean5 小时前
MySQL 事务是否必须手动开启?
数据库·mysql·数据库事务·自动提交·手动提交
J_bean5 小时前
MySQL InnoDB 如何检测死锁、判定死锁、处理死锁
数据库·mysql·死锁·死锁检测·处理死锁·死锁判定
浪子明X6 小时前
从 MongoDB 文档到关系模型:构建可重跑、可对账的数据迁移流水线
数据库·mongodb·oracle
杜子不疼.6 小时前
国产数据库撑起固井软件自主化:金仓 × 中海油服「海恒 Cemsol」落地解析
数据库
隔窗听雨眠6 小时前
GBase 8s并发控制深度解析:封锁机制、隔离级别与死锁处理全攻略
服务器·数据库·oracle
刀客Doc6 小时前
即时零售不只是多一个渠道,品牌开始重做终端生意
大数据·数据库
就叫飞六吧6 小时前
防抖、幂等、唯一约束三件套 ;
数据库