MySQL学习(3)—MySQL常用命令

ps:此随笔基于mysql 5.7.*版本。

准备

  • net start mysql
    启动MySQL服务
  • net stop mysql
    关闭MySQL服务
  • mysql [-h
  • exit/quit
    退出MySQL

注:MySQL的提示符是:mysql> 。MySQL命令结束使用”;”或是”\G”。

已知root账户密码进行登录

格式:mysql [-h地址] [-p端口] -u用户名 -p密码

省略不写地址或端口则自动使用默认。(地址:localhost;端口:3306)

两种方式进行登录。方式1:

MySQL学习(3)---MySQL常用命令

方式2:

MySQL学习(3)---MySQL常用命令

忘记root账户密码进行登录(修改root密码)

  1. 以管理员身份打开一个cmd。
  2. 检查MySQL服务是否启动,若已启动则先将其停止服务,输入命令:net stop mysql,回车。
  3. 输入命令:E:,回车,再次输入:cd MySQL\MySQL Server 5.7\bin,切换至mysql安装目录的bin目录下。输入命令:mysqld –defaults-file=”E:\MySQL\MySQL_Data\my.ini” –console –skip-grant-tables,回车。

MySQL学习(3)---MySQL常用命令

该命令通过跳过用户权限安全检查,开启MySQL服务,这样连接MySQL时,可以不用输入密码。此时已经开启MySQL服务,保留这个cmd窗口。

注:这里笔者修改了MySQL配置文件my.ini中basedir和datadir各自的路径。

MySQL学习(3)---MySQL常用命令
  1. 同样使用管理员身份,另起一个cmd窗口,尝试连接MySQL。输入命令:mysql -uroot -p,回车,随后出现:Enter password:,这里不用输入密码,直接回车,出现登录成功的信息。

MySQL学习(3)---MySQL常用命令
  1. 执行命令来重置root账户密码:update mysql.user set authentication_string=password(‘新密码’) where user=’root’;,回车。
  2. 刷新权限。输入命令:flush privileges;,回车。
  3. 然后退出,重新登录。输入命令:quit或exit,回车。
  4. 此时关闭之前的cmd窗口。执行命令来启动MySQL服务:net start mysql,回车。
  5. 再次尝试连接mysql。输入命令:mysql -uroot -p,回车。出现输入密码提示,输入新密码即可登录。

MySQL学习(3)---MySQL常用命令
  1. 至此,忘记root账户密码问题解决。

数据库操作

  • show databases;
    查看所有的数据库,等同于select schema_name from information_schema\G;(注:\G以纵向 报表的形式输出结果,有利于阅读)
  • create database
  • use
  • select database();/status;
    查看当前使用的数据库
  • drop database
  • alter database 数据库名 character set

表操作

注:操作表之前应使用”use

  • show tables [from
  • desc/describe
  • show create table
  • create table
  • create table
  • rename table
  • alter table
  • alter table
  • alter table
  • alter table
  • alter table
  • alter table
  • alter table
  • alter table
  • alter table
  • alter table
  • drop table
  • insert into
  • delete from
  • delete from
  • update
  • select * from
  • select [distinct]

用户和权限管理

  • create user ‘用户名’@’IP地址|域名|%|localhost’ [identified by ‘密码’];(注:%代表通配符,允许客户端以任何IP访问,localhost代表只能通过本机进行登录。如果既有字母,又有数字,则不进行匹配(防止恶意访问))
    单独创建用户
  • grant
  • select user();
    查看当前登录用户
  • show grants;
    查看当前用户权限
  • show grants for ‘用户名’@’IP地址|域名|%|localhost’;
    查看某个用户的权限
  • rename user ‘旧用户名’@’IP地址|域名|%|localhost’ to ‘新用户名’@’与前者相同’;
    重命名用户
  • upadte mysql.user set authentication_string=pasword(‘新密码’) where user=’用户名’ and host=’IP地址|域名|%|localhost’;
    修改用户密码
  • flush privileges;
    刷新权限
  • revoke
  • drop user ‘用户名’@’IP地址|域名|%|localhost’;
    删除用户

注:每当调整权限之后需要使用flush privileges;命令刷新更改的权限设置

查询数据库运行状态

  • show status like ‘%Aborted_connects%’;
    查询由于客户端尝试连接,而被MySQL拒绝的连接次数
  • show status like ‘%Threads_connected%’;
    查询当前打开的连接数量
  • show status like ‘Qcache%’;
    查询缓存情况
  • show variables like ‘log_bin’;
    查询是否启用binlog日志

备份与恢复

  • mysqldump [-h
  • mysqldump [-h
  • mysqldump [-h
  • mysqldump [-h
  • mysqldump [-h
  • mysqldump [-h
  • mysqldump [-h
  • mysqldump [-h

内置函数

数学函数

  • ABS(x):绝对值
  • SIGN(x):返回x的符号,x是负数、0、整数分别返回-1、0、1
  • CEIL()/CEILING(x):向上取整
  • FLOOR(x):向下取整
  • ROUND(x):四舍五入取整
  • MOD(x,y):求余操作(x mod y等同于x%y)
  • LOG(x):返回自然对数(以e为底的对数)
  • LOG10(x):返回以10位为底的对数
  • PI():获取圆周率
  • POW(x,y):乘方操作(x^y)
  • SQRT(x):返回x的平方根

MySQL学习(3)---MySQL常用命令
  • RAND():返回0~1的随机数
  • TRUNCATE(x,y):返回数值x保留到小数点后y位的值(与ROUND最大的区别是不会进行四舍五入)
  • SIN(x):正弦值(参数是弧度)

MySQL学习(3)---MySQL常用命令
  • COS(x):余弦值(参数是弧度)

MySQL学习(3)---MySQL常用命令
  • RADIANS(x):将角度转换为弧度

MySQL学习(3)---MySQL常用命令
  • DEGRESS(x):将弧度转换为角度

日期时间函数

  • NOW()/CURRENT_TIMESTAMP()/LOCALTIME()/SYSDATE()/LOCALTIMESTAMP():返回当前日期和时间

MySQL学习(3)---MySQL常用命令
  • CURDATE/CURRENT_DATE():返回当前日期
  • CURTIME()/CURRENT_TIME():返回当前时间
  • TIME_TO_SEC(t):将时间t转换为秒
  • SEC_TO_TIME(t):将以秒为单位的时间s转换为时分秒的格式

MySQL学习(3)---MySQL常用命令
  • DATEDIFF(D1,D2):计算日期d1->d2之间相隔的天数

MySQL学习(3)---MySQL常用命令
  • ADDDATE(d,n):计算起始日期d加上n天的日期
  • SUBDATE(d,n):日期d减去n天后的日期
  • ADDDATE(d,INTERVAL expr type):计算起始日期d加上一个时间段后的日期

MySQL学习(3)---MySQL常用命令
  • SUBDATE(d,INTERVAL expr type):日期d减去一个时间段后的日期

字符串函数

  • CHAR_LENGTH(s):返回字符串s的字符数

MySQL学习(3)---MySQL常用命令
  • CONCAT(s1,s2,…):将字符串s1,s2等多个字符串合并为一个字符串

MySQL学习(3)---MySQL常用命令
  • CONCAT_WS(x,s1,s2):同CONCAT(s1,s2,…)函数,但是每个字符串之间要加上x(x作为分隔符)

MySQL学习(3)---MySQL常用命令
  • UPPER(s)/UCAASE(s):将字符串s的所有字母变成大写字母
  • LOWER(s)/LCASE(s):将字符串s的所有字母变成小写字母
  • LEFT(s,n):返回字符串s的前n个字符
  • RIGHT(s,n):返回字符串s的后n个字符
  • TRIM(s):去掉字符串s开始和结束处的空格

MySQL学习(3)---MySQL常用命令
  • TRIM(s1 FROM s):去掉字符串开始出和结尾处的字符串s1

MySQL学习(3)---MySQL常用命令
  • REPEAT(s,n):将字符串s重复n次
  • REPLACE(s,s1,s2):将字符串s2替换字符串s中的字符串s1

MySQL学习(3)---MySQL常用命令
  • STRCMP(s1,s2):比较字符串s1和s2

聚合函数

  • COUNT():用来统计记录的条数
  • SUM():求和
  • AVG():求平均值
  • MAX():求最大值
  • MIIN():求最小值

条件判断函数

  • IF(expr,v1,v2):如果表达式expr成立,返回结果v1;否则,返回结果v2

MySQL学习(3)---MySQL常用命令
  • IFNULL(v1,v2):如果v1的值不为NULL,则返回v1;否则,返回v2
  • CASE

系统信息函数

  • VERSION():返回数据库的版本号
  • USER()/SYSTEM_USER()/SESSION_USER()/CURRENT_USER()/CURRENT_USER:返回当前用户
  • CONNECTION_ID():返回服务器的连接数

其他常用函数

  • BIN(x):返回x的二进制编码
  • OCT(x):返回x的八进制编码
  • HEX(x):返回x的十六进制编码

其他

  • show warnings;
    查看SQL执行时的警告

Original: https://www.cnblogs.com/vgshots/p/16620969.html
Author: vgshots
Title: MySQL学习(3)—MySQL常用命令

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/611967/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • JavaScript进阶内容——DOM详解

    JavaScript进阶内容——DOM详解 当我们已经熟练掌握JavaScript的语法之后,我们就该进入更深层次的学习了 首先我们思考一下:JavaScript是用来做什么的? …

    数据库 2023年6月14日
    0157
  • Java集合详解

    Java集合 集合体系 Collection接口 Collection接口没有直接的实现子类,它的子接口list(有序容器,可以重复)和set(无序容器,不可重复)是两个重要的子接…

    数据库 2023年6月16日
    094
  • 锁定文件失败 打不开磁盘“D:Windows7Windows7 64 位.vmdk”或它所依赖的某个快照磁盘。 模块“Disk”启动失败。

    Windows7虚拟机非正常关闭,再次打开有时候会出现”锁定文件失败,打不开磁盘……”的错误提示解决办法:打开虚拟机所在路径删除.v…

    数据库 2023年6月14日
    088
  • 电脑必须打开的设置

    电脑性能设置 优化设置一:开启卓越性能 其实,win10系统中有一个卓越性能的隐藏设置,它可以让我们的电脑,在现有配置的情况下,发挥出最优良的性能。 1、 同时按住”w…

    数据库 2023年6月14日
    0111
  • SQL 基础

    在平时的工作中,大家可能是 ORM 战士。但是 ORM 之下,还是原生的 SQL。这是整理 SQL 基础时的一些记录。 数据定义语言,用来定义数据库对象,包括数据库、数据表和列。 …

    数据库 2023年6月16日
    091
  • maven配置本地仓库

    https://www.cnblogs.com/javajetty/p/10051156.html maven配置本地仓库 Original: https://www.cnblog…

    数据库 2023年6月9日
    087
  • Java压缩图片

    压缩图片 一、压缩原理 一张原始图像(1920×1080),如果每个像素32bit表示(RGBA),那么,图像需要的内存大小1920x1080x4 = 8294400 B…

    数据库 2023年6月6日
    096
  • vue入门(一)

    模板语法 插值语法 功能:用于解析标签体内容 写法:{{xxx}},xxx是js表达式,且可以直接读取到data中的所有属性。 指令语法 功能:用于解析标签(包括:标签属性、标签内…

    数据库 2023年6月6日
    091
  • RabbitMQ

    安装Rabbitmq 1.由于需要erlang语言的支持,在安装rabbitMq之前需要安装erlang sudo apt-get install erlang-nox 2.安装r…

    数据库 2023年6月9日
    088
  • MySQL第1章——数据库概述

    数据库概述 为什么要使用数据库 什么是数据持久化? 数据持久化就是把数据保存到可掉电式存储设备中供以后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘…

    数据库 2023年6月14日
    084
  • 存储过程procedure、触发器trigger

    一、存储过程procedure MySQL 5.0 版本开始支持存储过程。 存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对…

    数据库 2023年6月9日
    090
  • StoneDB 读、写操作的执行过程

    背景介绍 StoneDB 是一款兼容 MySQL 的开源 HTAP 数据库。StoneDB 的整体架构分为三层,分别是应用层、服务层和存储引擎层。应用层主要负责客户端的连接管理和权…

    数据库 2023年5月24日
    095
  • Mysql 实现数据库读写分离

    一、Amoeba 是什么 Amoeba(变形虫)项目,专注 分布式数据库 proxy 开发。座落与Client、DB Server(s)之间。对客户端透明。具有负载均衡、高可用性、…

    数据库 2023年5月24日
    0101
  • linux ftp报530 530 Login incorrect pam_unix(crond:account): expired password for user

    今天用FTP登录服务器,要传些数据文件,一直登录不上,重启之后依然无法登陆。 就提交了工单,阿里云的售后居然在网上给我找了两篇处理530的帮助文档,直接无语! 无奈… …

    数据库 2023年6月14日
    0137
  • 通过NTFS日志分析文件的时间属性是否被篡改

    前期准备 NTFS日志记录了什么东西? NTFS日志会记录NTFS文件系统中文件的创建、修改、增加数据、删除等操作执行的时间,虽说这个日志也可以被第三方程序修改,但仍然可以作为一个…

    数据库 2023年6月11日
    096
  • Eureka详解系列(四)–Eureka Client部分的源码和配置

    按照原定的计划,我将分三个部分来分析 Eureka 的源码: 今天,我们来研究第二部分的源码。 我的思路是这样子的:先明确 Eureka Client 拥有哪些功能,然后从源码角度…

    数据库 2023年6月6日
    091
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球