MySql教程

MySQL基础

本文主要是介绍MySQL基础,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

MySQL中的查询

检索不同的行:

select distinct name from 表名;

限制结果LIMIT

select * from stu limit 3,4;#跳过结果的前3行后,取4行
#替代语法:
select * from stu limit 4 offset 3;

对检索数据进行排序 order by

order by进行的排序默认是升序,降序排列的话需要通过desc关键字进行限制;

注意:当同一条SQL语句中同时使用limit和order by时,limit应该放在后面;

数据检索条件过滤WHERE

在同时使用order by和where子句的时候,应该让order by位于where子句后面;

在使用between and的时候,是指的>=且<=

通过where判断空值的时候用 is NULL

where 中使用and和or

SQL在处理or操作前,会优先处理and操作符;

小技巧:在进行MySQL查询的时候,可以将问题进行拆分,更有助于理清思路和解决问题;

in 和 not in

in子句可以用来代替or语句

select age from stu where age in(11,12);

like 通配符

like要搭配通配符进行使用,通常有两种: % and _

其中,% 是匹配不确定的长度,而_是匹配一个长度的字符;

select name from stu where name like "a%";  #以a开头的名字均符合
select name from stu where name like "a__";  #以a开头且长度为3的名字才符合

在使用通配符的时候要注意:通配符的效率比一般的查询要低,并且%用在开头的时候,效率非常低,尽量要进行避免;

SQL中的子查询和表连接

SQL允许创建子查询,即嵌套在其他查询中的查询;

SQL最强大的功能之一就是可以在数据检索查询执行中连接(join)表;

在有效使用连接前,必须了解关系表以及关系数据库设计的基础知识如下:

关系表(表关系):指的就是表与表之间的关系;

一对一的表关系

外键

在一个表中,定义一个字段,这个字段中存储的数据是另外一个表中的主键;

就是在一个表中的字段,代表着这个数据属于谁;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lYzU4LHf-1631240798863)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\1625135851207.png)]

外键实现的方式有两种:物理和逻辑外键;

物理外键:

在创建表时,指定这个表中的字段是一个外键,且强关联某个表中的某个字段

需要在定义字段是,使用SQL语句来实现

逻辑外键:

在表中创建一个普通的字段,没有强关联关系,需要通过程序逻辑来进行实现

一对多的表关系

在一个表中的一条数据对应这另一个表中的多条数据;

注:一对多这种关系是实际应用中最多的一种关系;

多对多的关系

例如一本书,有多个标签,同时,每一个标签下又对应着多本书;

计算机中的思想来源于实际的生活和社会;

这篇关于MySQL基础的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!