MySQL数据库常用命令大全(完整)(表格形式)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 在学习MySQL的时候,你是否会为一大堆命令而头疼,常常会想不起来某个命令,就会感到烦躁。本文是博主对MySQL常用命令的总结,当你需要某些命令又想不起来时,可以来本文看一下,希望能帮到您。

请添加图片描述

注意:sql语句以分号结尾,分号是英文的分号mysql是不见“;”不执行,“;”表示结束! \c用来终止一条命令的输入。

本地登录相关命令

本地登录 mysql -uroot -p密码
本地登录(隐藏密码的形式) mysql -uroot -p 然后回车输入密码

mysql服务启动和关闭

关闭 net stop 服务名称;
启动 net start 服务名称;

数据库相关命令

查看有哪些数据库 show databases;
选择使用某个数据库 use 数据库名;
创建数据库 create database 数据库名字;
创建数据库并且指定字符编码 create database 数据库名字 charset=utf8;
删除数据库 drop database 数据库名字;
查看当前使用的是哪个数据库 select database();
查看mysql数据库的版本号 select version();
导入数据库表(先进到某个数据库下) source 文件路径; (路径不要出现中文)
查看某个数据库下有哪些表 show tables;
查看表的结构 desc 表名; //第一列都是字段名

增删改查等相关命令

查询一个、多个、所有字段

查询一个字段(列) select 字段名 from 表名; //字段也就是列,那一列的内容
查询多个字段 select 字段名1,字段名2,字段名3 from 表名; //中间用逗号隔开
查询所有字段 方式1:select * from 表名;
查询所有字段 方式2:select 字段名1,字段2…. from 表名;

列(字段)起别名和参与数学运算

列(字段)起别名 select 字段名 as 新名字 from 表名; 注意:as只作用于左边那一个字段。as可以用空格代替;起的别名有空格,要用单引号。别名是中文要用单引号括起来;新版已经不需要括起来了。
字段(列)参与数学运算 例如:select 字段名*12 from 表名; //注意:只作用于那次查询,不会对源数据修改。//结论:字段可以使用数学表达式!

条件查询和多字段排序

条件查询 select 字段n from 表名 where 条件; 注意条件有: = , !=\<> , < , <= , > , >= , between...and\等同于<=and<= , is null\is not null , and , or , in , not , like
多个字段排序 select 字段名 from 表名 order by 要排序的字段名 排序方式 , 要排序的字段名 排序方式; 注意:排序字段名在前,起主导,只有前面的相等的时候,才会考虑启用后面的排序

表的创建

表的创建 | create table 表名(字段名1 数据类型, 字段名2 数据类型, 字段名3 数据类型); // default可以设置默认值 例如 sex char(1) default 'm',

表的删除

表的删除 drop table 表名; // 当这张表不存在的时候会报错!
表的删除 drop table if exists 表名;// 如果这张表存在的话,删除。不会有报错的风险

查看建表语句

查看建表语句| show create table 表名;

insert 插入数据

insert 插入数据 insert into 表名(字段名1,字段名2,字段名3...) values(值1,值2,值3);注意:字段名和值要一一对应。什么是一一对应?数量要对应。数据类型要对应。//注意:除了数字,其他都要加单引号
insert 插入多条数据 语法:insert into 表名(字段名1,字段名2) values(),(),(),();

update修改数据

update修改数据 | update 表名 set 字段名1=值1,字段名2=值2,字段名3=值3... where 条件;注意:没有条件限制会导致所有数据全部更新。

delete删除数据

delete删除数据 delete from 表名 where 条件;注意:没有条件,整张表的数据会全部删除!
快速删除表中的数据 truncate table 表名;

指定存储引擎

在建表的时候可以在最后小括号的")"的右边使用 | ENGINE来指定存储引擎;CHARSET来指定这张表的字符编码方式。

约束相关命令

非空约束 not null
唯一性约束 unique
主键约束 primary key (简称PK)
外键约束 foreign key(简称FK)

单行处理函数相关命令

单行处理函数 使用方法 也可以用在where条件里面
lower 转换成小写 select lower(字段名) from 表名;
upper 转换成大写 select upper(字段名) from 表名;
substr 取子串 select substr(被截取的字符串 ,起始下标,截取长度) from 表名 ;//注意:起始下标从1开始。
concat 字符串拼接 select concat(字段名,字段名) from 表名;
length 获取长度 select length(字段名) from 表名;
format 设置千分位 format(数字, '格式') 例如:select ename,format(sal, '$999,999') as sal from emp;
round 四舍五入 ect round(字段名,0) from 表名; //可以不写字段名写数字,那么它就对这个数字进行四舍五入,而且还是借助表名的结构输出。后面是0表示保留一位小数,2表示保留两位小数,-1表示保留到十位,-2保留到百位依次后推。
rand 生成随机数 select round() from 表名; //生成随机数
100以内的随机数 select round(rand()*100,0);
ifnull() 将null转为具体的值。只要有null参与的数学运算,结果一定是null ifnull(数据,被当做哪个值) 如果数据为null,把这个数据当做哪个值。

多行处理函数(分组函数)相关命令

多行处理函数(分组函数) 也就是说一列数据 输出一个值。
sun 求和 select sun(字段) from 表名; //输出这个字段的和
max 最大值 select max(字段) from 表名; //输出这个字段的最大值
min 最小值 select min(字段) from 表名; //输出这个字段的最小值
avg 平均值 select avg(字段) from 表名; //输出这个字段的平均值
count 计数 select count(字段) from 表名; //输出这个字段的数据(也就是有多少行)的数量

分组查询等相关命令

分组查询 select 字段.. from 表名 group by 要分组的字段; //在一条select语句当中,如果有group by语句的话,select后面只能跟:参加分组的字段,以及分组函数。其它的一律不能跟。
联合分组查询 select 字段.. from 表名 group by 要分组的字段1,字段2; //两个字段联合成1个字段看。(两个字段联合分组)
having 分组后再过滤 使用having可以对分完组之后的数据进一步过滤。having不能单独使用,having不能代替where,having必须和group by联合使用。优化策略:where和having,优先选择where,where实在完成不了了,再选择having。having 是跟 group by后面用的,可以用分组函数。where后面可不能用。例如:select deptno,avg(sal) from emp group by deptno having avg(sal) > 2500;
distinct去重 distinct只能出现在所有字段的最前方distinct出现在job,deptno两个字段之前,表示两个字段联合起来去重。例如:select distinct job from emp;select distinct job,deptno from emp;错误写法: select ename,distinct job from emp; distinct只能出现在所有字段的最前方

连接查询,多表联查等相关命令

连接查询 内连接 select e.ename,d.dname from emp e join dept d on e.deptno = d.deptno; //join连接的意思 ,on是连接条件
连接查询 外连接 select e.ename,d.dname from dept d left join emp e on e.deptno = d.deptno; //left 是join左边的表是主表。right代表什么:表示将join关键字右边的这张表看成主表,主要是为了将这张表的数据全部查询出来,捎带着关联查询左边的表。在外连接当中,两张表连接,产生了主次关系。
多表联查 语法:select ... from a join b on a和b的连接条件 join c on a和c的连接条件 right join d on a和d的连接条件;//一条SQL中内连接和外连接可以混合。都可以出现!
union合并查询结果集 例如:select ename,job from emp where job = 'MANAGER' union select ename,job from emp where job = 'SALESMAN'; //要求:结果集合并时列和列的数据类型也要一致。
limit取出部分数据 完整用法:limit startIndex, length; // startIndex是起始下标,length是长度。起始下标从0开始。缺省用法:limit 5; 这是取前5。例如:select ename,sal from emp order by sal desc limit 2, 3;
通用分页查询公式 limit (pageNo-1)*pageSize , pageSize //pagNo是第多少页 pageSize是每行显示多少条数据

事务相关的命令

关闭自动提交事务 start transaction
提交事务 commit
事务回滚 rollback
查看隔离级别 SELECT @@tx_isolation //注意:新版mysql 应该换语句了
修改隔离级别 set global transaction isolation level 级别名;

索引创建与删除

索引的创建 例:create index emp_ename_index on emp(ename);// 给emp表的ename字段添加索引,起名:emp_ename_index
索引的删除 例:drop index emp_ename_index on emp;//将emp表上的emp_ename_index索引对象删除。
查看一个SQL语句是否使用了索引进行检索 explain select * from emp where ename = 'KING';//在sql语句前面添加explain

视图对象的创建与删除

创建视图对象 create view 视图对象的名字 as select * from 表名;
删除视图对象 drop view 视图对象的名字;

退出

退出 | exit

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5月前
|
存储 关系型数据库 MySQL
初步了解MySQL数据库的基本命令
初步了解MySQL数据库的基本命令
51 0
|
1月前
|
SQL 存储 关系型数据库
MySQL进阶突击系列(01)一条简单SQL搞懂MySQL架构原理 | 含实用命令参数集
本文从MySQL的架构原理出发,详细介绍其SQL查询的全过程,涵盖客户端发起SQL查询、服务端SQL接口、解析器、优化器、存储引擎及日志数据等内容。同时提供了MySQL常用的管理命令参数集,帮助读者深入了解MySQL的技术细节和优化方法。
|
3月前
|
tengine 关系型数据库 MySQL
Tengine、Nginx安装MySQL数据库命令教程
本指南详细介绍了在Linux系统上安装与配置MySQL数据库的步骤。首先通过下载并安装MySQL社区版本,接着启动MySQL服务,使用`systemctl start mysqld.service`命令。若启动失败,可尝试使用`sudo /etc/init.d/mysqld start`。利用`systemctl status mysqld.service`检查MySQL的服务状态,确保其处于运行中。通过日志文件获取初始密码,使用该密码登录数据库,并按要求更改初始密码以增强安全性。随后创建一个名为`tengine`的数据库,最后验证数据库创建是否成功以及完成整个设置流程。
|
3月前
|
数据采集 人工智能 自然语言处理
表格增强生成TAG登场:解锁AI自然语言与数据库的完美结合
【10月更文挑战第4天】表格增强生成(TAG)范式解锁了AI自然语言处理与数据库的深度融合,旨在让用户通过自然语言便捷地查询和管理数据。TAG结合了语言模型的强大推理能力和数据库系统的高效计算能力,通过查询合成、执行及答案生成三步完成复杂查询。相较于传统Text2SQL和RAG方法,TAG在准确性上显著提升,但其应用仍面临技术门槛和数据质量等挑战。[论文地址:](https://arxiv.org/pdf/2408.14717)
79 4
|
3月前
|
NoSQL MongoDB 数据库
MongoDB是一个NoSQL数据库,有着多种不同的命令和操作。以下是一些常见的MongoDB命令:
一些常用的MongoDB命令,如数据库和集合的管理、数据的插入、查询、更新、删除以及聚合操作等。
38 1
|
4月前
|
关系型数据库 MySQL 数据库
6-2|测试连接数据库的命令
6-2|测试连接数据库的命令
|
4月前
|
存储 关系型数据库 MySQL
MySQL基础命令及使用示例
这些基础命令构成了与MySQL数据库交互的核心,理解并掌握它们对于进行有效的数据库操作至关重要。在实际使用中,建议结合实际案例和需求来练习这些命令,以加深理解和提高效率。
47 3
|
4月前
|
存储 关系型数据库 MySQL
MySQL基础命令及使用示例
这些基础命令构成了与MySQL数据库交互的核心,理解并掌握它们对于进行有效的数据库操作至关重要。在实际使用中,建议结合实际案例和需求来练习这些命令,以加深理解和提高效率。
88 4
|
3月前
|
关系型数据库 MySQL 数据库
Mysql 常用命令
Mysql 常用命令
32 0
|
3月前
|
SQL Shell 数据库
在TDengine容器中创建初始化数据库的Shell命令实例
以上就是在Docker容器环境中部署并初始化TDengine数据库的全过程,希望对你有所帮助。
103 0