软件测试知识——MySQL常用命令

  • 数据库连接
  • 创建数据库
  • 显示数据库
  • 删除数据库
  • 选择数据库
  • 创建表
  • 显示数据表
  • 查看表结构
  • 删除表
  • 插入表数据
  • 修改表数据
  • 查询单表数据
  • 查询多表关联数据
  • 删除表数据

前提:已安装MySQL (当前使用的是 Windows 系统)

数据库连接

  • 通过命令行连接MySQL数据库
C:\Users\yanpeipei>mysql -u root -p
Enter password:

输入上述命令,执行回车,若可正常连接则,显示输入密码;
输入正确的密码,执行回车,若出现 mysql> 命令提示,则表示登录成功。
后续可输入相应的SQL语句进行操作。

  • 退出MySQL
mysql> exit
Bye

创建数据库

mysql> create DATABASE test;

创建一个名为 test 的数据库。

显示数据库

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sakila             |
| sys                |
| test               |
| test_yan           |
| world              |
+--------------------+

查看MySQL服务的所有数据库。

删除数据库

mysql> drop DATABASE test_yan;

删除一个库名为 test 的数据库。

注意:drop命令,一旦删除,该数据库所有数据都被清除。

选择数据库

选择数据库 test 。

mysql> use test;
Database changed

创建表

语法:create table <表名> ( <字段名1> <类型1>,<字段名2> <类型2>, ...,<字段名n> <类型n>);
create table student_test(number int(8) not null primary key auto_increment comment '学号',name varchar(20) NOT NULL comment '姓名',sex varchar(4) NOT NULL comment '性别',class int(8) NOT NULL comment '班级',age int(4) NOT NULL comment '年龄'
)DEFAULT CHARSET=utf8;

说明:

int 为整型;
varchar 字符型;
字段属性为 not null,表示字段值不允许空;
primary key 关键字用于定义列为主键。主键唯一、不重复,一般以编号为主键;
auto_increment 定义列属性为自增,一般用于主键,插入数据时数值会自动加 1;
comment 相当于给列添加备注;
DEFAULT CHARSET 设置编码为 utf8 。

显示数据表

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

查看表结构

mysql> desc student_test;
+--------+-------------+------+-----+---------+----------------+
| Field  | Type        | Null | Key | Default | Extra          |
+--------+-------------+------+-----+---------+----------------+
| number | int         | NO   | PRI | NULL    | auto_increment |
| name   | varchar(20) | NO   |     | NULL    |                |
| sex    | varchar(4)  | NO   |     | NULL    |                |
| class  | int         | NO   |     | NULL    |                |
| age    | int         | NO   |     | NULL    |                |
+--------+-------------+------+-----+---------+----------------+

删除表

语法:drop table <表名>;

删除表名为 student_test 的数据表。

mysql> drop table student_test;

drop 执行删除命令后该表及包含的数据都会消失。

插入表数据

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

插入一条学生信息到 student_test 表中。

mysql> insert into student_test (number,name,sex,class,age) values (2201,'十月','女',202201,18);

批量插入多条学生信息。

mysql> insert into student_test (name,sex,class,age) values ('正月','女',202201,19),('十二月','男',202201,21);

修改表数据

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

示例:
修改表 student_test 中,姓名为十二月的学员的性别为女。

mysql> update student_test set sex = '女' where name = '十二月';

查询单表数据

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

1. 查询所有字段列信息

示例:
查询表 student_test 中,性别为女且年龄大于19的学员信息。

mysql> select * from  student_test where  sex = '女' and age > 19;
+--------+--------+-----+--------+-----+
| number | name   | sex | class  | age |
+--------+--------+-----+--------+-----+
|   2203 | 十二月 | 女  | 202201 |  21 |
+--------+--------+-----+--------+-----+

2. 查询指定字段列信息

查询 student_test 表中,性别女或者年龄在 19 岁以上的学员姓名。

mysql> select name from student_test where sex = '女' or age > 19;
+--------+
| name   |
+--------+
| 十月   |
| 正月   |
| 十二月 |
+--------+

3. 查询前几行信息

查询 student_test 表中,性别女且年龄在 19 岁以上的前 2 行学员信息。

mysql> select name from student_test where sex = '女' and age > 19 limit 0,2;

查询多表关联数据

关联查询:

select 字段名1,… from 表名1,表名    2,…where  关联条件表达式 and 过滤条件表达式 …;

等值连接:

select 字段名1,… from 表名1 inner join 表名2 on 关联条件表达式 and 过滤条件表达式… ;

左连接:

select 字段名1,… from 表名1 left join 表名2 on 关联条件表达式 and 过滤条件表达式… ;

右连接:

select 字段名1,… from 表名1 right join 表名2 on 关联条件表达式 and 过滤条件表达式… ;
mysql> select * from test1;
+----+--------+-----+
| id | t_name | age |
+----+--------+-----+
|  1 | 张三   |  20 |
|  2 | 张三   |  20 |
|  3 | 李四   |  30 |
|  4 | 周周   |  36 |
|  5 | 胡一   |  27 |
|  6 | 赵二   |  18 |
+----+--------+-----+
mysql> select * from test2;
+----+------+--------+
| id | t_id | friend |
+----+------+--------+
|  1 |    1 | 一一   |
|  2 |    3 | 二二   |
|  3 |    6 | 三三   |
+----+------+--------+
  • 关联查询:

以上左表 test1 表,右表为左表的朋友信息 test2表,查询两表中存在朋友关系的信息。

mysql> SELECT * FROM test1, test2 WHERE test1.id = test2.t_id;
+----+--------+-----+----+------+--------+
| id | t_name | age | id | t_id | friend |
+----+--------+-----+----+------+--------+
|  1 | 张三   |  20 |  1 |    1 | 一一   |
|  3 | 李四   |  30 |  2 |    3 | 二二   |
|  6 | 赵二   |  18 |  3 |    6 | 三三   |
+----+--------+-----+----+------+--------+
mysql> SELECT * FROM test1 INNER JOIN test2 on test1.id = test2.t_id;
+----+--------+-----+----+------+--------+
| id | t_name | age | id | t_id | friend |
+----+--------+-----+----+------+--------+
|  1 | 张三   |  20 |  1 |    1 | 一一   |
|  3 | 李四   |  30 |  2 |    3 | 二二   |
|  6 | 赵二   |  18 |  3 |    6 | 三三   |
+----+--------+-----+----+------+--------+
  • 左连接

读取左表test1全部数据,即使右表test2没有关联数据。

mysql> SELECT * FROM test1 LEFT JOIN  test2 on test1.id = test2.t_id;
+----+--------+-----+------+------+--------+
| id | t_name | age | id   | t_id | friend |
+----+--------+-----+------+------+--------+
|  1 | 张三   |  20 |    1 |    1 | 一一   |
|  2 | 张三   |  20 | NULL | NULL | NULL   |
|  3 | 李四   |  30 |    2 |    3 | 二二   |
|  4 | 周周   |  36 | NULL | NULL | NULL   |
|  5 | 胡一   |  27 | NULL | NULL | NULL   |
|  6 | 赵二   |  18 |    3 |    6 | 三三   |
+----+--------+-----+------+------+--------+
  • 右连接

以右表test2为基础,与 LEFT JOIN 相反。

mysql> SELECT * FROM test1 RIGHT JOIN test2 on test1.id = test2.t_id;
+------+--------+------+----+------+--------+
| id   | t_name | age  | id | t_id | friend |
+------+--------+------+----+------+--------+
|    1 | 张三   |   20 |  1 |    1 | 一一   |
|    3 | 李四   |   30 |  2 |    3 | 二二   |
|    6 | 赵二   |   18 |  3 |    6 | 三三   |
+------+--------+------+----+------+--------+

删除表数据

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

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

+--------+--------+-----+--------+-----+
| number | name   | sex | class  | age |
+--------+--------+-----+--------+-----+
|   2201 | 十月   | 女  | 202201 |  18 |
|   2202 | 正月   | 女  | 202201 |  19 |
|   2203 | 十二月 | 女  | 202201 |  21 |
+--------+--------+-----+--------+-----+
mysql> delete from student_test where age < 19;mysql> select * from student_test;
+--------+--------+-----+--------+-----+
| number | name   | sex | class  | age |
+--------+--------+-----+--------+-----+
|   2202 | 正月   | 女  | 202201 |  19 |
|   2203 | 十二月 | 女  | 202201 |  21 |
+--------+--------+-----+--------+-----+

软件测试知识——MySQL常用命令相关推荐

  1. 征途linux mysql_MySql征途之mysql常用命令

    mysql征程之mysql常用命令 一.连接MySql 语法: mysql -h 主机地址 -u 用户名 -p 用户密码 例1:连接到本机上的MYSQL.键入命令mysql -u root -p(本地 ...

  2. mysql tree 修改_13.1 设置更改root密码 13.2 连接mysql 13.3 mysql常用命令

    更改root密码 ps aux |grep mysql     //先查看一下mysql是否启动了 /etc/init.d/mysqld start    //启动mysql ps aux |grep ...

  3. 设置更改root密码(远程,本地)、连接mysql、mysql常用命令

    设置更改root密码 1.将mysql加入环境变量中 [root@centos7 ~]# grep mysql /etc/profile export PATH=/usr/local/mysql/bi ...

  4. MySql常用命令集Mysql常用命令showdatabases;显示数据库createdatab

    MySql 常用命令集 Mysql常用命令 show databases; 显示数据库 create database name; 创建数据库 use databasename; 选择数据库 drop ...

  5. 【CentOS 7MySQL常用操作3】,MySQL常用命令#180113

    2019独角兽企业重金招聘Python工程师标准>>> hellopasswd MySQL常用命令 查询库show databases; 切换库use mysql; 查看库里的表sh ...

  6. MYSQL常用命令(转载)

    1.导出整个数据库 mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1) mysqld ...

  7. 设置更改root密码 连接mysql mysql常用命令

    一.设置更改root密码 #/etc/init.d/mysqld start #ps aux |grep mysql #mysql -uroot //提示-bash: mysql : 未找到命令 #l ...

  8. 设置更改root密码 ,连接mysql,mysql常用命令

    2019独角兽企业重金招聘Python工程师标准>>> 设置更改root密码 /usr/local/mysql/bin/mysql -uroot 更改环境变量PATH,增加mysql ...

  9. 13.1-13.3 设置更改root密码,连接MySQL,MySQL常用命令

    13.1 设置更改root密码 大纲 准备工作: 1 启动mysql服务 [root@AliKvn ~]# /etc/init.d/mysqld start Starting MySQL.       ...

最新文章

  1. Alluxio及其典型应用场景
  2. A-Frame 简介03
  3. phantomJs原理
  4. 感知哈希算法(Perceptual hash algorithm)的OpenCV实现
  5. 深度linux添加xp,Linux和Windos XP下向路由表添加路由
  6. python log
  7. 【爬虫剑谱】二卷4章 实战篇-模拟登录铁路12306网站(滑块验证)
  8. okhttp3 请求html页面,OkHttp3简单使用教程(一):请求和响应
  9. A Simple but Tough-to-Beat Baseline for Sentence Embeddings阅读笔记
  10. dmx512 java_什么书通过软件层讲解DMX512协议
  11. 阿里云分布式调度系统-伏羲
  12. python中if语句格式_Python入门学习系列——Python中的if语句
  13. stranssen矩阵乘法公式简易记法
  14. ong拼音汉字_汉语拼音ang-ong(教案)
  15. 网络性能衡量的指标有哪些?
  16. 测试工程师如何提升自己
  17. oracle查看表空间的属性 ,修改表空间的状态
  18. 威纶通屏幕(HMI)开发进阶教程三:数据地址格式的讲解
  19. 玉米社:抖音短视频一般制作多长时间最好?为什么?
  20. RabbitMQ中重试机制的坑

热门文章

  1. Java是什么?为什么要学习Java?Java有哪些特点?
  2. node_modules包路径查找规则,依赖版本生效规则
  3. php通过邮箱找回密码,PHP邮件验证找回密码
  4. html+css实战144-banner-精品推荐-内容
  5. java.util.Date、java.sql.Date和java.sql.Timestamp之间的转换
  6. Linux 下编译 VLC
  7. aul软件oracle,aul6 oracle数据库恢复工具
  8. java社区源码_Java论坛系统巡云轻论坛 v4.8
  9. 专用解决内存不能read问题的软件
  10. Javascript夯实基础01