iis服务器助手广告
返回顶部
首页 > 资讯 > 数据库 >MySQL终端使用登录和基本查询
  • 932
分享到

MySQL终端使用登录和基本查询

mysql数据库sql 2023-12-22 19:12:46 932人浏览 泡泡鱼
摘要

(一)Mysql服务的启动: win+x选中选中计算机管理:选中mysql让它的状态更改为启动,启动后的状态都是正在运行。 (二)Mysql的登录。 以管理员的身份打开终端输入(win+x选中终端管理员): mysql -uroot -

(一)Mysql服务的启动:

win+x选中选中计算机管理:选中mysql让它的状态更改为启动,启动后的状态都是正在运行。
在这里插入图片描述

(二)Mysql的登录。

以管理员的身份打开终端输入(win+x选中终端管理员):

 mysql -uroot -p123456

当出现一下提示进入成功:
在这里插入图片描述
当然这里是显示密码(123456)进行登录的,如果想隐藏密码登录,只需输入

 mysql -uroot -p

当输入完成进行回车(enter)出现下面的图片进行输入密码即可进入:
在这里插入图片描述

(三)查看数据库databases:

show databases;

(四)使用数据库

 use 数据库名称;

(五)创建数据库:

 create database 数据库名称;

例如create database test_wl;出现下面提示即创建成功
在这里插入图片描述

(六)查看表。

我们知道数据库最基本的单位是表,数据都是以表的形式展现出来,任何一张表都有行和列。行(row)被称为数据/记录,列(column)被称为字段,每一个字段下面的数据都是有数据类型的,不能填写规定类型之外的类型,没一个字段都有:字段名、数据类型、约束等。
输入指令:

show tables;

查看数据库内有没有表。

(七)数据库常用语句:

DQL:数据库查询语句(凡是带有select关键字的都是数据库查询语句)

select…

DML:数据库操作语言:(凡是对数据库中表格的数据进行操作的语句都是数据库操作语句)

insert(增)
delete(删)
updata(改)

DDL;数据定义语言(凡是带有create、drop、alter关键字的都是DDL。其主要对表的结构进行操作,例如增删改某一记录(行)或者某一字段(列))。

create(新建)
drop(删除)
alter(修改)

TCL:事务控制语言

commit(事务提交)
rollback(事务回滚)

DCL:数据控制语言

grant(授权)
revoke(撤销权限)

另外还有一些其他语句:

select version();(查看MySQL版本号)
select database();(查看当前在使用那个数据库)

注意,在输入语句时,mysql不见分号不执行,必须由分号结束语句才会执行,当然也可以输入\c来终止输入:
在这里插入图片描述

(八)导入sql文件

source 文件路径  //注意,这个指令不加分号

当出现query ok,及导入成功。

(九)表的查找:

(1)简单查询:

①查看某一表中数据:

select *from 表名;

②只看表的结构不看表中的数据:

desc 表名;

③从表中只查询一个字段:

select 字段名 from 表名;

④查询两个字段或者多个字段,只需用逗号隔开字段名:

select 字段名1,字段名2 from 表名;

⑤给列名取别名:

select 字段名 as 别名 from 表名;

注意的是数据库只是在显示时用这个别名,但是在数据库中还是原来的名字,select语句只是查询语句。而且别名中不能有空格,当你想加空格或者其中文名时应该给别名加单引号或者双引号,但是双引号在mysql中可以使用,oracle中是无法使用的:

select 字段名 as '字段名' from 表名;

⑥对某一字段的运算:

select 字段名*12 from 表名;

例如这样一个citymessage的表格,让它的num*10,但是一定要注意数据类型

select num*10 from citymessage:

在这里插入图片描述

(2)条件查询:

在这里插入图片描述
条件查询语法格式:

select字段名from表名where条件;

(1)>

例如查询上面citymessage表中人数大于10000的名称和id

select title,id from citymessage where num>10000

在这里插入图片描述

(2)between and (相当于 >= and <=)

当然也可以查询citymessage表中人数介于8000和20000的名称和id、way,当然这里要注意的是使用between…and…时,必须注意左小右大的规范:

select * from citymessage where num between 8000 and 20000;select * from citymessage where num>=8000 and num <= 20000;

在这里插入图片描述

(3)null

在对null进行查询时要注意使用is null 不能使用‘=’符号:

 select 字段名 from 表名 where is null;

(4)and和or同时出现

那当我们要查询id为47,48然后人数大于2000的数据,是不是可以这样写:
select * from citymessage where num>2000 and id=47 or id=48;
这样其实是错的,因为and优先级比or高,所以这里就应该加上括号:

select * from citymessage where num>2000 and (id=47 or id=48);`

(5)in与not in

in其实相当于多个or,例如当我们想查询id为44,45,46的数据可以这样写:

 select * from citymessage where id = 44 or id = 45 or id = 46;

用了in之后便可以这样写:

select * from citymessage where id in (44,45,46);

下面是两个结果对比:
在这里插入图片描述
not in 便表示不在in的几个数据的其他数据。

select * from citymessage where id not in (44,45,46);

(6)模糊查询:like(配合%和_)

当我们想查询title里有甘肃两个字的数据时:

select * from citymessage where title like '%甘肃%';

在这里插入图片描述
那么如果一定要找到第二个字是肃的数据,可以这样写:

select * from citymessage where title like '_肃%';

在这里插入图片描述
这里还注意当你想找到字符里面有下划线(_)的,一定要先转义再查询:

select * from 表名 where 字段名 like '%\_%';

(十)排序 (order by)

(1)默认排序(升序)

select * from 表名 order by 字段名;

例如这里以id作为排序:select * from citymessage order by id;
在这里插入图片描述

(2)指定降序:

select * from 表名 order by 字段名 desc;

id降序:select * from citymessage order by id desc;当然将desc改为asc为指定升序。

(3)多段排序

select * from citymessage order by id asc,num asc;

这里指的是先把id按照升序进行排列,当id一样的情况下,在对num进行升序排列。

(4)综合应用:

在表citymessage中找出num在2000和8000之间,且id按照降序排列的数据:

select * from citymessagewhere num between 2000 and 8000 order by id desc;

这里注意指令顺序不能乱,排序总在最后执行。

(十一)数据处理函数(单行处理函数与多行处理函数)

单行处理函数的特点的是一个输入对应一个输出,多行处理函数的特点是多个输入对应一个输出。

(1)单行处理函数:

①substr 取子串:

substr(被截取的字符串的字段名,起始下标,截取长度))//这里注意起始下标从1开始,不能从0开始select substr(title,1,5) as '截取后' from citymessage;

能看到被截取1-5个字符后,字段名title下的字符串都只剩下五个字符。
在这里插入图片描述
当然还可以与模糊查询一起用,比如现在要查询前两个字是甘肃的title:

select * from citymessage where title like '甘肃%';select * from citymessage where substr(title,1,2) = '甘肃';

在这里插入图片描述

②concat:拼接字符串

select concat(title,num) from citymessage;

单纯的加减运算字符还是±。

③length:取长度

select length(title) from citymessage;

④lower、upper(转换小写、转换大写)

select lower/upper (字段名) from 表名;select lower(title) from citymessage; select upper(title) from citymessage;

concat、length、substr、supper几者合用:比如当我们希望某一字段的所有字符串首字母大写(upper):

select concat(upper(substr(title,1,1)),substr(title,2,length(title)-1))from citymessage;

⑤trim:去空格

select * from citymessage where id = trim(45);

⑥round:四舍五入

selectround(title,0) from citymessage;

这里除了0以外,正数便是保留几位小数,0即保留到整数。负数便是保留到几分位,如-1是十分位,-2是百分位。保留规则均是四舍五入。

⑦rand:生成随机数(<1的随机数)

select rand() from citymessage;

那比如生成100以内,且保留整数的随机数:

select round(rand()*100) from citymessage;

⑧infull

专门处理null的数据,可以将null转换为具体数值。会将null当做具体的0,否则在数据库中的运算但凡有null参与,结果都为null。

select ifnull(id,0) from citymessage;

⑨case… when … then… when…then… else … end;

例如当id为45时num上涨10%,当id为50时num上涨50%,其他num正常。

select*,case id when 45 then num*1.1 when 50 then num*1.5 else num endfromcitymessage;

在这里插入图片描述

(2)多行处理函数

多行函数在使用时:
①必须先进行分组在进行计算。没有分组则计算整张表。
②分组函数自动处理null,不需提前对null进行处理。
③count(字段名)统计的是改字段下所有不为null的字符串个数,count(*)统计该表总行数。

①count:计数

select count(id) from citymessage;select count(*) from citymessage;

②max:最大值

select max(id) from citymessage;

③min:最小值

select min(id) from citymessage;

④avg:平均值

select avg(id) from citymessage;

⑤sum:求和

select sum(id) from citymessage;

(3)分组查询

分组查询一定要先对表进行分组,再进行查询,所以分组函数也不能直接使用在where后面。
查询指令编写顺序:

select->from ->where ->group by -> order by

指令执行顺序:

from->where ->group by ->select -> order by

①group by

比如我查询一下,每种工作的工资和,并且找到其中最高的工资:但是这里需要注意的是,在分组后,select后面只能加上分组字段和数据操作函数,不能添加其他字段,否则mysql中可能会输出一个错误的结果,但是Oracle中会直接报错。

select job,sum(salary);//不能再添加其他字段from 表名group byjoborder byasc;

当需要查询某个部门某个工作岗位的最高工资时,你会发现这里需要分组两次,其实这里可以直接将两个查询直接放在一起:

select部门,岗位,max(工资)from表名group by部门,岗位;

②having(必须与group by连用)

当需要查询某个部门的最高工资,且工资必须大于5000的:

select部门,max(工资)from表名where工资>5000group by部门;

使用having进行再此筛选可以这样写:

select部门,max(工资)from表名group by部门having max(工资)>5000;

优化策略:优选选择where。

③去除重复记录

这里要注意的是当有个字段命出现时,去除重复记录时属于联合去除,也就是将两个字段的数据结合起来,去除其中都在各自字段属于重复的数据。

select distinct 字段名,字段名...from 表名;

比如我要统计这里工作岗位的种类的数量,那么就要先行去除在进行计数:

select count(distinct 岗位)from 表名; 

(4)连接查询

连接查询即跨越多张表查询数据。

表的连接方式:(1)内连接:等值连接非等值连接自连接(2)外连接:左外连接右外连接全连接

*笛卡尔积现象:

当两张表连接时没有任何条件限制会发生笛卡尔积现象,即两个不同表中的不同字段数据会进行一对一匹配,最终生成字段1×字段2数量的数据。
select 字段名,字段名 from 表名,表名;

为了避免笛卡尔积现象,连接时必须加条件:

select字段名,字段名from表1,表2where 表1.字段 =2.字段;

例如这两张表:

来源地址:https://blog.csdn.net/hahahammp/article/details/129412120

您可能感兴趣的文档:

--结束END--

本文标题: MySQL终端使用登录和基本查询

本文链接: https://www.lsjlt.com/news/551477.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL终端使用登录和基本查询
    (一)MySQL服务的启动: win+x选中选中计算机管理:选中MySQL让它的状态更改为启动,启动后的状态都是正在运行。 (二)MySQL的登录。 以管理员的身份打开终端输入(win+x选中终端管理员): mysql -uroot -...
    99+
    2023-12-22
    mysql 数据库 sql
  • 如何使用Git终端登录
    要使用Git终端登录,您需要先在计算机上安装Git,并在终端中打开Git。以下是使用Git终端登录的步骤:1. 打开终端(命令行)应...
    99+
    2023-09-26
    Git
  • 如何在本地使用端口号登录mysql
    这篇文章给大家介绍如何在本地使用端口号登录mysql,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。最近在使用linux上进行本地登录时,发现既然无法正常登录 , 报如下错误信息:[ro...
    99+
    2024-04-02
  • mysql如何查询当前登录的用户
    本文小编为大家详细介绍“mysql如何查询当前登录的用户”,内容详细,步骤清晰,细节处理妥当,希望这篇“mysql如何查询当前登录的用户”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识...
    99+
    2024-04-02
  • 如何使用Anemometer分析MySQL慢查询记录
    这篇文章将为大家详细讲解有关如何使用Anemometer分析MySQL慢查询记录,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。  数据库管理员一般是用percona的to...
    99+
    2024-04-02
  • mysql联合查询中and和or的使用
    这篇文章主要讲解了“mysql联合查询中and和or的使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql联合查询中and和or的使用”吧! 需求...
    99+
    2024-04-02
  • 如何使用SQL查询至少连续n天登录的用户
    这篇文章主要为大家展示了“如何使用SQL查询至少连续n天登录的用户”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用SQL查询至少连续n天登录的用户”这篇文章吧。1.创建SQL表:creat...
    99+
    2023-06-22
  • MySQL查询语句过程和EXPLAIN语句的基本概念及其优化
    这篇文章主要讲解了“MySQL查询语句过程和EXPLAIN语句的基本概念及其优化”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL查询语句过程和EXP...
    99+
    2024-04-02
  • mysql查询语句group by和order by的使用
    这篇文章主要讲解了“mysql查询语句group by和order by的使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql查询语句group b...
    99+
    2024-04-02
  • 使用SQL语句查询学生数据库中学生信息 —14条基本查询语句
    SQL语句不区分大小写 调用数据库(数据库创建见上一篇文章) use STU_Informationgo 查询各位学生的学号、班级和姓名 --1.查询各位学生的学号、班级和姓名select SNo,ProClass,SN from...
    99+
    2023-09-29
    数据库 mysql
  • 如何使用MySQL查询一年中每月的记录数
    目录先说结论查询结果思路及SQL解释1. 如何以月份划分2.获取每月数据3.统计每月数据4.统计值与月份相对应5.总体整合结语以下演示将在下表数据中进行: 其中:id为主键用于表的...
    99+
    2024-04-02
  • 使用Anemometer基于pt-query-digest将MySQL慢查询可视化
    If you're just completely itching to start using this tool, here's what you need:1、a MySQL database to ...
    99+
    2024-04-02
  • 怎么使用PHP查询MySQL数据库中的所有记录
    本篇内容介绍了“怎么使用PHP查询MySQL数据库中的所有记录”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、建立数据库连接在使用PHP查...
    99+
    2023-07-05
  • 如何使用PHP查询MySQL数据库中的所有记录
    PHP是一种非常流行的编程语言,它可以用来开发各种类型的Web应用程序和网站。在Web开发领域中,最常见的数据库管理系统是MySQL。在本文中,我们将探讨如何使用PHP查询MySQL数据库中的所有记录。在开始之前,我们需要确保已经安装了PH...
    99+
    2023-05-14
    php mysql 数据库
  • 怎么合理的使用MySQL索引结构和查询
    这篇文章主要讲解了“怎么合理的使用MySQL索引结构和查询”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么合理的使用MySQL索引结构和查询”吧!一、高性...
    99+
    2024-04-02
  • mysql怎么使用left join和group by实现高效查询
    这期内容当中小编将会给大家带来有关mysql怎么使用left join和group by实现高效查询,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。mysql高效查询mysql牺牲了group by来增加l...
    99+
    2023-06-15
  • 如何使用mysql计算本年用户最大未登录时间段
    小编给大家分享一下如何使用mysql计算本年用户最大未登录时间段,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!  计...
    99+
    2024-04-02
  • 使用 POST 添加到 GET 相同的端点和不同的查询最终会出现不一致的错误消息
    php小编香蕉在此为大家解答一个常见问题:使用 POST 添加到 GET 相同的端点和不同的查询,最终可能会出现不一致的错误消息。在Web开发中,GET和POST是常用的HTTP请求方...
    99+
    2024-02-11
  • 如何使用node和express连接mysql实现登录注册
    这篇文章将为大家详细讲解有关如何使用node和express连接mysql实现登录注册,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。数据库我选了比较“正式”的MySQL,...
    99+
    2024-04-02
  • MySQL查询冗余索引和未使用过的索引操作
    MySQL5.7及以上版本提供直接查询冗余索引、重复索引和未使用过索引的视图,直接查询即可。 查询冗余索引、重复索引 select * sys.from schema_...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作