Mysql 常用语句及用法记录

   一、mysql简介-常用命令:

         MySQL是一种关系型数据库管理系统,它提供了许多命令和用法来管理和操作数据库。以下是一些常用的MySQL命令及其用法:

1. 连接数据库:

 mysql -u username -p

   用于连接到MySQL服务器,其中username是您的用户名。然后,系统会提示您输入密码来访问数据库。

2. 创建数据库:

CREATE DATABASE database_name;


   用于创建一个新的数据库,其中database_name是您想要创建的数据库的名称。

3. 选择数据库:

 USE database_name;

   用于选择要使用的数据库,其中database_name是您要选择的数据库的名称。

4. 创建表:

   CREATE TABLE table_name (column1 datatype constraint,column2 datatype constraint,...);


   用于创建一个新的表,其中table_name是您想要创建的表的名称,column1、column2等是表的列名和数据类型。

5. 插入数据:

  INSERT INTO table_name (column1, column2, ...)VALUES (value1, value2, ...);


   用于向表中插入新的数据,其中table_name是您要插入数据的表的名称。

6. 查询数据:

SELECT column1, column2, ...FROM table_nameWHERE condition;


   用于从表中检索数据,其中column1、column2等是您要检索的列名,table_name是您要检索数据的表的名称。

7. 更新数据:

 UPDATE table_nameSET column1 = value1, column2 = value2, ...WHERE condition;


   用于更新表中的数据,其中column1、column2等是您要更新的列名,table_name是您要更新数据的表的名称。

8. 删除数据:

  DELETE FROM table_nameWHERE condition;


   用于从表中删除数据,其中table_name是您要删除数据的表的名称。

9. 删除表:

  DROP TABLE table_name;


   用于删除一个表,其中table_name是您要删除的表的名称。

   二、更改MySQL用户的权限和属性命令:

1. 查看当前用户:

SELECT user, host FROM mysql.user;

    这将显示当前已经创建的用户列表以及他们的主机。您可以在这里找到要更改的用户。

2. 更改用户密码:

   ALTER USER 'username'@'host' IDENTIFIED BY 'new_password';


   将 'username' 替换为要更改密码的用户的用户名,'host' 是用户的主机,'new_password' 是新的密码。

3. 修改用户权限:

 GRANT permissions ON database_name.table_name TO 'username'@'host';


   permissions 是要授予用户的权限,可以是ALL PRIVILEGES、SELECT、INSERT、UPDATE、DELETE等,database_name 和 table_name 是数据库和表的名称,'username' 和 'host' 分别是要更改权限的用户和主机。

4. 删除用户权限:

 REVOKE permissions ON database_name.table_name FROM 'username'@'host';


   permissions、database_name、table_name、'username' 和 'host' 的含义与上述相同,该命令用于从用户上撤销特定权限。

5. 删除用户:

DROP USER 'username'@'host';


   用于删除特定用户,将 'username' 和 'host' 替换为要删除的用户和主机。

三、MySQL中常见的MySQL函数及其用法示例:

1. COUNT() 函数:

用于计算指定列的行数
   语法:SELECT COUNT(列名) FROM 表名 WHERE 条件;

   例如:

 SELECT COUNT(*) FROM employees; -- 计算员工表中的总行数SELECT COUNT(DISTINCT department_id) FROM employees; -- 计算员工表中不重复的部门ID数

2. SUM() 函数:

用于计算指定列的总和

 语法:SELECT SUM(列名) FROM 表名 WHERE 条件;例如:SELECT SUM(salary) FROM employees; -- 计算员工表中薪水的总和

3. AVG() 函数:

用于计算指定列的平均值

 语法:SELECT AVG(列名) FROM 表名 WHERE 条件;例如:SELECT AVG(age) FROM employees WHERE department_id = 1; -- 计算部门1员工的平均年龄

4. MAX() 函数:

用于找出指定列的最大值

语法:SELECT MAX(列名) FROM 表名 WHERE 条件;
例如:SELECT MAX(salary) FROM employees; -- 找出员工表中薪水的最高值

5. MIN() 函数:

用于找出指定列的最小值
   

语法:SELECT MIN(列名) FROM 表名 WHERE 条件;
例如:SELECT MIN(age) FROM employees; -- 找出员工表中年龄的最小值

6. CONCAT() 函数:

用于连接多个字符串
 

语法:SELECT CONCAT(字符串1, 字符串2, ...) FROM 表名 WHERE 条件;
例如:SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM employees; -- 将员工的姓和名连接成全名

7. DATE_FORMAT() 函数:

用于格式化日期
   

语法:SELECT DATE_FORMAT(日期列, '格式') FROM 表名 WHERE 条件;
例如:SELECT DATE_FORMAT(birth_date, '%Y-%m-%d') FROM employees; -- 将员工的生日日期格式化为年-月-日的形

8. 字符串函数:

- CONCAT(str1, str2, ...):将多个字符串连接在一起。

  示例:SELECT CONCAT('Hello', ' ', 'World'); -- 输出:Hello World

- LENGTH(str):返回字符串的长度。

  示例:SELECT LENGTH('Hello World'); -- 输出:11

- UPPER(str):将字符串转换为大写。

  示例:SELECT UPPER('hello'); -- 输出:HELLO

- LOWER(str):将字符串转换为小写。

  示例:SELECT LOWER('WORLD'); -- 输出:world

- SUBSTRING(str, start, length):返回字符串的子串。

  示例:SELECT SUBSTRING('Hello World', 7, 5); -- 输出:World

- REPLACE(str, search_str, replace_str):用一个字符串替换另一个字符串。

  示例:SELECT REPLACE('Hello World', 'World', 'Universe'); -- 输出:Hello Universe

9. 数值函数:

- ABS(x):返回x的绝对值。

  示例:SELECT ABS(-10); -- 输出:10

- ROUND(x, d):将x四舍五入到d位小数。

  示例:SELECT ROUND(3.14159, 2); -- 输出:3.14

- CEIL(x):返回大于或等于x的最小整数。

  示例:SELECT CEIL(4.25); -- 输出:5

- FLOOR(x):返回小于或等于x的最大整数。

  示例:SELECT FLOOR(4.25); -- 输出:4

- RAND():返回0到1之间的随机数。

  示例:SELECT RAND(); -- 输出:随机数

10. 日期和时间函数:

- NOW():返回当前日期和时间。

  示例:SELECT NOW(); -- 输出:当前日期和时间

- CURDATE():返回当前日期。

  示例:SELECT CURDATE(); -- 输出:当前日期

- CURTIME():返回当前时间。

  示例:SELECT CURTIME(); -- 输出:当前时间

- DATE_FORMAT(date, format):将日期格式化为指定格式。

  示例:SELECT DATE_FORMAT(NOW(), '%Y-%m-%d'); -- 输出:当前日期的年-月-日格式

- ADDDATE(date, INTERVAL value unit):将日期增加指定的时间间隔。

  示例:SELECT ADDDATE(CURDATE(), INTERVAL 1 WEEK); -- 输出:当前日期加1周后的日期

11.if条件函数:

1. IF(condition, value_if_true, value_if_false):根据条件返回不同的值。

   示例:SELECT IF(10 > 5, 'Yes', 'No'); -- 输出:Yes

2. CASE表达式:用于根据条件进行多重分支判断。

   示例:

   SELECT column_name,CASEWHEN condition1 THEN value1WHEN condition2 THEN value2...ELSE default_valueEND AS alias_nameFROM table_name;

3. COALESCE(value1, value2, ...):返回参数中的第一个非NULL值。

   示例:SELECT COALESCE(NULL, 'Value', 'Default'); -- 输出:Value

4. NULLIF(expr1, expr2):如果expr1和expr2的值相等,则返回NULL,否则返回expr1的值。

   示例:SELECT NULLIF(10, 10); -- 输出:NULL

5. IFNULL(expr1, expr2):如果expr1为NULL,则返回expr2的值,否则返回expr1的值。

   示例:SELECT IFNULL(NULL, 'Value'); -- 输出:Value

6. CASE WHEN...THEN...ELSE...END函数:用于在查询中进行条件判断。

   示例:

   SELECT column_name,CASEWHEN condition1 THEN value1WHEN condition2 THEN value2...ELSE value_if_falseEND AS alias_nameFROM table_name;

四、Mysql存储过程使用:

1. 创建存储过程:

通过CREATE PROCEDURE语句来创建存储过程。

   示例:

CREATE PROCEDURE procedure_name()BEGIN-- 存储过程的SQL语句END;

2. 参数传递:

存储过程可以接受输入参数和输出参数。

   示例:

 CREATE PROCEDURE procedure_name(IN param1 INT, OUT param2 VARCHAR(255))BEGIN-- 存储过程的SQL语句END;

3. 调用存储过程:

使用CALL语句来调用存储过程。

   示例:

 CALL procedure_name();

4. 条件判断:

可以在存储过程中使用条件判断语句,如IF、CASE等来实现逻辑控制。

   示例:

 IF condition THEN-- 执行的操作ELSE-- 执行的操作END IF;

5. 循环:

可以在存储过程中使用循环语句来实现迭代操作,如WHILE、LOOP等。

   示例:

 WHILE condition DO-- 执行的操作END WHILE;

6. 返回结果:

存储过程可以返回结果集或者单个值。

   示例:

 CREATE PROCEDURE procedure_name()BEGINSELECT column_name FROM table_name;END;

五、MySQL视图的创建和使用:

1. 创建视图:

使用CREATE VIEW语句来创建视图。

   示例:

   CREATE VIEW view_name ASSELECT column1, column2FROM table_nameWHERE condition;

2. 查看视图:

使用SELECT语句来查询和查看视图的数据。

   示例:

 SELECT * FROM view_name;

3. 更新视图:

视图可以通过更新操作来修改基础表的数据。

   示例:
 

 UPDATE view_nameSET column1 = valueWHERE condition;

4. 删除视图:

使用DROP VIEW语句来删除视图。

   示例:

 DROP VIEW view_name;

5. 视图的替代表达式:

在视图定义中,可以使用计算字段、函数、子查询等来创建复杂的查询逻辑和结果集。

    示例:
 

 CREATE VIEW view_name ASSELECT column1, column2, column1 + column2 AS totalFROM table_name;

6. 视图的嵌套:

可以在一个视图中引用另一个视图,从而创建更复杂的查询结果。   示例:

CREATE VIEW view1 ASSELECT column1, column2FROM table_name;CREATE VIEW view2 ASSELECT column1FROM view1;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/782083.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java数据结构】关于栈的操作出栈,压栈,中缀表达式,后缀表达式,逆波兰表达式详解

🔥个人主页:努力学编程’ 🔥内容管理:java数据结构 上一篇文章我们讲过了java数据结构的链表,对于链表我们使用了它的一些基本操作,完成了扑克牌小游戏的操作,如果你感兴趣的话,点…

MATLAB 自定义均值滤波 (53)

MATLAB 自定义均值滤波 (53) 一、算法介绍二、算法实现1.原理2.代码一、算法介绍 均值滤波,是一种常见的点云平滑算法,改善原始点云的数据质量问题,MATLAB自带的工具似乎不太友好,这里提供自定义实现的点云均值滤波算法,具体效果如下所示: 均值滤波前: 均值滤波后:…

Pycharm选择使用Anaconda环境中的Pytorch 失败解决办法之一

前几日想要复现一篇论文,结果给配的台式机完全禁不住,老是报溢出,慢都没事,溢出就很难受了,因此想用自己笔记本的GPU来训练。 安装以后遇到一个问题: Anaconda里创建了环境,安装好了对应pytor…

RPC--远程调用

通信调用 程序A(加密) 程序B 内存共享 (本地RPC) 发送窗口信息 (本地RPC) --长度有限制 串口通讯 com口 --浏览器不开串口... 通讯管道(防止多开) (本地RPC) --对我们不可见. 网络 TCP/IP (远程RPC) --good! 浏览器(, ws) <--- 任意语言开发的软件 --任意语言控制浏览器. 注…

Linux基础知识

文章目录 一、入门命令&#xff1a;1.find 条件 要查找的文件满足的条件&#xff08;从当前目录开始查找&#xff09;&#xff1a;2.locate 文件名&#xff1a;3.lear CTRL L &#xff08;清除终端窗口&#xff09;与cat&#xff08;打印输出文件内容&#xff09;&#xff1a…

CSS3新增的语法(一)

1. CSS3 新增长度单位 rem根元素字体大小的倍数&#xff0c;只与根元素字体大小有关。vw 视口宽度的百分之多少------10vw 就是视口宽度的10% 。vh 视口高度的百分之多少 ------10vh 就是视口高度的10% 。vmax 视口宽高中大的那个的百分之多少。&#xff08;了解即可&#xff…

[TS面试]TS中使用Union Types时注意事项?

TS中使用Union Types时注意事项? 属性和方法的访问? 只能访问共有属性或方法 function getLength(something: string | number):number{return something.length // wrong, 因为number 类型时候没有 .length }function getString(something: string | number):string{retur…

网络性能提升10%,ZStack Edge 云原生超融合基于第四代英特尔®至强®可扩展处理器解决方案发布

随着业务模式的逐渐转变、业务架构逐渐变得复杂&#xff0c;同时容器技术的兴起和逐渐成熟&#xff0c;使得Kubernetes、微服务等新潮技术逐步应用于业务应用系统上。 为了充分释放性能、为业务系统提供更高效的运行环境&#xff0c;ZStack Edge 云原生超融合采用了第四代英特尔…

ROS传感器图像转换

ros通过摄像头来获得图片&#xff0c;传感器数据类型为sensor_msgs中的Image&#xff0c;具体的数据类型组成&#xff1a; sensor_msgs/Image Documentationhttp://docs.ros.org/en/api/sensor_msgs/html/msg/Image.html但是我们一般使用opencv对图像进行处理&#xff0c;所以…

elementui 导航菜单栏和Breadcrumb 面包屑关联

系列文章目录 一、elementui 导航菜单栏和Breadcrumb 面包屑关联 文章目录 系列文章目录前言一、elementui 导航菜单栏和Breadcrumb 面包屑怎么关联&#xff1f;二、实现效果三、实现步骤1.本项目演示布局2.添加面包屑2.实现breadcrumbName方法3.监听方法4.路由指配5.路由配置…

FastAPI+React全栈开发15 让我们构建一个展示API

Chapter03 Getting Started with FastAPI 15 Let’s Build a showcase API FastAPIReact全栈开发15 让我们构建一个展示API REST APIs are all about cycles of HTTP requests and responses, it is the engine that powers the web and is implemented in every web framew…

全国青少年软件编程(Python)等级考试三级考试真题2023年12月——持续更新.....

青少年软件编程&#xff08;Python&#xff09;等级考试试卷&#xff08;三级&#xff09; 分数&#xff1a;100 题数&#xff1a;38 一、单选题(共25题&#xff0c;共50分) 1.一个非零的二进制正整数&#xff0c;在其末尾添加两个“0”&#xff0c;则该新数将是原数的&#xf…

具备实时数据更新能力的大语言模型——Larimar

ChatGPT、Claude.ai等大模型产品就像“图书馆”一样为我们生成各种各样的内容。但是想更新这个图书馆里的知识却不太方便&#xff0c;经常需要漫长、费时的预训练、蒸馏才能完成。 研究人员提出了一种具有情景记忆控制的大语言模型Larimar&#xff0c;这是一种类似人脑"海…

love 2d win 下超简单安装方式,学习Lua 中文编程 刚需!!

一、下载love 2d 参考&#xff1a;【Love2d从青铜到王者】第一篇:Love2d入门以及安装教程 或直接下载&#xff1a; 64位&#xff0c;现在一般电脑都可以用。 64-bit zipped 32位&#xff0c;很复古的电脑都可以用。 32-bit zipped 二、解压 下载好了之后&#xff0c;解压到…

css3之动画animation

动画animation 一.优点二.定义和使用三.动画序列和解释四.常见属性及解释五.简写&#xff08;名字和时间不能省略&#xff09;&#xff08;持续时间在何时开始的时间前&#xff09;&#xff08;简写中无animation-play-state)六.例子1.大数据热点图2.奔跑的熊大&#xff08;一个…

vitess执行计划缓存 测试

打开执行计划器缓存&#xff1a; sysbench /usr/local/share/sysbench/oltp_write_only.lua --mysql-host127.0.0.1 --mysql-port15306 --mysql-userroot --mysql-password --mysql-dbcustomer --report-interval10 100s sysbench /usr/local/share/sysbench/oltp_read_only.l…

MySQL与SQLite区别

MySQL和SQLite都是关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;它们都使用SQL&#xff08;结构化查询语言&#xff09;作为标准查询语言。然而&#xff0c;尽管它们共享许多共同点&#xff0c;但它们在语法、功能、性能和存储机制方面存在一些差异。 以下是…

vlanif三层交换机实现不同网络通信

实验目的&#xff1a;通过三层交换机实现不同 网络通信&#xff0c;之前都是路由器进行不同网络转发 拓扑图 内容&#xff1a;左边vlan10&#xff0c;右边vlan20 lsw1接口通过所有vlan lsw2网路vlan10 lsw3网络vlan20 问题点&#xff1a;开始只是配置了最上面LSW1的交换机…

React学习总结(三)之React探索

1.create-react-app脚手架的应用及优化 1.create-react-app是一个命令行工具&#xff0c;用于快速生成基于React的单页面应用程序的脚手架。 2.全局安装第三方脚手架 npm install -g create-react-app 3.创建项目 create-react-app <project_name> 4.暴露配置文件(执行后…

三台电机的顺启逆停

1&#xff0c;开启按钮输入信号是 电机一开始启动&#xff0c;5秒回电机2启动 &#xff0c;在5秒电机三启动 关闭按钮输入时电机3关闭 &#xff0c;5秒后电机2关闭 最后电机一关闭 2&#xff0c;思路开启按钮按下接通电机1 并且接通定时器T0 定时器T0 到时候接通电机2 并且开…