2021.1.4 mysql约束和查询

查询操作
1.查询表中所有的行和列
select * from 表名;
2.查询指定列的数据,-->多个中间用
select 列名1,列名2 from 表名;
3.给指定列设置别名
selece 表别名.列名1 as 别名1,表别名.列名2 as 别名2 from 表名 as 表别名;
注意:
写别名不会修改表的结构只会影响显示。
表别名写了之后会更加的规范,多表联合查询的时候才能体现出来
as可以省略

4.去重查询
-使用关键字distinct-->查询出来的数据如果有相同的机会删除相同的数据
-格式:select distinct 字段名 from 表名;
代码演示

5.查询结果只可以参加数学运算-->前提是都是数值类型的数据
-查询出来的列可以和其他列像数字一样进行数学运算
-语法:select 列名1 +,-,*,/ 列名2 from 表名;

6.条件查询
--指向获取符合条件的查询,不展示所有
--语法:select 字段列表 from 表名 where 条件表达式;
--结果:查寻并返回出符合条件的值,过滤掉不符合条件的值
比较运算符:
-- >,>=,<,<=,!=,<>,= --->在sql中没有==,并且!=和<>都是不等于的意思
-- between A and B---->表示[A,B]
-- int(具体取值中间用逗号隔开)---->内部是放的具体的值
-- like---->意思就是相近的模糊查询,一般都会配合 % 和 _ 配合使用
-- is null---->查询一列为null的值,在sql中不能写为字段名=null,只能写 is null
-- is not null ---->查询不为null的值
注意: % 表示随机字符个数, _ 表示单个字符个数

逻辑运算符
与:and
或:or
非:!
代码演示:

7.排序
单列排序:
-- 通过 order by 语句是来排序的,只是将查询出来的结果进行排序,并不会影响查询的结果,不进行条件过滤,只是影响显示的方式
-- 升序:asc
-- 降序:desc
-- 语法:select * from 表名 where 条件 order by 字段名 asc(desc);
代码演示

组合排序
-- 同时对表中多个字段进行排序,如果前面的字段值相同,就根据后面的字段来再次排序
-- 语法:select 字段列表 from 表名 where 条件 order by 字段1 desc/asc,字段2 desc/asc;
代码演示

聚合函数:
对一列里面的数据进行操作
-- 最大值:max
-- 最小值:min
-- 求和值:sum

-- 父子查询:一个查询结果当做另一个查询的条件

-- 平均数:avg
-- 记录数:count-->count()-->小括号内部看一些*或者字段,但是如果是再短为null就不会被记录会被过滤,所以如果要加null的就去,就需要加 ifnull(字段,表达式2)--如果前面的字段为null那么后面的就显示表达式2

8.分组查询:group by
select
字段列表
from
表名列表
where
分组之前的条件:将分组之前的数据查出来,不符合就过滤
group by
分组的字段
having
分组之后的条件
limit
分页限定条件
概念:
使用 group by 对查询结果信息进行分组,相同风格的数据分成一组.
where:将查询结果分组钱的符合田间返回数据,不符合条件就过滤,先过滤再分组,where后面不能使用聚合函数
having:“再分组之后过滤数据,先分组再过滤。having后面可以使用聚合函数
代码演示

9.分页查询分页
使用关键字:limit
作用就是:一次性展示用户记录数据固定
语法:
select 字段列表 from 表名 where 条件 group by 分组字段 having 分组之后的条件order by 排序 limit 分页限定
分页的基础就是从哪一条数据开始查询:(28-1)*15-->表示查看第二十八页,美业数据15条
如果查询记录数或者记录是从第一条开始的那么,开始值可以不写
代码演示

数据库备份和还原
目的:防止数据丢失

  1. 备份
    选中数据库右键--->存储sql文件--->结构和数据-->指定sql文件存储位置
  2. 还原
    先通创建一个数据库和源数据库同名-->选中数据库并有i见运行sql文件 -->浏览磁盘中存储的sql文件,最后-->刷新
    dos指令操作
  3. 备份
    mysqldump -u用户名 -p密码 备份数据库名称 > 存储的磁盘位置(绝对路径)
  4. 还原
    登录mysql, 首先创建同名数据库, 然后使用当前创建的数据库

数据库表的约束
1.概述
用来保证数据的有效性,完整性和正确性.一个表添加了约束之后,不正确的数据就没办法添加进来
所以一般来说约束是在创建表标的时候设定的.
2.主键约束
主键一般是用来唯一标识数据库中的某一条记录,主键不能为空
通常情况下,一般给表添加一个id字段,用作唯一标识.设置主键,一般嘛来说是提供数据哭操作使用的查询和删除
主键不能重复也不能为空
关键字:primary key
主键自增:自动为主键来一个值实现自增,在设计表里面点击煮东递增也可以
关键字:auto_increment表示主键自增.
修改自增的开始值不是上一个末尾而是自己定义:alter table 表名 auto_increment=100;表示从100开始
代码演示

唯一约束
概念:字段值唯一,不会重复
关键字:unique
语法:字段名 字段数据类型 unique

非空约束
表示字段不能为空

默认约束
就是在不写的时候就会默认给一个值
注意:一个非空,一个唯一不一定就是主键约束,也可能是同时家里非空和唯一两个约束

外键约束

原文地址:https://www.cnblogs.com/tushao/p/14232979.html