• 14
  • 14
分享
  • 测试人员必备之 mysql 常用命令学习指南——软件测试圈
  • 北极 2021-02-08 09:52:01 字数 3984 阅读 2432 收藏 14

1、数据库连接

1、通过命令行连接数据库

[root@localhost ~]# mysql -u root -p
Enter password:

输入以上命令,回车后输入密码,回车,出现 mysql> 命令提示窗口则表示登录成功,可以在mysql>下输入任何sql语句。

2、退出mysql

mysql> exit
Bye

2、创建数据库

语法:CREATE DATABASE <数据库名>;

先连接mysql服务后,再使用sql语句。可以通过命令连接也可以通过客户端工具例如navicat连接,以下创建一个库名为lemon的数据库

mysql> create DATABASE lemon;

3、显示数据库

语法:show databases;

示例:查看mysql服务所有数据库

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| future             |
| lemon              |
| mysql              |
| test               |
| test_mysql         |
+--------------------+

4、删除数据库

语法:drop database <数据库名>;

drop删除数据库命令谨慎使用,一旦删除,所有数据都没有了。以下示例:删除一个库名为test的数据库。

mysql> drop DATABASE test;

5、选择数据库

语法:use <数据库名>;

示例:选取数据库lemon进行操作。

mysql> use lemon;
Database changed

6、创建表

语法:create table <表名> ( <字段名1> <类型1>,<字段名2> <类型2>, ...,<字段名n> <类型n>);

示例:需要创建一个学员信息表,用于存储学号、姓名、性别、班级、年龄。

create table student(
   sno int(8) not null primary key auto_increment comment '学号',
   sname varchar(20) NOT NULL comment '姓名',
   ssex varchar(4) NOT NULL comment '性别',
   sclass int(8) NOT NULL comment '班级',
   sage int(4) NOT NULL comment '年龄'
)DEFAULT CHARSET=utf8;

解析:

int为整型,这里学号sno、班级编号sclass设定为整型;

varchar字符型,这里姓名sname、性别ssex、年龄sage设定为字符型;

字段属性设定为not null,表示字段值不允许空;

primary key关键字用于定义列为主键。主键唯一、不重复,一般以编号为主键;

auto_increment定义列属性为自增,一般用于主键,插入数据时数值会自动加1;

comment相当于给列添加备注;

DEFAULT CHARSET 设置编码,utf8对传值中文防止乱码。

7、显示数据表

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| student        |
| student1       |
+----------------+

8、查看表结构

mysql> desc student;
+--------+-------------+------+-----+---------+----------------+
| Field  | Type        | Null | Key | Default | Extra          |
+--------+-------------+------+-----+---------+----------------+
| sno    | int(8)      | NO   | PRI | NULL    | auto_increment |
| sname  | varchar(20) | NO   |     | NULL    |                |
| ssex   | varchar(5)  | NO   |     | NULL    |                |
| sclass | int(8)      | NO   |     | NULL    |                |
| sage   | int(4)      | NO   |     | NULL    |                |
+--------+-------------+------+-----+---------+----------------+

9、删除表

语法:drop table <表名>;

drop删除表请谨慎操作,因为执行删除命令后该表及包含的数据都会消失。以下示例:删除一个表名为student的数据表。

mysql> drop table student;

10、插入表数据

语法:insert into <表名> ( 字段名1,字段名2,...字段名N)
                       values
                       ( 值1, 值2,...值N );

示例:

1、往学员信息表中插入一条学员信息

insert into student (sno,sname,ssex,sclass,sage) values (6301,'柠檬','女',20190163,18);

注意:如果数据值为字符型必须用单引号或者双引号括起来。

2、批量插入,插入多条学员信息

insert into student (sname,ssex,sclass,sage)
                    values
                    ('毛毛','女',20190163,20),('大大','女',20190163,22);

11、修改表数据

语法:update 表名 set 字段名1= 新值1,字段名2=新值2, … where 条件表达式1 and(or)  条件表达式2 …;

示例:修改学员姓名为毛毛的性别为男

update student set ssex = '男' where sname = '毛毛';

12、查询单表数据

语法:select 字段名1,字段名2,… from  <表名>  where  条件表达式1 and(or) 条件表达式2  … ;

1、查询所有字段列信息

示例:查询student表中,性别女且年龄在20岁以上的学员信息

select * from  student where  ssex = '女' and sage > 20

2、查询指定字段列信息

示例:查询student表中,性别女或者年龄在20岁以上的学员姓名

select sname from student where ssex = '女' or sage > 20;

3、查询前几行信息

示例:查询student表中,性别女且年龄在20岁以上的前2行学员信息

select sname from student where ssex = '女' and sage > 20 limit 0,2;

13、查询多表关联数据

语法:

1、关联查询:select 字段名1,… from 表名1,表名2,…where  关联条件表达式 and 过滤条件表达式 …;
2、等值连接:select 字段名1,… from 表名1 inner join 表名2 on 关联条件表达式 and 过滤条件表达式… ;
3、左连接:select 字段名1,… from 表名1 left join 表名2 on 关联条件表达式 and 过滤条件表达式… ;
3、右连接:select 字段名1,… from 表名1 right join 表名2 on 关联条件表达式 and 过滤条件表达式… ;

示例:

1.png

1、以上左表user表,右表为左表的对象信息user_lover表,查询两表中存在对象关系的信息

SELECT * FROM `user`, user_lover WHERE `user`.id = user_lover.u_id;
SELECT * FROM `user`INNER JOIN user_lover on `user`.id = user_lover.u_id;

运行结果:

2.png

2、读取左表全部数据,即使右表没有关联数据

SELECT * FROM `user`LEFT JOIN  user_lover on `user`.id = user_lover.u_id;

运行结果:

3.png

3、以右表为基础,与LEFT JOIN相反

SELECT * FROM `user` RIGHT JOIN user_lover on `user`.id = user_lover.u_id;

运行结果:

4.png

14、删除表数据

语法:delete from 表名 where 条件1 and(or) 条件2……;

示例:删除student表中年龄小于18岁的用户信息

delete from student where sage < 18;

 

作者:豆姐姐

原文链接:https://www.cnblogs.com/tudou-22/p/11268315.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 引言对于产品的手机项目(应用软件),主要是进行系统测试。而针对手机应用软件APP的系统测试,我们通常从如下几个角度开展:功能模块测试、兼容性测试、安装和卸载测试、软件更新测试、性能测试、用户体验性测试、交叉事件测试、用户界面测试等。功能测试要点及常见缺陷常见的功能类缺陷APP崩溃这是测试中的常见问题,这类问题也是非常严重的,会直接影响用户对产品的第一印象,例如我们正在使用某个APP,正在使用突然应用就停止响应,界面上弹出“强制关闭错误”的窗口,需要强制关闭应用,或者正在使用时出现闪退的现象。这些情况都很影响用户的体验,导致用户卸载该APP。通用的触发移动APP崩溃的测试场景,如下:验证在有不同...
            13 14 2256
            分享
          •       前两天面试,被问到进程和线程的区别,由于是第一次面试软件测试岗,被问到这么“专业”的问题,有点惊讶,之后马上在脑海中努力回忆,还好能回答出7788。。总算没给自己专业丢脸      1.进程和线程的关系和区别      进程是一个程序在其自身的地址空间中的一次执行活动,是资源申请、调度和独立运行的单位。线程是进程的一个单一的连续控制流程,一个进程可以拥有多个线程。      线程调度的两种方式:抢占式、非抢占式。  &nbs...
            0 0 2568
            分享
          • 读者提问:测试报告怎么写?阿常回答:测试报告通常包含这四要素:1、项目背景;2、参考资料;3、计划执行列表;4、测试结果。一、项目背景项目背景主要包含以下 4 点:1、测试产品名称(XX平台);2、测试周期(5.1~5.5);3、主要测试项目及具体内容(测试XX平台的功能是否正常实现、易用性是否满足用户需求);4、测试人员(测试员XX)。二、参考资料参考资料主要包含以下 4 点:1、测试计划(文档链接);2、需求规格说明书(文档链接);3、测试用例(文档链接);4、缺陷记录(jira链接)。三、计划执行列表计划执行列表主要包含以下 3 点:1、计划内容(功能测试、界面测试、易用性测试);2、执...
            0 0 2085
            分享
          • 前言前几天一个前同事找我聊了个问题:一个好的测试开发同学需要具备哪些能力?我思考了一下,给了他如下答复:从我工作中接触到的测试开发,以及面试测试开发候选人时问的问题,我将自己对测试开发这个岗位的理解,总结了如下六点能力。我个人认为,具备如下六点能力,会是一个优秀的测试开发同学。这篇文章,就来聊聊我对这六点能力的看法,观点仅供参考。什么是测试开发工程师?我对测试开发的定义从我工作中接触到的测试开发,以及面试测试开发候选人时问的问题,我个人对测试开发这个岗位的定义如下:技术广度的拥有者,测试团队过程效率的提升者,解决落地交付痛点的终结者。如何理解我上面的定义呢?我个人认为,在国内测试开发很重要的一...
            0 0 917
            分享
          •   中国电动汽车巨头比亚迪正准备进军加拿大市场。据 Automotive News 报道,比亚迪近期聘请了游说人士,为其进入加拿大市场销售乘用电动汽车、建立新业务以及应对可能征收的电动汽车关税提供咨询。此外,比亚迪已开始与加拿大汽车经销商接洽,为建立销售渠道做准备。  为了应对中国电动汽车行业的快速崛起,美国政府近期采取了对中国进口电动汽车征收了 100% 关税的举措,并采取其他措施鼓励电动汽车相关制造业的本土化和友岸外包。加拿大也在考虑效仿美国和欧盟,对中国电动汽车征收类似的关税。  由于无法直接进入美国市场,中国电动汽车企业可能会寻求绕道进入全球最大的汽车市场之一。有汽车行业分析师表示,这...
            0 0 449
            分享
      • 51testing软件测试圈微信