zoukankan      html  css  js  c++  java
  • 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

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

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

    外键约束

  • 相关阅读:
    正则工具
    反射工具类
    FastJson前置属性过滤器
    随机数工具类
    对图片进行压缩,水印,伸缩变换,透明处理,格式转换操作
    ChineseNumber 转换
    auth src
    tex src
    freeradius防止用户异常断开无法重新链接上
    gnu
  • 原文地址:https://www.cnblogs.com/tushao/p/14232979.html
Copyright © 2011-2022 走看看