mysql基础知识扫盲

本篇主要介绍关于mysql的一些非常基础的知识,为后面的sql优化做准备。

一:连接mysql

关于mysql的下载和安装我在这里就不说了,第一步我们要连接我们的mysql服务器,打开cmd命令切换到你安装MySQL Server 的bin目录下,然后输入mysql -h localhost -u root -p

其中-h 表示你的主机地址(本机就是localhost,记住不要带端口号) -u 就是连接数据库名称 -p就是连接密码。出现以下图就表示连接成功了

二:常用的sql语句

2.1:创建数据库 create database 数据库名

2.2:删除数据库 drop database 数据库名

2.3:查询系统中的数据库 show databases

2.4:使用数据库 use 数据库名

2.5:查询数据库的表 show tables

2.6:查询表结构 desc +表名

2.7:查询创建表的sql语句 show create table +表名

2.8:删除表 drop +表名

2.9:一次删除多条表记录:delete t1,t2 from t1,t2[where 条件] 如果from后面用别名那么delete后面也需要用别名

3.0:一次性更新多次表update t1,t2 ...tn set t1.field=expr1,tn.exprn=exprn;

三:查询

3.1:select普通查询

在这里我创建了一个数据放了2个表,看下图

3.2:查询不重复记录

用关键字distinct如下图

3.3:排序和限制

用关键字order by进行排序desc降序asc升序,limit关键字进行限制输出

order by后面跟字段(order by只写一次即可先排第一个字段然后第二个以此类推,limit 后面第一个数是索性,第二个是输出的个数)。

四:聚合操作

很多情况下,用户都需要进行一些统计,比如统计整个公司的人数或者部门的人数,这时就会用到聚合操作。聚合操作语法入戏下

select 【field1,field2...fieldn】fun_name from 表名

where 条件

group by field1,field2...fieldn

with rollup

having 条件

fun_name叫做聚合函数或者聚合操作,常见的有sum(求和)、 count(*)记录数、 max(最大值)、min(最小值)。

group by 表示要分类聚合的字段,比如按照部门分类统计的员工数量,部门就应该写在group by后面

with rollup 是可选语法,表示是否对分类聚合后的结合在进行汇总

having 表示对分类后的结果在次进行筛选

4.1:按照课程号进行统计班级的人数

4.2:按年级统计人数,并统计总人数

rollup就是进行人数汇总的,从图中我们可以看出。

4.3:统计年龄不小于20的人数

having和where的区别:having是对聚合后的结果进行筛选,而where是在聚合钱就对记录进行筛选,如果逻辑允许,尽可能使用where先过滤记录,这样将减少结果集,对聚合的效率大大的提高,然后在根据having进行过滤。

五:表连接

如果需要同时显示多个表中的字段的时候,就可以使用表连接来实现这样的功能。从大类上可以分为内连接和外连接,他们的主要区别是:内连接仅仅筛选出2个表互相匹配的记录,而外连接会筛选出其他不匹配的记录,我们经常使用的是内连接。

5.1:查询学生所选择的课程

外连接又分为左连接和右连接。

左连接(包含所有左边表中的记录甚至右边表中没有和它匹配的记录)

右连接(包含所有右边表中的记录甚至左边表中没有和它匹配的记录)

从中可以看出左连接是以左边的表为主,右连接是以右边的表为主。

六:子查询

某些情况下,当进行查询的时候,需要的条件是另外一个select语句的结果,这个时候就用到了子查询,用于子查询的关键字主要包括in、not in、=、!=、exist、not exist等

如使用in进行查询

但是使用内连接同样能达到以上的效果

但是内连接的效率在很多情况下都是高于子查询的,所以如果不影响业务逻辑的前提下优先考虑内联。

七:联合

将2个表的数据按照一定规则下查询出来,将结果合并一起显示出来。这个时候我们就可以使用union或者union all。具体语法如下

select * from t1 union\union all select * from t2 union\union all select * from tn;

union和union all的区别在于union是在筛选的结果集去除重复的记录。

切记不可以2个表不匹配就进行联合,如下

如果我们每个表都查询2个字段

八:常见的函数

8.1:concat

cancat函数:把传入的参数连成一个字符串,任何字符串和null进行拼接的结果都是null,如下图

8.2:insert(str,x,y,instr)函数,将字符串str从第X个位置开始,y个字符长的字符串替换成instr下面把字符串hellomysql2016的第5个字符后面的4个字符替换成you

8.3:Lower(Str)和Upper(Str)把字符串转换成小写或者大写。

8.4:left(str,x)和right(str,x)分别返回字符串最左边的x个字符和最右边的x个字符,如果第二个参数为null,不返回任何字符

8.5:ltrim(str)和rtrim(str)去掉字符串左边或者右边的字符

8.6:repeat(str,x):返回str重复x次的结果

8.7:replace(str,a,b)用字符串b替换字符串str中所有出现字符串a。

8.8:trim(str)去掉开头和结尾的空格

8.9:substring(str,x,y):返回从字符串str中的第x个位置起y个字符串长度的字符串。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!

(0)

相关推荐

  • 关于mysql基础知识的介绍

    一.启动与退出1.进入MySQL:启动MySQL Command Line Client(MySQL的DOS界面),直接输入安装时的密码即可.此时的提示符是:mysql>或打开终端,输入SQL语句:mysql –uroot –p123 2.退出MySQL:quit或exit 二.库操作1.创建数据库命令:create database <数据库名>例如:建立一个名为xhkdb的数据库mysql> create database xhkdb; 2.显示所有的数据库命令:show da

  • 深入mysql基础知识的详解

    1.每个客户端连接都会从服务器进程中分到一个属于它的线程.而该连接的相应查询都都会通过该线程处理. 2.服务器会缓存线程.因此并不会为每个新连接创建或者销毁线程. 3.当发起对MySQL服务器的连接时,服务器会对 username,host,password进行验证.而一旦连接上,服务器就会检测其权限. 4.MySQL查询缓存只会保存 SELECT 语句和相应的结果.在解析查询之前会询问查询缓存,如果查询缓存中能找到相应的结果就直接返回结果. 5.MySQL的 data 文件夹下会根据每个数据库

  • mysql学习笔记之基础知识

    查看数据库 show databases; 创建数据库 create DATABASE 数据库名称 create DATABASE databasetest; 选择数据库 use 数据库名称 use databasetest; ------------ Database changed;切换成功 查看当前数据库名称 SELECT DATABASE(); 删除数据库 drop DATABASE 数据库名称 drop DATABASE databasetest; 数据库状态 status; ----

  • MySQL的日志基础知识及基本操作学习教程

    MySQL日志主要包含:错误日志.查询日志.慢查询日志.事务日志.二进制日志: 日志是mysql数据库的重要组成部分.日志文件中记录着mysql数据库运行期间发生的变化:也就是说用来记录mysql数据库的客户端连接状况.SQL语句的执行情况和错误信息等.当数据库遭到意外的损坏时,可以通过日志查看文件出错的原因,并且可以通过日志文件进行数据恢复. 错误日志 在mysql数据库中,错误日志功能是默认开启的.并且,错误日志无法被禁止.默认情况下,错误日志存储在mysql数据库的数据文件中.错误日志文件

  • Mysqli基础知识

    相信原来在开始学习php的时候,很多人使用的数据库首选MySQL,连接数据库的扩展首选mysql扩展,但随着php版本的提高,mysql扩展正逐渐被mysqli和PDO所取代.正如使用mysql函数时给出的deprecated: The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead.学习mysqli扩展势在必行了. 相对于mysql扩展,mysqli扩展支持面向

  • Mysql基础知识点汇总

    1.什么是SQL语句 sql语言:结构化的查询语言.(Structured Query Language),是关系数据库管理系统的标准语言. 它是一种解释语言:写一句执行一句,不需要整体编译执行. 语法特点: 1.没有" ",字符串使用' '包含 2.没有逻辑相等,赋值和逻辑相等都是= 3.类型不再是最严格的.任何数据都可以包含在' '以内 4.没有bool值的概念,但是在视图中可以输入true/false 5.它也有关系运算符:> < >= <= = <

  • mysql基础知识扫盲

    本篇主要介绍关于mysql的一些非常基础的知识,为后面的sql优化做准备. 一:连接mysql 关于mysql的下载和安装我在这里就不说了,第一步我们要连接我们的mysql服务器,打开cmd命令切换到你安装MySQL Server 的bin目录下,然后输入mysql -h localhost -u root -p 其中-h 表示你的主机地址(本机就是localhost,记住不要带端口号) -u 就是连接数据库名称 -p就是连接密码.出现以下图就表示连接成功了 二:常用的sql语句 2.1:创建数

  • Asp.net基础知识扫盲篇

    asp.net基础知识篇-中文扫盲篇 1..NET是什么? .Net全称.NET Framework是一个开发和运行环境, 该战略是微软的一项全新创意, 它将使得"互联网行业进入一个更先进的阶段, .NET不是一种编程语言. 简单说就是一组类库框架, .NET开发支持C#.VB.NET.J#.Jsript和Managed C++等. C#是.NET Framework框架支持的一种主力开发语言, 可用于开发ASP.NET网站, Windows 程序,控制台程序,甚至于手机软件 2.ASP.NET

  • 快速学习MySQL基础知识

    这篇文章主要梳理了 SQL 的基础用法,会涉及到以下方面内容: SQL大小写的规范 数据库的类型以及适用场景 SELECT 的执行过程 WHERE 使用规范 MySQL 中常见函数 子查询分类 如何选择合适的 EXISTS 和 IN 子查询 了解 SQL SQL 是我们用来最长和数据打交道的方式之一,如果按照功能划分可分为如下 4 个部分: DDL,数据定义语言.定义数据库对象,数据表,数据列.也就是,对数据库和表结构进行增删改操作. DML,数据操作语言.对数据表的增删改. DCL,数据控制语

  • 一文读懂navicat for mysql基础知识

    一.数据库的操作 1.新建数据库 2.打开数据库 右键或者双击就可以了. 3.删除数据库 右键–>删除数据库 4.修改数据库 右键–>数据库属性 二.数据类型 1.常用的数据类型 整数:int 小数:decimal 字符串:varchar 日期时间:datatime 2.约束条件 主键:物理上储存的顺序(主键唯一.不能为空,所以允许空值的勾得去掉,不然不能新建或保存,还可以选择下面注释中得自动递增节省工作量) 非空:此字段不允许填空值 唯一:此字段不允许重复 默认值:当不填写时会使用默认值,如

  • python 专题九 Mysql数据库编程基础知识

    在Python网络爬虫中,通常是通过TXT纯文本方式存储,其实也是可以存储在数据库中的:同时在WAMP(Windows.Apache.MySQL.PHP或Python)开发网站中,也可以通过Python构建网页的,所以这篇文章主要讲述Python调用MySQL数据库相关编程知识.从以下几个方面进行讲解: 1.配置MySLQ 2.SQL语句基础知识 3.Python操作MySQL基础知识 4.Python调用MySQL示例 一. 配置MySQL 首先下载mysql-5.0.96-winx64,安装

  • 3000字扫盲shell基础知识(新手必备)

    不论前端还是后端,再学会Linux的基础上,还应该学会写一些简单的Shell.不止是工作,日常中想做一些东西,如果手动做就很累人也费时间,如果你会用Shell脚本处理就很简单了,本文普及的shell的一些基础知识.后面还会持续更新. shell基础语法之变量 shell 变量命名 变量只能由大小写字母,数字和下划线组成. 变量名称不能以数字开头. 变量可以存储数字类型或者字符串类型. 变量赋值等号两边不能有空格. 字符串的变量可以用单引号或者双引号括起来. 定义变量: ➜ ~ name="xia

  • MySQL基础快速入门知识总结(附思维导图)

    目录 前言 一.数据库基础知识 1.什么是数据库 2.数据库的分类 3.数据库的常用语言 4.数据库的常用操作方式 5.MySQL的架构 二.数据库的增删改查 1.创建数据库 2.查询数据库 3.修改数据库 4.删除数据库 三.表的增删改查 1.创建表 2.查询表 3.修改表 4.删除表 四.记录的增删改查 1.插入记录 2.查询记录(最常用) 3.修改记录 4.删除记录 五.字段类型 1.数字型 1.1整数型 1.2小数型 2.文本型 3.日期时间 六.字段属性 总结 前言 本文是我这段时间自

  • MySQL 数据库的基础知识

    目录 1. 认识数据库 1.1 数据库和数据结构的关系 1.2 为什么需要数据库 1.3 数据库的存储 2. SQL 2.1 介绍 2.2 分类 3. 数据库的类别 3.1 关系型数据库 3.2 非关系型数据库 3.3 区别 4. MySQL 的程序结构 4.1 客户端和服务器 4.2 MySQL 的客户端-服务器结构 4.3 MySQL 服务器 1. 认识数据库 1.1 数据库和数据结构的关系 数据结构: 是指相互之间存在一种或多种特定关系的数据元素的集合,是一个抽象的学科 我们熟知的数据结构

随机推荐