首页 > 数据库 >数据库的基本查询语法:

数据库的基本查询语法:

时间:2024-07-13 23:28:53浏览次数:18  
标签:数据库 外键 查询 语法 select 表名 格式 字段名

一.数据库的基本数据类型:

int        整数类型

double  小数类型

decimal  指定整数与小数长度的小数类型 范围在-99.99-99.99

date       日期类型 格式为:yyyy-MM-dd 包含年月日不包含分秒

datetime  日期类型 格式:YYYY-MM-DD HH:MM:SS,包含年月日包含时分秒

timestamp  日期类型 时戳

varchar   文本类型  为0-65535间的整数,变长

char      文本类型  为0-65535间的整数,定长

二.创建数据库

格式:create database 数据库名称;

三.查看所有的数据库:

格式:show create databases 数据库名;

四.删除数据库:

格式:drop database 数据库名;

五.修改数据库【了解】

格式:alter database 数据库名 character set 字符集;

六.操作表

6.1 创建表:

create table 表名(

字段名 数据类型[长度] [约束],

字段名 数据类型[长度] [约束],

字段名 数据类型[长度] [约束]

);//注意最后一个字段名后面不要加逗号;

6.2约束

not Null:非空约束;

列如:sum varchar(40) not null;表示这个列不能有null值

unique;唯一约束;

列如:sum varchar(40) unique ;这个列里面不可以有重复的数

primary key:主键约束(非空加唯一);

一般用在表的id列上面,一张表基本上都有id列的id作为唯一的标识;

auto_increment  自动增长,必须是设置了primary key 之后才可以使用auto_increment;

七。DML操作表记录-增删改;

插入记录:

方法一:插入指定的列格式:insert into 表【字段1,字段2】values【值1,值2】

方法二:插入所有的列 格式:insert into 表名【值1,值2,值3】;

7.2修改记录

格式:update 表名 set  字段 = 改变的值,字段=改变的值 where 条件;

列如:修改id为1的人 年龄为20;

7.3删除记录

格式:delete from 表名 where条件;

一.基本查询语法;

查询所有表的数据:格式:select * from 表名;

查询某张表特定列的数据;

格式:select 字段名1,字段名2 from 表名;

去重查询 

格式:select distinct 字段名 from 表名;

注意distinct前面不能有字段名

别名查询

格式:select 字段名 as 别名, 字段名 as 别名 from 表名;

条件查询

格式:select 【字段名1,字段名2】或者【*星号代表全选择】from 表名 where 条件;

like 模糊查询

格式:一般用_和%号一起使用;_占一位  %占0或者多位;

列如:查询数据中性小的人:

and多条件同时满足

or多条件任意一个条件满足即可

排序查询

1.降序查询:格式:select *from 表名 order by 字段名 desc;

聚合函数;

max(字段名):求这个数据里面的最大数

mia(字段名):求这个数据里面的最小数

avg(字段名):求这个数据里面的平均数

count(字段名):统计这个数据里面有多少数据

速卖(字段名):对这一列的数据进行相加 求总和;

分组查询

格式:select 字段名1,,字段名2,from 表名 where 条件 group by 列名 having 【条件】

列如:根据性别分组统计每组的人数:

列2:根据性别分组,最后筛选出人数大于5的组

分页查询:

简述:LIMIT是限制的意思,所以LIMIT的作用就是现在查询吉利的条数,经常用了做分页查询

格式·:select*from 表名 limit m,n

m标识是从哪里开始查,n表示查几条,m的索引根java里面数组相同都是从零开始

列如:我要查1到4的数据:

分页查询还有一个公式:m=(当前页面码-1)*n,n

解释:如果你的页面为第一页:那m=(1-1)*n , n;

           如果你的页面为第二页:那m=(2-1)*n , n;

           如果你的页面为第三页:那m=(3-1)*n , n;依次类推n就表示要看的行数一样

在详细一点就想游览器里面一样他的网页不是一下子就加载完的 它也是分一页一页的 他一页显示多少个数据也就相当于我们n这里设置的值;

八·.外键约束

单表的缺点如果表中出现多条数据需要改变的时候改变起来很麻烦;所以现在就有一个多表以及多表的查询方法:

首先我们建立两个表:

外键约束:外键约束的作用:保证引用数据的完整性,用来维护表间关系

外键:一张从表中的某一个字段医用主表中的主键

主表:约束别人

副表/从表:使用别人的数据被别人约束;

添加外键的格式:constraint 外键约束名称(自定义)foreign key 外键字段名 references 主表名(主键字段名)

        这样子就不可以直接去修改我们表中的数据了,但作为一个合格的程序员这不让我修改忍得了啊,那我偏要修改;怎么办

接下来就是我们要说的级联

外键级联:就是把主键的这个表进行删除,然后从新去创建这个表,从新创建表的同时添加级联更新和级联删除

原来没新建的表:

        删除后新建的表:

表与表之间的关系:

现实生活中,实体与实体之间肯定是有关系的,比如部门和员工,老师和学生等。

那么我们表与表之间也是有关系的:

一对多建表原则:在多的一方创建一个字段,字段作为外键指向一的一方的主键;

多对多的关系建表原则:需要创建第三张表,中间表中至少两个字段,这两个字段分别作为外键指向各自一方的主键;

一对一建表原则:一对一可以创建成一张表;(不常用)

九.内连接查询:

9.1隐式内连接:

格式:select 【字段1,字段2】或【*】from 表名A,表名B where 连接条件(表A的主键=表B的外键);

9.2显示内连接:

格式:select 【字段1,字段2】或【*】from 表名A inner join 表名B on 连接条件 where 其他条件

外连接【重点】

我们发现上面几种连接只能连接上公用部分 但是对于没用共同属性的就不会显示出来

弊端:我后面添加上去的数据他查不到那要怎么办呢,现在就要用到我们的外部链接了

左外连接:

格式:select 【字段】或者【*】from 表名A left outer join 表名B on 条件

这个是我从新建立的表单 可以看到就算商务部没有满足那个条件也可以显示出来,但是员工id和姓名都是为空的。

左外连接扩展:

接下来是右外连接:

格式:select 【字段】或者【*】from 表名A right outer join 表名B on 条件

可以看到右外连接显示了姓名白龙马但是没部门,因为数据匹配不上所以白龙马没有部门

这也解决了连接表图过程中没匹配上的数据不显示的问题;

十.子查询【重点】

介绍:一个查询里面包含两个select 

一个查询语句的结果是另一个查询语句的条件

有查询嵌套,内部的查询称为子查询

子查询要使用括号;

10.1.如图所示注释写在图片里:

多行多列:

以上就是我们数据库的基本查询方法了 下班 下班。

标签:数据库,外键,查询,语法,select,表名,格式,字段名
From: https://blog.csdn.net/2401_85217463/article/details/140399325

相关文章

  • 尚硅谷MySQL数据库入门到大牛_宋红康--学习建议
    【MySQL上篇:基础篇】【第1子篇:数据库概述与MySQL安装篇】p01-p11学习建议:零基础同学必看,涉及理解和Windows系统下MySQL安装【第2子篇:SQL之SELECT使用篇】p12-p48学习建议:学习SQL的重点,必须重点掌握,建议课后练习多写【第3子篇:SQL之DDL、DML、DCL使用篇】p49-p73学习建议:学习SQL的......
  • Neo4j:图数据库的革命性力量
    Neo4j首席技术官@prathle撰写了一篇出色的博文,总结最近围绕GraphRAG的热议、我们从一年来帮助用户使用知识图谱+LLM构建系统中学到的东西,以及我们认为该领域的发展方向。Neo4j一时间又大火起来,本文将带你快速入门这神奇的数据库。前言Neo4j是一款符合ACID标准的图数据......
  • Redis:高性能的开源缓存数据库
    简介:Redis(RemoteDictionaryServer)是一个基于内存的开源缓存数据库,常用于缓存、消息队列、分布式锁等场景。它被设计成快速、可靠且易于使用的数据库系统,具有高性能、高可用、可扩展性等特点。本篇博客将介绍Redis的基本原理、常见应用场景以及优势。Redis的基本原理Redis......
  • java 基本语法1
    1.安装idea,java编译器,编译器会自动对代码进行编译,然后运行得到结果.idea分为社区版(免费),企业版(收费),https://www.jetbrains.com/zh-cn/idea/download/?section=windows从官网下载对应版本安装即可.2.java的数据类型有四类八项.整数,小数,字符,布尔.其中整数:intlongbyt......
  • 知识图谱数据库基本知识
    文章目录知识图谱数据模型知识图谱查询语言    随着知识图谱规模的日益增长,数据管理愈加重要。一方面,以文件形式保存的知识图谱显然无法满足用户的查询、检索、推理、分析及各种应用需求;另一方面,传统数据库的关系模型与知识图谱的图模型之间存在显著差异,关......
  • MySQL优化SQL查询语句的策略与实践
    在数据库管理和优化中,针对MySQL的SQL查询优化是提升性能的关键步骤。以下是一些实践性强且高效的策略,旨在减少查询时间,提高系统响应速度:1.精准索引策略,减少全表扫描索引优化:确保在WHERE和ORDERBY子句中涉及的列上创建索引。这不仅加快了数据检索速度,还降低了服务器负担。替......
  • 分页查询及其拓展应用案例
    分页查询分页查询是处理大量数据时常用的技术,通过分页可以将数据分成多个小部分,方便用户逐页查看。SQLAlchemy提供了简单易用的方法来实现分页查询。本篇我们也会在最终实现这样的分页效果:1.什么是分页查询分页查询是将查询结果按照一定数量分成多页展示,每页显示固定数量的......
  • 《JavaSE》------4.<基础语法(数据类型与变量)>
    包含java注释,标识符,关键字,数据类型与变量,Ascii码与Unicode码,类型转换....语言只是工具,不能决定你好不好找工作,决定你好不好找工作的是你的能力!!!!!学历本科及以上就够用了!!!!!!!!!!!!!!!!!!!!!!!!!!!!目录一、注释二、标识符三、关键字四、数据类型与变量4.1字面常量4.1.1字面常量的分类4.2数据......
  • Mysql数据库之约束条件
    一、主键约束主键约束(PRIMARYKEYconstraint)用于唯一标识数据库表中的每条记录。语法:createtable 表名(   列名1数据类型primary key,   列名2数据类型,   ...);在主键的后面添加:auto_increment,可以让主键自增。设置auto_increment之后,可以......
  • 【Python】基础语法
    目录一、思考if__name__==”__main__”的意思和作用1.先执行comparenumber.py 2.再看test.py3._name_的意思4._name_的作用二、重要语法“tab”的作用1.test012.test02三、元组数据结构的创建和使用1.创建元组 2.访问元组的元素3.操作元组四、列表数......