美文网首页
MySQL 数据库(分享软件测试需要掌握的知识点)

MySQL 数据库(分享软件测试需要掌握的知识点)

作者: 嫩牛_软件测试_笔记 | 来源:发表于2018-09-27 12:24 被阅读0次
    
    *   数据库类型
        *   关系型数据库
            *   Mysql, Oracle, DB2
        *   非关系型数据库
            *   MongoDB
        *   大数据
            *   Hive
    
    *   连上Mysql的2种方式:
        *   1、命令行
            *   C:\xampp\mysql\bin 下,shift + 右键, 进入命令行
            *   mysql -u root -p
                *   show databases;
                    *   查看有哪些数据库
    
                *   use ranzhi;
                    *   使用 ranzhi 数据库
    
                *   show tables;
                    *   查看 ranzhi 数据库下有哪些表
    
                *   desc sys_user;
                    *   查看表 sys_user 的结构
                        *   Field 字段名称
                        *   Type 字段类型
                            *   char(30) 表示的是:字符串类型,最大长度为30
                        *   Null 是否允许为空
                        *   Key 标明是否为主键,唯一键之类的
                            *   主键只能唯一,不能重复
                        *   Default 是否有默认值
    
                *   查询页面‘成员列表’所有的数据
                    *   select * from sys_user ;
    
            *   Mysql数据库构成:
                *   数据库 (ranzhi )
                *   表(59张表,sys_user)
                *   表下面是字段(id,account)
                *   写法:
                    *   [ranzhi.sys_user.id](http://ranzhi.sys_user.id/)# 数据库名称.表名.字段名
                    *   select [ranzhi.sys_user.id](http://ranzhi.sys_user.id/)from ranzhi.sys_user ;
                        *   use ranzhi;
                        *   select id from sys_user;
        *   2、可视化工具
            *   SQLYog / Navicate / DBeaver
                *   安装SQLYog
                    *   根据自己电脑32/64位,选择对应版本
                        *   查看32/64位:右键“我的电脑”-属性
                *   SQLYog连Mysql
                    *   root@localhost
                    *   连接本机: 主机名: localhost
                    *   连接他人的:主机名:他人的 ip
    
    *   结合 ranzhi 项目,理解SQL语句
        *   MySQL: 增删改查
    
            ![image](https://img.haomeiwen.com/i10517060/f09487a5785a8d11.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    
        *   /*
        *   这是多行注释
        *   insert into sys_user(id,account,realname,role)
        *   value ('34','laoniu','老刘','sale') ;
        *   */
    
        *   -- 插入
        *   INSERT INTO sys_user(id,account,realname,role)
        *   VALUE ('34','laoniu','老刘','sale') ;
    
        *   -- 查询 SQL
        *   -- select 后面跟的是字段名称(列名),比如id,account; * 代表的是所有字段
        *   -- from 后面跟的是表名
        *   SELECT *
        *   FROM sys_user ;
    
        *   -- 查询 然之成员列表页面中,所有的“编号”和“用户名”
        *   SELECT id,account
        *   FROM sys_user ;
    
        *   -- 查询 然之成员列表页面前2条记录
        *   SELECT *
        *   FROM sys_user
        *   LIMIT 2;
    
        *   -- 查询 然之成员列表页面第2条记录
        *   SELECT *
        *   FROM sys_user
        *   LIMIT 1,1;
    
        *   -- 查询 然之成员列表页面第3和第4条记录
        *   SELECT *
        *   FROM sys_user
        *   LIMIT 2,2;
    
        *   -- 查询 然之成员列表页面总的记录条数
        *   -- count()
        *   SELECT COUNT(*)
        *   FROM sys_user ;
    
        *   -- 查询 然之成员列表页面中,“编号”为1,并且“用户名”为'bbb'的记录
        *   -- where 后跟的是查询条件
        *   -- and 连接的多个条件,都要成立
        *   SELECT *
        *   FROM sys_user
        *   WHERE id = 1 AND account = 'bbb' ;
    
        *   -- 查询 然之“成员列表”页面中,“编号”为1,或者 “用户名”为'bbb'的记录
        *   SELECT *
        *   FROM sys_user
        *   WHERE id = 1 OR account = 'bbb' ;
    
        *   -- 然之“成员列表”页面中,按照“编号”降序排序的方式,显示所有的记录
        *   -- order by
        *   -- desc 降序
        *   -- asc 升序
        *   SELECT *
        *   FROM sys_user
        *   ORDER BY id DESC ;
    
        *   -- 然之“成员列表”页面中,按照“用户名”字符串升序排序的方式,显示所有的记录
        *   SELECT *
        *   FROM sys_user
        *   ORDER BY account ASC;
    
        *   -- 然之“成员列表”页面中,查询“编号”为1,2,3这3个数字的记录
        *   SELECT *
        *   FROM sys_user
        *   WHERE id = 1 OR id =2 OR id =3 ;
    
        *   SELECT *
        *   FROM sys_user
        *   WHERE id IN (1,2,3) ;
    
        *   -- not 不在某范围内
        *   SELECT *
        *   FROM sys_user
        *   WHERE id NOT IN (1,2,3) ;
    
        *   -- 然之“成员列表”页面中,查询“编号”大于1小于4的所有记录
        *   SELECT *
        *   FROM sys_user
        *   WHERE id > 1 AND id < 4 ;
    
        *   -- 然之“成员列表”页面中,查询“编号”在2和4之间的所有记录
        *   -- between .. and ...
        *   SELECT *
        *   FROM sys_user
        *   WHERE id BETWEEN 2 AND 4 ;
    
        *   -- 然之“成员列表”页面中,查询“真实姓名”姓“张”的所有记录
        *   -- 模糊查询 like
        *   -- % 所有,任意的,随便多少个
        *   SELECT *
        *   FROM sys_user
        *   WHERE realname LIKE '张%' ;
    
        *   -- 然之“成员列表”页面中,查询“编号”不是“1”的所有记录
        *   -- <> 不等于
        *   SELECT *
        *   FROM sys_user
        *   WHERE id <> 1 ;
    
        *   -- 然之“成员列表”页面中,查询“真实姓名”不是姓“张”的所有记录
        *   SELECT *
        *   FROM sys_user
        *   WHERE realname NOT LIKE '张%' ;
    
        *   -- 然之“成员列表”页面中,查询“role”为"sale"的有几个人
        *   SELECT COUNT(*)
        *   FROM sys_user
        *   WHERE role = 'sale' ;
    
        *   -- 然之“成员列表”页面中,查询每个"role"分别有几个人
        *   -- group by 分组
        *   SELECT role,COUNT(*)
        *   FROM sys_user
        *   GROUP BY role  ;
    
        *   -- 几个常用的函数
        *   -- count() 统计
        *   -- max()
        *   -- 然之“成员列表”页面中,最大“编号”
        *   SELECT MAX(id)
        *   FROM sys_user ;
    
        *   -- 然之“成员列表”页面中,最小“编号”
        *   -- min()
        *   SELECT MIN(id)
        *   FROM sys_user ;
    
        *   -- 然之“成员列表”页面中,“编号”平均值
        *   -- avg()
        *   SELECT AVG(id)
        *   FROM sys_user ;
    
        *   -- 编写SQL语句:按照部门字符串倒序方式显示,查询每个部门的平均分数,
        *   -- 并且部门名称不包含‘sale’
        *   (方法1)
        *   SELECT dept_name,AVG(score)
        *   FROM b
        *   WHERE dept_name NOT LIKE '%sale%'
        *   GROUP BY dept_name
        *   ORDER BY dept_name DESC ;
    
        *   (方法2)
        *   SELECT dept_name,AVG(score)
        *   FROM b
        *   GROUP BY dept_name
        *   HAVING dept_name NOT LIKE '%sale%'
        *   ORDER BY dept_name DESC ;
    
        *   CREATE TABLE b(
        *   dept_name CHAR(30),
        *   employee_name CHAR(30),
        *   score INT(4)
        *   );
    
        *   INSERT INTO b VALUE('sales','ZhangSan','88') ;
        *   INSERT INTO b VALUE('sales','LiSi','79') ;
        *   INSERT INTO b VALUE('sales','WangWu','95') ;
        *   INSERT INTO b VALUE('Tech','ZhangSan2','68') ;
        *   INSERT INTO b VALUE('Tech','LiSi2','85') ;
        *   INSERT INTO b VALUE('Tech','WangWu2','66') ;
        *   INSERT INTO b VALUE('Market','ZhangSan3','77') ;
        *   INSERT INTO b VALUE('Market','LiSi3','59') ;
        *   INSERT INTO b VALUE('Market','WangWu3','92') ;
    
        *   SELECT * FROM b ;
        *   -- 清空表数据
        *   TRUNCATE b ;
        *   -- 多表查询
        *   /*
        *   c表
        *   id name
        *   1   zs
        *   2   ls
        *   3   ww
        *   create table c(
        *   id int(4),
        *   name char(10)
        *   );
        *   insert into c value('1','zs');
        *   insert into c value('2','ls');
        *   insert into c value('3','ww');
        *   select * from c;
        *   d表
        *   id English Math
        *   1   88       90
        *   2   47       98
        *   create table d(
        *   id int(4),
        *   English int(4),
        *   Math int(4)
        *   );
        *   insert into d value('1','88','90');
        *   insert into d value('2','47','98');
        *   select * from d;
        *   */
        *   -- 查询姓名为 zs 的学生的 English 成绩
        *   SELECT d.English
        *   FROM c,d
        *   WHERE c.id = d.id AND c.name = 'zs' ;
    
        *   -- 查询每个学生的总分
        *   SELECT c.name,(d.English + d.Math)
        *   FROM c,d
        *   WHERE c.id = d.id ;
    
        *   -- 左连接  left join
        *   SELECT c.name,(d.English + d.Math)
        *   FROM c LEFT JOIN d
        *   ON c.id = d.id ;
    
        *   -- 右连接  right join
        *   SELECT c.name,(d.English + d.Math)
        *   FROM d RIGHT JOIN c
        *   ON c.id = d.id ;
      
    
    
    

    相关文章

      网友评论

          本文标题:MySQL 数据库(分享软件测试需要掌握的知识点)

          本文链接:https://www.haomeiwen.com/subject/emkeoftx.html