MySQL基础(一)SQL分类、导入、SELECT语句,运算符

news/2024/12/12 20:36:25/

目录

MySQL安装以及相关工具

SQL分类

导入数据 

最基本的SELECT语句

SELECT   FROM 

 列的别名

 去除重复行

着重号

查询常数

 描述表结构

 过滤数据(重要)

运算符

算数运算符

比较运算符 

符号运算符

 非符号运算符

逻辑运算符

 位运算符


MySQL安装以及相关工具

MySQL

安装时会对mysql进行相关设置,例如用户及其密码,具体参见MySQL 安装 | 菜鸟教程

如果我们要登录本机的 MySQL 数据库,只需要输入以下命令即可:

mysql -u root -p

按回车确认, 如果安装正确且 MySQL 正在运行, 会得到以下响应:

Enter password:

可视化工具这里推荐  SQLyog、navicat

现在左上角建立连接,连接到自己的mysql,再进行操作 

SQL分类

SQL语言在功能上主要分为如下3大类:

  • DDL(Data Definition Languages、数据定义语言),这些语句定义了不同的数据库、表、视图、索引等数据库对象,还可以用来创建、删除、修改数据库和数据表的结构。主要的语句关键字包括 CREATE 、 DROP 、 ALTER等。
  • DML(Data Manipulation Language、数据操作语言),用于添加、删除、更新和查询数据库记录,并检查数据完整性。主要的语句关键字包括 INSERT 、 DELETE 、 UPDATE 、 SELECT等。SELECT是SQL语言的基础,最为重要。
  • DCL(Data Control Language、数据控制语言),用于定义数据库、表、字段、用户的访问权限和安全级别。主要的语句关键字包括 GRANT 、 REVOKE 、 COMMIT 、 ROLLBACK 、 SAVEPOINT等

导入数据 

命令行输入:

 source 路径.sql;

 当然也可以直接把sql文件拖到数据库文件夹下

也可以使用SQLyog、navicat等可视化工具导入

最基本的SELECT语句

SELECT   FROM 

意为查询

SELECT 字段1,字段2 、、、 FROM 表名;

例如,在jobs表中选择所有列:

SELECT * FROM jobs;

在jobs表中查询  min_salary 和 max_salary 列

SELECT min_salary,max_salary FROM jobs;

 列的别名

在查询操作中,可以给列取别名

有三种方式:

  1. 列名 别名
  2. 列名 as 别名
  3. 列名 ”别名“
SELECT min_salary mins,max_salary AS masx,job_id "id"
FROM jobs;

 

 

 去除重复行

当某些列有很多重复的内容(例如每个人的部门编号)

 而你只想看见不同的内容(一共有哪些部门),就需要去重

SELECT DISTINCT department_id 
FROM employees;

着重号

如果表名与mysql中的语句方法名冲突,就应该加着重号修饰    `xxx`

SELECT * FROM `order`

查询常数

在查询的语句中加入 常数,会自动填充此常数

SELECT 'lalala',department_id 
FROM employees;

 描述表结构

DESCRIBE employees;

包含了表的字段,数据类型,能否为空值等等信息 

 

 过滤数据(重要)

查询某些满足特定要求的数据,例如查询 部门编号为90的表数据

SELECT *
FROM employees
WHERE department_id=90

当然可以同时提交多个条件

SELECT *
FROM employees
WHERE department_id=90 AND last_name = 'king'

值得注意的是,windows下的mysql对大小写不敏感,例如这里写 king  和KING ,查询结果都是一样的,在某些情况下这是一个缺点。

运算符

算数运算符

举例: 

 

  •  一个整数类型的值对整数进行加法和减法操作,结果还是一个整数;
  • 一个整数类型的值对浮点数进行加法和减法操作,结果是一个浮点数;
  • 加法和减法的优先级相同,进行先加后减操作与进行先减后加操作的结果是一样的;
  • 在Java中,+的左右两边如果有字符串,那么表示字符串的拼接。但是在MySQL中+只表示数值相加。如果遇到非数值类型,先尝试转成数值,如果转失败,就按0计算。(补充:MySQL中字符串拼接要使用字符串函数CONCAT()实现)

比较运算符 

符号运算符

下面展示了一些特殊情况 

 

  • 100=100,最普通的情况
  • 1=’1‘,sql存在隐式转换,转换为等号前面的数据类型
  • 1=’a',0='a',若转换不成功,默认为0
  • NULL不能用=比较,但是可以用<=>比较

 非符号运算符

  • is null , least (最小), greatest (最大)

 

  •  BETWEEN AND是包含两者的,即包含6000和8000

等价于

SELECT salary
FROM employees
WHERE salary >=6000 AND salary<=8000
  •  in , not in

 

等价于

SELECT department_id
FROM employees
WHERE department_id = 10 OR department_id = 20 OR department_id = 30
  • like 模糊查询

例如查询 first_name中以字母a开头的数据

这里经常搭配 % 使用,表达不确定的个数

_表示不确定的一个字符,例如查询 第二个字母为a 的数据

SELECT first_name
FROM employees
WHERE first_name LIKE '_a%'
  •  REGEXP

REGEXP运算符用来匹配字符串

(1)‘^’匹配以该字符后面的字符开头的字符串。
(2)‘$’匹配以该字符前面的字符结尾的字符串。
(3)‘.’匹配任何一个单字符。
(4)“[...]”匹配在方括号内的任何字符。例如,“[abc]”匹配“a”或“b”或“c”。为了命名字符的范围,使用一个‘-’。“[a-z]”匹配任何字母,而“[0-9]”匹配任何数字。
(5)‘*’匹配零个或多个在它前面的字符。例如,“x*”匹配任何数量的‘x’字符,“[0-9]*”匹配任何数量的数字,而“*”匹配任何数量的任何字符。

SELECT first_name
FROM employees
WHERE first_name REGEXP '^b'

逻辑运算符

 位运算符

这里需要将数据转换为二进制数据进行 位运算

用的比较少,不赘述

 


http://www.ppmy.cn/news/29051.html

相关文章

SSM SpringBoot vue 在线教学质量评价系统

SSM SpringBoot vue 在线教学质量评价系统 SSM 在线教学质量评价系统 功能介绍 首页 图片轮播展示 登录 学生注册 教师注册 督导注册 教师展示 教师详情 学生评价 课程信息 课程详情 提交选修该课 学生选课 学生留言 个人中心 后台管理 管理员或学生或教师或督导登录 个人中…

集成RocketChat至现有的.Net项目中,为ChatGPT铺路

文章目录前言项目搭建后端前端代理账号鉴权方式介绍登录校验模块前端鉴权方式后端鉴权方式登录委托使用登录委托处理聊天消息前端鉴权方式后端校验方式项目地址前言 今天我们来聊一聊一个Paas的方案&#xff0c;如何集成到一个既有的项目中。 以其中一个需求为例子&#xff1a…

主机状态(查看资源占用情况、查看网络占用情况)

1. 查看资源占用情况 【1】可以通过top命令查看cpu、内存的使用情况&#xff0c;类似windows的任务管理器 默认5s刷新一次 语法&#xff1a;top 可 Ctrl c 退出 2.磁盘信息监控 【1】使用df命令&#xff0c;查看磁盘信息占用情况 语法&#xff1a;df [ -h ] 以更加人性化…

山地车和公路车怎么选

公路车&#xff1a; 只能适应平坦的路面&#xff0c;骑行阻力小&#xff0c;速度快比较适合新手 山地车&#xff1a; 能适应所有路面&#xff0c;更注重操控性和舒适性 怎么选&#xff1f; 1、先决定用途 旅游&#xff1a;旅行车、山地车、 通勤&#xff1a;公路车 2、预…

图注意网络GAT理解及Pytorch代码实现【PyGAT代码详细注释】

文章目录GAT代码实现【PyGAT】GraphAttentionLayer【一个图注意力层实现】用上面实现的单层网络测试加入Multi-head机制的GAT对数据集Cora的处理csr_matrix()处理稀疏矩阵encode_onehot()对label编号build graph邻接矩阵构造GAT的推广GAT 题&#xff1a;Graph Attention Netwo…

Ep_操作系统面试题-什么是协程

协程 是一种 比线程更加轻量级的存 在&#xff0c;一个线程可以拥有多个协程。是一个特殊的 函数 &#xff0c;这个函数可以在某个地方挂起&#xff0c;并且可以重新在挂起处外继续运行。协程 不是被操作系统内核所管理 &#xff0c; 而完全是由程序所控制&#xff08;也就是在…

[MatLab]矩阵运算和程序结构

一、矩阵 1.定义 矩阵以[ ]包含&#xff0c;以空格表示数据分隔&#xff0c;以&#xff1b;表示换行。 A [1 2 3 4 5 6] B 1:2:9 %1-9中的数&#xff0c;中间是步长(不能缺省) C repmat(B,3,2) %将B横向重复2次&#xff0c;纵向重复2次 D ones(2,4) …

那些年用过的IDEA插件

今天和大家分享一下经常使用的IDEA的插件&#xff0c;希望有所帮助。一、IDEA插件CodeGlance2显示代码缩略图插件&#xff0c;方便查看代码。Lombok用于编译期间自动生成getter、setter、构造、toString等方法&#xff0c;简化代码。Mybatis Builder或MybatisXMapper接口和xml双…