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_kruskal
Title: MySQL学习(3)—MySQL常用命令

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

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

(0)

大家都在看

  • nexus,docker服务器限制外网时,需要添加的例外

    Mavenhttps://maven.aliyun.com/https://repo.maven.apache.org Dockerhttps://hub.docker.com/h…

    数据库 2023年6月9日
    0103
  • centos7更改中文

    这是在CentOS7中设置,CentOS6的是在 .etc/sysconfig/i18n 配置文件下。在root用户下操作,使用 locale 命令查看语言环境,看到 LANG=e…

    数据库 2023年6月14日
    085
  • JDBC

    JDBC 一、JDBC概述 什么是JDBC? JDBC 是使用 Java 语言操作关系型数据库的一套 API。这套 API 是交由不同的数据库厂商实现的。我们利用 JDBC 编写操…

    数据库 2023年5月24日
    081
  • SqlSessionFactory工具类抽取

    多次SqlSessionFactory创建对象问题解决 SqlSessionFactory工具类抽取 问题描述: 当我们多次使用SqlSessionFactory创建并获取对象时会…

    数据库 2023年6月16日
    074
  • JDK卸载

    win+r,进入cmd,输入java -version显示命令不存在即删除成功 Original: https://www.cnblogs.com/Icy01/p/16298149…

    数据库 2023年6月11日
    074
  • Centos静默安装Oracle11G

    环境准备 Oracle 11gR2 64位 Linux版安装包 linux.x64_11gR2_database_1of2.ziplinux.x64_11gR2_database_…

    数据库 2023年6月16日
    072
  • Vim使用技巧(持续更新)

    好记性不如烂笔头,在这里记录一些Vim使用技巧 vim配置 "拷贝同步&#…

    数据库 2023年6月14日
    082
  • dba+开源工具:MHA复刻版,轻松实现MySQL高可用故障转移(附下载)

    由于MHA(mha4mysql-manager)工具在2018年已经停止维护更新,且不支持GTID复制模式,在原版基础上增补功能难度较大,因此考虑将其重构。 参考了原版MHA的故障…

    数据库 2023年5月24日
    0105
  • 11、lombok日志记录

    一、添加依赖: org.projectlombok lombok 1.16.18 true 二、改YML: #声明日志配置文件 #日志级别依次为【从高到低】:FATAL > …

    数据库 2023年6月6日
    092
  • Linux_hadoop2.2.0伪分布式搭建安装

    1.1 开启网络,ifconfig指令查看ip 1.2 修改主机名为自己名字(hadoop)centos 7 连接:https://zhuanlan.zhihu.com/p/375…

    数据库 2023年6月11日
    0107
  • 重构

    参数过长 影响: 方法不易被理解、使用,方法签名容易不稳定,不易维护 解决方法:反复使用提炼方法+内联方法,消除多余参数 ​ 尽量把方法移进相关的类中 ​ 如实体类中的get方法在…

    数据库 2023年6月16日
    0207
  • python中的cls和self区别

    self:Always use self for the first argument to instance methods self是作为类进行实例化传递的第一个参数,也就是我…

    数据库 2023年6月6日
    067
  • MySQL实战45讲 12

    12 | 为什么我的MySQL会”抖”一下? 一条 SQL 语句,正常执行的时候特别快,但是 有时也不知道怎么回事,它就会变得特别慢,并且这样的场景很难复现…

    数据库 2023年6月16日
    095
  • Vim配置文件-详解(.vimrc)

    Vim配置文件的作用 Vim启动时,会根据配置文件(.vimrc)来设置 Vim,因此我们可以通过此文件来定制适合自己的 Vim 所有系统用户在启动Vim时,都会加载这个配置文件。…

    数据库 2023年6月14日
    078
  • MySQL高可用安装

    MySQL HA部署 环境准备 创建本地yum源 确认关闭 SELinux 防火墙设置 MySQL安装 使用 root 用户操作创建相关的用户组和用户 上传/解压介质 设置自启动 …

    数据库 2023年6月16日
    063
  • jQuery学习笔记

    jQuery 是一个 JavaScript 库; jQuery 极大地简化了 JavaScript 编程; jQuery 很容易学习; 一. 什么 jQuery? jQuery 是…

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