zoukankan      html  css  js  c++  java
  • MySQL基础总结(二)

    数据表的完整性约束条件


    AUTO_INCREMENT (自增长)

    注意事项:
    1.一个表中只能有一个自增长字段
    2.必须配合主键使用

    在这里插入图片描述
    方法1:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    方法2:
    在这里插入图片描述
    方法3:
    在这里插入图片描述
    指定自增长初始值的方法:
    在这里插入图片描述
    修改自增长值的方法:
    在这里插入图片描述


    NOT NULL (非空)

    注意事项:
    1.值不能为NULL
    (比如建立网站时,要求用户输入用户名和密码时,就可以用NOT NULL

    在这里插入图片描述


    DEFAULT (默认值)

    注意事项:
    1.一般配合NOT NULL使用

    在这里插入图片描述

    在这里插入图片描述


    UNIQUE KEY (唯一性)

    注意事项:
    1.一个表中可以有多个唯一
    2.被标志上UNIQUE KEY字段的值不允许重复(NULL不算重复)
    (UNIQUE KEY使用时,KEY可以省略不写)

    在这里插入图片描述



    修改表结构的操作


    重命名数据表

    方法1: <ALTER TABLE tbl_name RENAME [ TO|AS ] new_name;
    在这里插入图片描述
    在这里插入图片描述

    方法2: RENAME TABLE tbl_name TO new_name;
    在这里插入图片描述


    添加和删除字段

    添加字段:ALTER TABLE tbl_name ADD 字段名称 字段类型 [完整性约束条件] [ FIRST|AFTER 字段名称];
    在这里插入图片描述
    带有完整性约束条件的添加字段
    在这里插入图片描述
    在指定位置添加字段
    在这里插入图片描述
    一次添加多个字段的操作
    在这里插入图片描述
     
     
    删除字段:ALTER TABLE tbl_name DROP 字段名称;
    在这里插入图片描述
    一次删除多个字段
    在这里插入图片描述
    也可以同时进行添加删除字段的操作
    在这里插入图片描述


    修改字段类型和字段名称

    修改字段类型:ALTER TABLE tbl_name MODIFY 字段名称 字段类型 [完整性约束条件] [ FIRST|AFTER 字段名称 ];
    在这里插入图片描述
    从上图可以看到原先email属性的NOT NULL约束条件和默认值在修改后都发生了变化,如果想修改时不让它发生变化,就要在命令中添加完整性约束条件
    在这里插入图片描述
    还可以改变字段的位置
    在这里插入图片描述
    同样,可以既修改字段类型,也改变字段位置
    在这里插入图片描述

     
     
    修改字段名称:ALTER TABLE tbl_name CHANGE 旧字段名称 新字段名称 字段类型 [完整性约束条件] [ FIRST|AFTER 字段名称 ];
    在这里插入图片描述
    还可以不修改字段名称,修改字段类型
    在这里插入图片描述


    添加删除默认值

    添加默认值:ALTER TABLE tbl_name ALTER 字段名称 SET DEFAULT 默认值;
    在这里插入图片描述
    删除默认值:ALTER TABLE tbl_name ALTER 字段名称 DROP DEFAULT;
    在这里插入图片描述


    添加删除主键

    添加主键:ALTER TABLE tbl_name ADD [ CONSTRAINT[ symbol ] ] PRIMARY KEY [index_type] (字段名称,…) ;
    在这里插入图片描述
    添加主键的完整语句
    在这里插入图片描述
    添加复合主键
    在这里插入图片描述
    在这里插入图片描述
    删除主键:ALTER TABLE tbl_name DROP PRIMARY KEY;
    在这里插入图片描述
    有一种情况不能直接删除主键
    在这里插入图片描述
    在这里插入图片描述


    添加删除唯一

    添加唯一:ALTER TABLE tbl_name ADD [ CONSTRAINT [ symbol ] ] UNIQUE [ INDEX|KEY ] [索引名称] (字段名称,…);
    在这里插入图片描述
    用完整写法设置索引名称
    在这里插入图片描述
    还可以添加复合唯一
    在这里插入图片描述

    删除唯一:ALTER TABLE tbl_name DROP { INDEX|KEY } index_name
    在这里插入图片描述


    修改表的存储引擎

    ALTER TABLE tbl_name ENGINE=存储引擎名称;
    在这里插入图片描述


    设置自增长值

    ALTER TABLE tbl_name AUTO_INCREMENT=自增长值;
    在这里插入图片描述



    对数据的操作(DML)


    插入数据

    不指定具体的字段名:INSERT [INTO] tbl_name VALUES|VALUES(值…);
    在这里插入图片描述
    列出指定字段:INSERT [INTO] tbl_name(字段名称1,…) VALUES|VALUES(值1,…);
    在这里插入图片描述
    同时插入多条记录:INSERT [INTO] tbl_name[(字段名称…)] VALUES|VALUES(值…),(值…)…;
    在这里插入图片描述
    通过set形式插入记录:INSERT [INTO] tbl_name SET 字段名称=值,…;
    在这里插入图片描述
    将查询结果插入到表中:INSERT [INTO] tbl_name[(字段名称…)] SELECT 字段名称 FROM tbl_name [WHERE 条件];
    在这里插入图片描述


    更新数据

    UPDATE tbl_name SET 字段名称=值 [WHERE 条件][ORDER BY 字段名称][LIMIT 限制条数];
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述


    删除数据

    删除指定数据:DELETE FROM tbl_name [WHERE 条件][ORDER BY 字段名称][LIMIT 限制条数];
    在这里插入图片描述
    在这里插入图片描述

    彻底清空数据表:TRUNCATE [TABLE] tbl_name;

    在这里插入图片描述



    查询数据的操作(DQL)


    查询记录

    单表查询:
    在这里插入图片描述

    查询表达式:
    (查询整个数据表)SELECT * FROM tbl_name; / SELECT tbl_name. * FROM tbl_name;
    (查询数据表中的某几个字段)SELECT 字段名称1,… FROM tbl_name;
    (明确查询来自某个数据库的表时)SELECT 字段名称1,… FROM db_name.tbl_name;
    (给表名起别名)SELECT 字段名称1,… FROM tbl_name AS alias_name;(别名一般为表名的缩写,不超过两个字母)

    WHERE条件
    在这里插入图片描述
    用WHERE条件查询指定记录(比较运算符)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

     
    指定范围查询
    在这里插入图片描述
    指定集合查询
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
     

    模糊查询
    会用到两个符号:
    %:代表零个一个或者多个任意字符
    _:代表一个任意字符

    在这里插入图片描述
    在这里插入图片描述

    分组查询(GROUP BY)

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    可以用GROUP BY配合GROUP_CONCAT()得到分组详情
    在这里插入图片描述
    在这里插入图片描述

    聚合函数:

    COUNT();  得到总计数
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    MAX();  得到记录最大值
    MIN();  得到记录最小值
    AVG();  得到记录平均值
    SUM();  得到记录总和
    在这里插入图片描述

    GROUP BY配合WITH ROLLUP会对统计记录进行二次统计
    简单来说,就像图中的
    totalUsers是求记录计数总和,sumAge是求年龄总和,那么它们最下方ROLLUP产生的也是一个总和
    而maxAge是求最大值,ROLLUP产生的也是几个统计记录中的最大值
    minAge,avgAge同理

    在这里插入图片描述

    HAVING子句对分组结果进行二次筛选
    在这里插入图片描述

  • 相关阅读:
    上传文件,经过Zuul,中文文件名乱码解决办法
    Spring Cloud Sleuth进阶实战
    如何在IDEA启动多个Spring Boot工程实例
    深入理解Zuul之源码解析
    深入理解Hystrix之文档翻译
    Spring 之BeanFactory(转)
    spring之BeanFactoryAware接口
    ExecutorService线程池
    POJO
    newInstance 与new的区别
  • 原文地址:https://www.cnblogs.com/zzzsw0412/p/12772514.html
Copyright © 2011-2022 走看看