数据库的基本查询语法:

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

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.如图所示注释写在图片里:

多行多列:

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

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值