MySQL数据库常用命令

news2024/12/25 10:29:12

mysql是不见 分号 不执行,分号表示结束。\c可以终止命令的输入。
1.登录数据库

mysql -u root -p

然后在输入密码 root
在这里插入图片描述

2.查看数据库(以分号结尾)
show databases;
在这里插入图片描述

3.创建数据库 pk
create database pk;
在这里插入图片描述
4.使用数据库pk
use pk;
在这里插入图片描述
5.删除数据库pk
drop database pk;
在这里插入图片描述
6.查看某个数据库下有哪些表
use 数据库名字;
show tables;
在这里插入图片描述
7.导入数据(导入sql文件)
在这里插入图片描述
8.查看表中的数据
select * form 表名
在这里插入图片描述
9.不看表中的数据,只看表的结构
desc 表名;
在这里插入图片描述
varchar 就是java中的String
10.查看mysql数据库的版本号
在这里插入图片描述
11.查看当前使用的是哪个数据库
在这里插入图片描述
12.退出 exit;

13.简单查询
(所有SQL语句都以 分号 “;” 结尾。
SQL语句不区分大小写)
13.1 查询一个字段
select 字段 from 表名
在这里插入图片描述
13.2查询两个字段,或者多个字段怎么办?
使用逗号隔开“,”

在这里插入图片描述
13.3查询所有字段怎么办?

	第一种方式:可以把每个字段都写上
		select a,b,c,d,e,f... from tablename;

	第二种方式:可以使用*
		select * from dept;

13.4给查询的列起别名? as可以省略,用一个空格表示
mysql> select deptno, dname as deptname from dept;
查询了两个列,把后面那个列重命名了
在这里插入图片描述
假设起别名的时候,别名里面有空格,怎么办?
select deptno,dname ‘dept name’ from dept; //加单引号
select deptno,dname “dept name” from dept; //加双引号
±-------±-----------+
| deptno | dept name |
±-------±-----------+
| 10 | ACCOUNTING |
| 20 | RESEARCH |
| 30 | SALES |
| 40 | OPERATIONS |
±-------±-----------+

		注意:在所有的数据库当中,字符串统一使用单引号括起来,
		单引号是标准,双引号在oracle数据库中用不了。但是在mysql
		中可以使用。

14.字段参与数学运算
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
中文用单引号隔开
在这里插入图片描述
15、条件查询
不是将表中所有数据都查出来。是查询出来符合条件的。
语法格式:
select
字段1,字段2,字段3…
from
表名
where
条件;

15.1都有哪些条件?

= 等于
查询薪资等于800的员工姓名和编号?
	select empno,ename from emp where sal = 800;
查询SMITH的编号和薪资?
	select empno,sal from emp where ename = 'SMITH'; //字符串使用单引号

<>或!= 不等于
查询薪资不等于800的员工姓名和编号?
	select empno,ename from emp where sal != 800;
	select empno,ename from emp where sal <> 800; // 小于号和大于号组成的不等号

< 小于
查询薪资小于2000的员工姓名和编号?
	mysql> select empno,ename,sal from emp where sal < 2000;
	+-------+--------+---------+
	| empno | ename  | sal     |
	+-------+--------+---------+
	|  7369 | SMITH  |  800.00 |
	|  7499 | ALLEN  | 1600.00 |
	|  7521 | WARD   | 1250.00 |
	|  7654 | MARTIN | 1250.00 |
	|  7844 | TURNER | 1500.00 |
	|  7876 | ADAMS  | 1100.00 |
	|  7900 | JAMES  |  950.00 |
	|  7934 | MILLER | 1300.00 |
	+-------+--------+---------+


<= 小于等于
查询薪资小于等于3000的员工姓名和编号?
	select empno,ename,sal from emp where sal <= 3000;


> 大于
查询薪资大于3000的员工姓名和编号?
	select empno,ename,sal from emp where sal > 3000;

>= 大于等于
查询薪资大于等于3000的员工姓名和编号?
	select empno,ename,sal from emp where sal >= 3000;

between … and …. 两个值之间, 等同于 >= and <=
查询薪资在2450和3000之间的员工信息?包括2450和3000
	第一种方式:>= and <= (and是并且的意思。)
		select empno,ename,sal from emp where sal >= 2450 and sal <= 3000;
		+-------+-------+---------+
		| empno | ename | sal     |
		+-------+-------+---------+
		|  7566 | JONES | 2975.00 |
		|  7698 | BLAKE | 2850.00 |
		|  7782 | CLARK | 2450.00 |
		|  7788 | SCOTT | 3000.00 |
		|  7902 | FORD  | 3000.00 |
		+-------+-------+---------+
	第二种方式:between … and …
		select 
			empno,ename,sal 
		from 
			emp 
		where 
			sal between 2450 and 3000;
		
		注意:
			使用between and的时候,必须遵循左小右大。
			between and是闭区间,包括两端的值。

is null 为 null(is not null 不为空)
查询哪些员工的津贴/补助为null?
	mysql> select empno,ename,sal,comm from emp where comm = null;
	Empty set (0.00 sec)

	mysql> select empno,ename,sal,comm from emp where comm is null;
	+-------+--------+---------+------+
	| empno | ename  | sal     | comm |
	+-------+--------+---------+------+
	|  7369 | SMITH  |  800.00 | NULL |
	|  7566 | JONES  | 2975.00 | NULL |
	|  7698 | BLAKE  | 2850.00 | NULL |
	|  7782 | CLARK  | 2450.00 | NULL |
	|  7788 | SCOTT  | 3000.00 | NULL |
	|  7839 | KING   | 5000.00 | NULL |
	|  7876 | ADAMS  | 1100.00 | NULL |
	|  7900 | JAMES  |  950.00 | NULL |
	|  7902 | FORD   | 3000.00 | NULL |
	|  7934 | MILLER | 1300.00 | NULL |
	+-------+--------+---------+------+
	10 rows in set (0.00 sec)

	注意:在数据库当中null不能使用等号进行衡量。需要使用is null
	因为数据库中的null代表什么也没有,它不是一个值,所以不能使用
	等号衡量。

查询哪些员工的津贴/补助不为null?
	select empno,ename,sal,comm from emp where comm is not null;
	+-------+--------+---------+---------+
	| empno | ename  | sal     | comm    |
	+-------+--------+---------+---------+
	|  7499 | ALLEN  | 1600.00 |  300.00 |
	|  7521 | WARD   | 1250.00 |  500.00 |
	|  7654 | MARTIN | 1250.00 | 1400.00 |
	|  7844 | TURNER | 1500.00 |    0.00 |
	+-------+--------+---------+---------+

and 并且
查询工作岗位是MANAGER并且工资大于2500的员工信息?
	select 
		empno,ename,job,sal 
	from 
		emp 
	where 
		job = 'MANAGER' and sal > 2500;
	
	+-------+-------+---------+---------+
	| empno | ename | job     | sal     |
	+-------+-------+---------+---------+
	|  7566 | JONES | MANAGER | 2975.00 |
	|  7698 | BLAKE | MANAGER | 2850.00 |
	+-------+-------+---------+---------+

or 或者
查询工作岗位是MANAGER和SALESMAN的员工?
	select empno,ename,job from emp where job = 'MANAGER';
	select empno,ename,job from emp where job = 'SALESMAN';

	select 
		empno,ename,job
	from
		emp
	where 
		job = 'MANAGER' or job = 'SALESMAN';
	
	+-------+--------+----------+
	| empno | ename  | job      |
	+-------+--------+----------+
	|  7499 | ALLEN  | SALESMAN |
	|  7521 | WARD   | SALESMAN |
	|  7566 | JONES  | MANAGER  |
	|  7654 | MARTIN | SALESMAN |
	|  7698 | BLAKE  | MANAGER  |
	|  7782 | CLARK  | MANAGER  |
	|  7844 | TURNER | SALESMAN |
	+-------+--------+----------+

and和or同时出现的话,有优先级问题吗?
查询工资大于2500,并且部门编号为10或20部门的员工?
	select 
		*
	from
		emp
	where
		sal > 2500 and deptno = 10 or deptno = 20;
	分析以上语句的问题?
		and优先级比or高。
		以上语句会先执行and,然后执行or。
		以上这个语句表示什么含义?
			找出工资大于2500并且部门编号为10的员工,或者20部门所有员工找出来。
	
	select 
		*
	from
		emp
	where
		sal > 2500 and (deptno = 10 or deptno = 20);
	
	and和or同时出现,and优先级较高。如果想让or先执行,需要加“小括号”
	以后在开发中,如果不确定优先级,就加小括号就行了。

in 包含,相当于多个 or (not in 不在这个范围中)
	查询工作岗位是MANAGER和SALESMAN的员工?
		select empno,ename,job from emp where job = 'MANAGER' or job = 'SALESMAN';
		select empno,ename,job from emp where job in('MANAGER', 'SALESMAN');
		+-------+--------+----------+
		| empno | ename  | job      |
		+-------+--------+----------+
		|  7499 | ALLEN  | SALESMAN |
		|  7521 | WARD   | SALESMAN |
		|  7566 | JONES  | MANAGER  |
		|  7654 | MARTIN | SALESMAN |
		|  7698 | BLAKE  | MANAGER  |
		|  7782 | CLARK  | MANAGER  |
		|  7844 | TURNER | SALESMAN |
		+-------+--------+----------+
		注意:in不是一个区间。in后面跟的是具体的值。 很重要,in后面跟具体的值,并不是一个区间

	查询薪资是800和5000的员工信息?
		select ename,sal from emp where sal = 800 or sal = 5000;
		select ename,sal from emp where sal in(800, 5000); //这个不是表示800到5000都找出来。
		+-------+---------+
		| ename | sal     |
		+-------+---------+
		| SMITH |  800.00 |
		| KING  | 5000.00 |
		+-------+---------+
		select ename,sal from emp where sal in(800, 5000, 3000);

		// not in 表示不在这几个值当中的数据。
		select ename,sal from emp where sal not in(800, 5000, 3000);
		+--------+---------+
		| ename  | sal     |
		+--------+---------+
		| ALLEN  | 1600.00 |
		| WARD   | 1250.00 |
		| JONES  | 2975.00 |
		| MARTIN | 1250.00 |
		| BLAKE  | 2850.00 |
		| CLARK  | 2450.00 |
		| TURNER | 1500.00 |
		| ADAMS  | 1100.00 |
		| JAMES  |  950.00 |
		| MILLER | 1300.00 |
		+--------+---------+

not 可以取非,主要用在 is 或 in 中
	is null
	is not null
	in
	not in

like 
	称为模糊查询,支持%或下划线匹配
	%匹配任意多个字符
	下划线:任意一个字符。
	(%是一个特殊的符号,_ 也是一个特殊符号)

	找出名字中含有O的?
	mysql> select ename from emp where ename like '%O%';
	+-------+
	| ename |
	+-------+
	| JONES |
	| SCOTT |
	| FORD  |
	+-------+

	找出名字以T结尾的?
		select ename from emp where ename like '%T';
		
	找出名字以K开始的?
		select ename from emp where ename like 'K%';

	找出第二个字每是A的?
		select ename from emp where ename like '_A%';
	
	找出第三个字母是R的?
		select ename from emp where ename like '__R%';
	
	t_student学生表
	name字段
	----------------------
	zhangsan
	lisi
	wangwu
	zhaoliu
	jack_son

	找出名字中有“_”的?
		select name from t_student where name like '%_%'; //这样不行。

		mysql> select name from t_student where name like '%\_%'; // \转义字符。
		+----------+
		| name     |
		+----------+
		| jack_son |
		+----------+

16.数据处理函数

数据处理函数又被称为单行处理函数
单行处理函数的特点:一个输入对应一个输出。
和单行处理函数相对的是:多行处理函数。(多行处理函数特点:多个输入,对应1个输出!)

16.1

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

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

相关文章

【2023电工杯】B题人工智能对大学生学习影响的评价26页论文及python代码

【2023电工杯】B题人工智能对大学生学习影响的评价26页论文及python代码 1 题目 B题 人工智能对大学生学习影响的评价 人工智能简称AI&#xff0c;最初由麦卡锡、明斯基等科学家于1956年在美国达特茅斯学院开会研讨时提出。 2016年&#xff0c;人工智能AlphaGo 4:1战胜韩国…

5分钟让你明白什么是面向对象编程

相信很多刚开始接触编程的小伙伴&#xff0c;对于什么是面向对象&#xff0c;什么是面向过程都是一脸懵逼的。 网上关于这两个的回答真的很多&#xff0c;但是都有一个共同特点&#xff1a;------------不容易懂。 让我们来看看某百科给出的定义: 能不能好好说话&#xff01;…

浮点数在内存中的运算

他们力量的源泉&#xff0c;是值得信赖的搭档以及想要保护的对象还有强大的敌人 本文收录于青花雾气-计算机基础 往期回顾 从汇编代码探究函数栈帧的创建和销毁的底层原理 从0到1搞定在线OJ 数据在内存中的存储 计算机存储的大小端模式 目录 浮点数的二进制转化及存储规…

pySCENIC单细胞转录因子分析更新:数据库、软件更新

***pySCENIC全部往期精彩系列&#xff1a;1、PySCENIC&#xff08;一&#xff09;&#xff1a;python版单细胞转录组转录因子分析2、PySCENIC&#xff08;二&#xff09;&#xff1a;pyscenic单细胞转录组转录因子分析3、PySCENIC&#xff08;三&#xff09;&#xff1a;pyscen…

我的创作纪念日之这四年的收获与体会

第一次来写自己的创作纪念哈&#xff0c;不知不觉都已经过去整整四年了&#xff0c;好与不好还请大家担待&#xff1a; 1、机缘 1. 记得是大一、大二的时候就听学校的大牛说&#xff0c;可以通过写 CSDN 博客&#xff0c;来提升自己的代码和逻辑能力&#xff0c;以及后面工作…

图解LeetCode——994. 腐烂的橘子

一、题目 在给定的 m x n 网格 grid 中&#xff0c;每个单元格可以有以下三个值之一&#xff1a; 值 0 代表空单元格&#xff1b;值 1 代表新鲜橘子&#xff1b;值 2 代表腐烂的橘子。 每分钟&#xff0c;腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。 返回直到单元格…

醒醒吧,连新来的实习生都在进阶自动化,你还在点点点吗,聪明人都在提升自己!

5年测试老兵了&#xff0c;真的很迷茫&#xff0c;觉得自己不再提升自己&#xff0c;真的会被实习生替代。 很多朋友跟我吐槽&#xff0c;说自己虽然已经工作3-4年&#xff0c;可工作依旧是点点点&#xff0c;新来的实习生用一周的时间就把工作内容学会了&#xff0c;他的压力…

让博客支持使用 ChatGPT 生成文章摘要是一种什么样的体验?

让博客支持使用 ChatGPT 生成文章摘要是一种什么样的体验&#xff1f; 起因 Sakurairo 主题支持了基于 ChatGPT 的 AI 摘要功能&#xff0c;我有点眼红&#xff0c;但是因为那是个主题限定功能&#xff0c;而我用的又是 Argon&#xff0c;遂想着让 Argon 也支持 AI 摘要功能。…

【spring】spring是什么?详解它的特点与模块

作者&#xff1a;Insist-- 个人主页&#xff1a;insist--个人主页 作者会持续更新网络知识和python基础知识&#xff0c;期待你的关注 目录 一、spring介绍 二、spring的特点&#xff08;七点&#xff09; 1、简化开发 2、AOP的支持 3、声明式事务的支持 4、方便测试 5、…

springcloud 父项目建立(一)

我们开发项目&#xff0c;现在基本都用到maven&#xff0c;以及用父子项目&#xff0c;以及公共模块依赖&#xff0c;来构建方便扩展的项目体系&#xff1b; 首先我们建立父项目 microservice &#xff0c;主要是一个pom&#xff0c;管理module&#xff0c;以及管理依赖&#x…

shell实现多并发控制

背景&#xff1a; 遇到一个业务需求&#xff0c;一个上位机需要向多个下位机传送文件&#xff0c;当前的实现是for循环遍历所有下位机&#xff0c;传送文件&#xff0c;但是此种方法耗时太久&#xff0c;需要优化。因此可以通过并发的方式向下位机传送文件。 这边写一段测试代…

【Vue3 第二十七章】路由和状态管理

一、路由 1.1 服务端路由 与 客户端路由 服务端路由 服务端路由指的是服务器根据用户访问的 URL 路径返回不同的响应结果。当我们在一个传统的服务端渲染的 web 应用中点击一个链接时&#xff0c;浏览器会从服务端获得全新的 HTML&#xff0c;然后重新加载整个页面。客户端路…

人机交互学习-2 人机交互基础知识

人机交互基础知识 交互框架作用执行/评估活动周期 EEC四个组成部分七个阶段和两个步骤 执行隔阂&评估隔阂扩展EEC模型四个部分两个阶段 交互形式命令行交互菜单驱动界面基于表格的界面直接操纵问答界面隐喻界面自然语言交互交互形式小结 理解用户信息处理模型信号处理机人类…

“秩序与自由”——超详细的低代码开发B端产品前端页面设计规范

Hi&#xff0c;我们是钟茂林和李星潮&#xff0c;来自万应低代码 UI 设计团队。 编辑搜图 编辑搜图 左&#xff1a;钟茂林 右&#xff1a;李星潮 在过去&#xff0c;B 端应用通常只在企业内部员工中使用&#xff0c;与 C 端产品数以千万计的用户相比显得少之…

Pycharm 配置Django 框架(详解篇)

首先你必须具备pycharm 专业版 / 社区版也可以 打开pycharm专业版 找到在最下方菜单栏找到 Terminal 第二步&#xff1a;检查自己的python版本 python --version 第三步&#xff1a; 寻找和自己python版本匹配的django版本 &#xff08;图片来源&#xff1a; 化雨随风 …

【NLP模型】文本建模(2)TF-IDF关键词提取原理

一、说明 tf-idf是个可以提取文章关键词的模型&#xff1b;他是基于词频&#xff0c;以及词的权重综合因素考虑的词价值刻度模型。一般地开发NLP将包含三个层次单元&#xff1a;最大数据单元是语料库、语料库中有若干文章、文章中有若干词语。这样从词频上说&#xff0c;就有词…

华为OD机试真题 JavaScript 实现【最小传输时延】【2023 B卷 100分】,附详细解题思路

一、题目描述 某通信网络中有N个网络节点&#xff0c;用1到N进行标识。 网络通过一个有向无环图表示&#xff0c;其中图的边的值表示结点之间的消息传递时延。 现给定相连节点之间的时延列表times[i] {u,v,w}&#xff0c;u表示源节点&#xff0c;v表示目的节点&#xff0c;…

C++入门攻略

C补足C语言部分缺陷 1.命名空间&#xff1a;1.1 命名空间namespace关键字1.命名空间中可以定义变量、函数、类型2.命名空间可以嵌套3.相同命名空间共存 1.2 命名空间的使用方式&#xff1a;1.名称加用域作用限定符的方式访问&#xff08;同上&#xff09;2.使用using引入某个空…

现在学大数据还来得及么

种一棵树最好的时机是十年前&#xff0c;其次是现在。如果你想学&#xff0c;那么就一定来的及。 Python 已成利器 在大数据领域中大放异彩 Python&#xff0c;成为职场人追求效率的利器&#xff0c;因为不管什么工作&#xff0c;数据都会是工作的一部分&#xff0c;有数据的…

学习【菜鸟教程】【C++ 继承】

链接 1. 教程原文 面向对象程序设计中最重要的一个概念是继承。继承允许我们依据另一个类来定义一个类&#xff0c;这使得创建和维护一个应用程序变得更容易。这样做&#xff0c;也达到了重用代码功能和提高执行效率的效果。 当创建一个类时&#xff0c;您不需要重新编写新的…