zoukankan      html  css  js  c++  java
  • mysql思维导图

    MySQL数据库管理系统
        什么是数据库
            数据库的定义
                数据库是用于存储软件在运行过程中所产生的所有业务数据
            数据库管理系统
                数据库管理系统是一款用于管理数据库的软件,它能够保证数据有效的存储、快速查询、安全保障
            数据库的优点
                体积小、速度快、总体拥有成本低(简单、轻便、开源免费)的数据库管理系统,它适用于广大中小型软件项目,是目前最流行的数据库关系系统之一。
            软件测试工程师可以用数据库做什么
                a、测试工程师在执行测试用例时,可以去数据库验证实际结果
    b、使用数据库可以更高效的构建测试数据
    c、测试工程师也有可能需要负责测试环境的维护:(应用服务器、数据库)
        MySQL安装
            安装
            卸载
                a、卸载Mysql Server 5.6
    b、卸载Mysql Installer
    c、C:ProgramDataMySQL 删除该文件夹
            访问
                a、访问Mysql之前,一定要确保Mysql的服务是启动的:
    Win + R -->services.msc -->找到Mysql5.6的服务
    由于我们设置了mysql不要开机自动启动,所有每次开机之后需要手动启动
    b、命令行访问
    1)切换到mysql程序的路径下
    Win +R -->cmd -->输入cd D:mysql-5.7.29-winx64in
    2)输入mysql -u 用户名 -p 密码 -p 端口号
    登陆到mysql数据库管理系统
    mysql -u root -p 123456
            SQL
                定义
                    结构化查询语句
    在数据库系统中,所有的操作都可以使用SQL来完成
    所有的数据库管理系统SQL语句都是通用的
                语法
                    SQL不区分大小写
    语句可以换行,单词不能换行,一句话必须以;结尾
    --空格 注释
    蓝色 关键字(不可修改)
    数字不需要引号(可以有),字符串必须加引号
                使用
                    show databases;
    展示MySQL系统中所有的数据库
                    show tables;
    展示数据库中所有的表
                    use <数据库名>
    选择数据库
    操作指定数据库之前,必须先要选择指定的数据库
        SQL分类
            DDL语句
                create
    创建数据库、表等
                    创建表
                        CREATE TABLE 表名(
    字段1 类型 [约束], //中括号的意思是可选项
    字段2 类型 [约束],
    ... ...,
    字段n 类型 [约束]

                    创建数据库
                        create database 数据库名
                drop
    删除数据库
                    删除表
                        DROP TABLE 表名;
    为了避免删除表的语句经常出现报错,可以使用以下语句
    DROP TABLE IF EXSISTS 表名

                    删除数据库
                        drop datatase dbname
                alter
    修改表
                    ALTER TABLE 表名 ADD/CHANGE/MODIFY/DROP/RENAME ... ...;
    添加字段
    修改字段
    修改字段名
    删除字段
    修改表名

                        modify
    修改字段类型
                            alter table 表名 modify 属性名 数据类型;
                        add
    增加表字段
                            alter table 表名 add 属性名 数据类型;
                        drop
    删除表字段
                            alter table 表名 drop 属性名
                        change
    字段改名
                            alter table 表名 change 旧字段名 新字段名 数据类型
                        rename
    更改表名
                            alter table  表名 rename 新表名;
                显示表
                    desc 表名;
            DML语句
                insert
    插入记录
                    INSERT INTO 表名(字段1,字段2,........,字段n)VALUES(值1,值2,........值n)
                update
    更新记录
                    UPDATE 表名 SET 字段=新值,字段=新值 WHERE 条件;
                delete
    删除记录
                    DELETE FROM 表名 WHERE 条件;
                select
    查询记录
                    SELECT         查询要显示的字段
    *代表所有的字段
    也可以写指定的字段名,多个字段用逗号隔开
    FROM         数据库.表名;
    WHERE        条件查询
    > >= < <= != =
    多个条件需要用and/or连接(and会比or先运算)
    in 从一个集合中依次取值
    between ... and ... 在...与...之间
    is null
    like 模糊查询 %代表0或多个字符,_代表1个字符
    not 非运算,查询出不满足条件的数据

                    语法例子
                        SELECT deptno,count(*)
    FROM emp
    WHERE ename like '%E%'
    GROUP BY deptno
    HAVING count(*)>1;
                    别名
    在对象后面接一个字符串,可以把查询语句中的对象临时更改名字;
    父级对象.子对象  在NaviCat工具中可以自动联想子对象

                    查询不重复的记录
                    条件查询
                    排序和限制
                    聚合(分组)
    GROUP BY
    分组函数一定要与分组字段一起查询
                        常见的分组函数:
    sum(求和)
    count(*)(记录数)
    max(最大值)
    min(最小值)

                        案例
            DCL语句
            DQL语句
        数据类型
            数值类型
                int 整形数值
    int(4)不是4位整数
    int(4)取值范围是-2^31 到 2^31-1 (详情参考二进制转十进制)

                decimal 定点数
    decimal(x,y)数字长度最大x位,必须保留y位小数
    decimal(5,2)取值范围是  -999.99 到 999.99

                char 定长字符串
    char(10)要求字段必须存储10Byte字符串,如果不足10Byte按10Byte算。
                varchar 变长字符串
    varchar(10)要求字段最大存储10Byte字符串,如果不足10Byte按实际算。
                text 超长文本
    一般存储1000字以上的字符串
            日期类型
                date
    YYYY-MM-DD
                datetime
    YYYY-MM-DD HH:MI:SS
                time
    HH:MI:SS
            区别
                char存储数据所占用的空间多,varchar能够节省存储空间
    char类型的数据写入和查询的速度比varchar更快
    char适合存储短字符口串(例如性别,状态等属性),varchar适合存储长字符串

        完整性约束
            表数据如果重复或者大批量为空,则会有非常多的无效数据,使用约束条件可以保证表数据的有效性
            实体完整性
    实体完整性是对关系中的记录唯一性
    定义表中所有行能唯一的标识
    表中主属性(字段)不能为null 且不能有相同的值
    一般用主键、唯一索引、unique 关键字来实现
                主键约束
                    规定字段的值不允许为null,并且不允许重复
    primary key
    一张表只能有一个主键
    一个主键可以有多个字段
                    添加主键约束
                        通过alter语句:
    alter table 表名 add primary key (列名);
    alter table 表名 add constraint 主键约束的名字 primary key (列名);
                        删除主键约束
    alter table 表名 drop primary key;
                唯一约束
                    unique
    规定字段的值不允许重复,保证数据的唯一性
    唯一约束不允许出现重复的值,但是可以为多个null

            域完整性
    对字段属性的约束,限制数据类型
    缺省值,规则,约束,是否可以为空,确保不会输入无效的值
                非空约束
                    规定字段的值不允许为null
                检查约束
                    规定字段的值必须满足指定的条件
    check(age BETWEEN 18 and 32)默认值约束

                默认值约束
                    规定字段的值如果不写,则取默认的值
    default 值

            枚举类型
                enum(a,b,c) ,规定了字段只能从指定的集合中取值
    一个字段只能有一个类型

            参照完整性
    表与表之间的数据参照引用
    通过外键约束实现

                外键约束
    a、外键是构建了一个表的两个字段或是两个表的两个字段之间的参照关系
    b、表的外键值必须在主表中能找到
    c、当主表的记录被从表参照时,主表的记录将不允许删除
    d、要删除数据时,先删除从表中依赖的数据
                    规定字段的值只能在主表的关联字段中取值
    foreign key(字段) references 主表(字段)
    外键只能关联主表的主键
    创建从表之前必须创建主表
    删除主表之前必须删除从表
    删除主表的数据时,从表中不能有此数据的关联数据

        函数
            数值函数
                ABS(X)
    返回X的绝对值
                ROUND(X,Y)
    返回参数X的四舍五入的有Y位小数的值
                子主题 3
                子主题 4
                子主题 5
            字符串函数
                concat(s1,s2,s3,.....sn)
    连接s1,s2,s3,...sn为一个字符串
            日期和时间函数
                DATE_FORMAT(date,fmt)
    返回按字符串fmt格式化日期date值
            流程函数
                IFNULL(value1,value2)
    如果value1不为空,返回value1,否则返回value2
            其他常用函数

  • 相关阅读:
    10 期末大作业
    09 spark连接mysql数据库
    08 学生课程分数的Spark SQL分析
    07 从RDD创建DataFrame
    06 Spark SQL 及其DataFrame的基本操作
    05 RDD编程
    05 RDD练习:词频统计
    04 RDD编程练习
    Spark RDD编程
    Spark架构与运行流程
  • 原文地址:https://www.cnblogs.com/1218-mzc/p/12717332.html
Copyright © 2011-2022 走看看