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

彩蛋

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

相关推荐
zhangguojia76 分钟前
权限弹窗点击允许的授权流程
运维·服务器·数据库
jnrjian14 分钟前
Postgres 序列(sequence)的权限
数据库·postgresql
风禾万里14 分钟前
【无标题】
数据库
镜舟科技17 分钟前
为什么 Text-to-SQL 总是停在 Demo?
数据库·sql·demo·text-to-sql·镜舟科技·mip·语义视图
人生苦短12825 分钟前
Oracle RAC 日常管理+排错命令大全
数据库·oracle
镜舟科技26 分钟前
从 DBA 经验到 Agent:镜舟如何构建生产级智能排障体系
数据库·agent·dba·skill·devops agent·mirrorship
瀚高PG实验室34 分钟前
HAC 集群主节点状态在starting、running之间频繁切换
运维·数据库·postgresql·瀚高数据库
其实防守也摸鱼39 分钟前
教育信息技术应用创新---基础软件信息赛
运维·服务器·数据库·github·copilot
GG-_-Bond39 分钟前
9.1-kv存储持久化的设计
数据库
Gauss松鼠会1 小时前
【GaussDB】GaussDB 组件、节点和AZ故障仲裁与切换流程
运维·服务器·数据库·gaussdb