快捷搜索:  汽车  科技

mysql和软件测试(青胜软件测试常用的MySQL命令与常见的数据库管理系统介绍)

mysql和软件测试(青胜软件测试常用的MySQL命令与常见的数据库管理系统介绍)格式: mysql -h主机地址 -u用户名 -p用户密码一、连接MySQL常见的数据库管理系统这里使用MySQL数据库。MySQL中可以有多个数据库,数据库是真正存储数据的地方。数据库与数据库管理系统的关系

什么是数据库?

数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。

什么是数据库管理系统?

数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中表内的数据。

mysql和软件测试(青胜软件测试常用的MySQL命令与常见的数据库管理系统介绍)(1)

常见的数据库管理系统

  • mysql :开源免费的数据库,小型的数据库.已经被Oracle收购了.MySQL6.x版本也开始收费。
  • Oracle :收费的大型数据库,Oracle公司的产品。Oracle收购SUN公司,收购MySQL。
  • DB2 :IBM公司的数据库产品 收费的。常应用在银行系统中.
  • SQLServer:MicroSoft 公司收费的中型的数据库。C#、.net等语言常使用
  • SyBase :已经淡出历史舞台。提供了一个非常专业数据建模的工具PowerDesigner。
  • SQLite : 嵌入式的小型数据库,应用在手机端。
  • Java相关的数据库:MYSQL,Oracle.

这里使用MySQL数据库。MySQL中可以有多个数据库,数据库是真正存储数据的地方。

数据库与数据库管理系统的关系

mysql和软件测试(青胜软件测试常用的MySQL命令与常见的数据库管理系统介绍)(2)

一、连接MySQL

格式: mysql -h主机地址 -u用户名 -p用户密码

1.连接到本机上的MYSQL

首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -u root -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的。这里密码输入即可进入MySQL:

  • G:\>cd G:\mySQL_log\bin --进入目录 mysqlbin
  • G:\mysql_log\bin>mysql -u root -p --键入命令mysql -u root -p
  • Enter password: ****** --输入密码即可
  • Welcome to the MySQL monitor. Commands end with ; or \g.

2.连接到远程主机上的MYSQL

假设远程主机的IP为:110.110.110.110,用户名为root 密码为123456。则键入以下命令:mysql -h 110.110.110.110 -u root -p 123456,这里不做演示了。

二、修改密码

格式:mysql admin -u 用户名 -p 旧密码 password 新密码

1.给root加个密码ab12。首先在DOS下进入目录mysqlbin,然后键入以下命令:

  • mysqladmin -u root -password ab12;//注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。

2.再将root的密码改为20220317。

  • `mysqladmin -u root -p ab12 password 20220317;

三、 创建数据库
  • create database 数据库名;//如create database studentDB;

四、删除数据库
  • drop database <数据库名>;//如 drop database studentDB;
五、选择数据库
  • use studentDB;
六、数据类型

MySQL支持所有标准SQL数值数据类型。

这些类型包括严格数值数据类型(integer、smallint、decimal和numeric),以及近似数值数据类型(float、real和double precision)。

1.数值类型

mysql和软件测试(青胜软件测试常用的MySQL命令与常见的数据库管理系统介绍)(3)

2.日期和时间类型

mysql和软件测试(青胜软件测试常用的MySQL命令与常见的数据库管理系统介绍)(4)

3.字符串类型

mysql和软件测试(青胜软件测试常用的MySQL命令与常见的数据库管理系统介绍)(5)

注意:char(n) 和 VARCHAR(n) 中括号中 n 代表字符的个数,并不代表字节个数,比如 CHAR(30) 就可以存储 30 个字符。

CHAR 和 VARCHAR 类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。

BINARY 和 VARBINARY 类似于 CHAR 和 VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值。

七、创建数据表

  • create table IF NOT EXISTS `runoob_tbl`(
  • `runoob_id` INT unsigned auto_increment --unsigned表示无符号数,即值大于等于0
  • `runoob_title` VARCHAR(100) NOT NULL
  • `runoob_author` VARCHAR(40) NOT NULL
  • `submission_date` DATE
  • primary KEY ( `runoob_id` )//完整性约束
  • );

完整性约束包括:not null、auto_increment、primary key、foreign key(外码)referrences 参照表(主码)、unique、check() 等;


八、删除MySQL数据表
  • drop table 表名;//如 drop table course;
九、插入数据
  • insert into 表名 ( field1 field2 ...fieldN )
  • values
  • ( value1 value2 ...valueN );
十、查询数据
  • select [all|distinct]<目标列1> 别名[ <目标列2> 别名.....]from <表名1/视图名1>[ <表名2/视图名2>...]|<select 语句> as 别名 [where <条件表达式>][group by <列名>][having <条件表达式>][order by <列名>[desc|asc]];//查询语句的一般格式;
  • --如:select all name 姓名,sno 学号 from student where sex='男' order by class desc;
1.WHERE 子句

我们知道从 MySQL 表中使用 select语句来查询数据。如需有条件地从表中选取数据,可将 where子句添加到 select语句中,相当于做选择操作。where 子句也可以运用于 SQL 的 delete或者 update命令。

  • select field1 field2 ...fieldN from table_name1 table_name2...
  • [where condition1 [and|or] condition2.....
  • --如:select * from student where sdept='计算机系' and sex='男' and sage>=20;
  • --又如 delete from student where sno='23131423';
  • --再如 update student set sname='张三' where sno='23403432';

2.like子句

我们知道在 MySQL 中使用 SQL select命令来读取数据, 同时我们可以在 SELECT 语句中使用 where 子句来获取指定的记录。where子句中可以使用= > <等操作符来设定条件,当时有时候我们需要一些模糊的条件查询,例如,查找学生表中学生姓名姓刘的所有学生,这时就需要用SQL like子句中使用百分号 **%**字符来表示任意长度的字符串,_字符代表任意单个字符,通过这两个字符可以达到模糊查询的效果。

  • select * from student where sname like '刘_' and sno like '2000%';
  • --上述语句查询学生表中姓名为刘X开头且学号为'2000'开头的学生信息;
3.order by子句排序

我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据。

如果我们需要对读取的数据进行排序,我们就可以使用 MySQL 的 order by 子句来设定你想按哪个字段哪种方式来进行排序,再返回搜索结果。

  • select field1 field2 ...fieldN from table_name1 table_name2...
  • order by field1 [ASC|DESC] [field2...] [ASC|DESC];
  • --如:select * from student order by sage desc;//查询学生并按年龄降序排序,注意系统默认是asc排序
4.group by 子句分组

group by 语句根据一个或多个列对结果集进行分组,在分组的列上我们可以使用 count sum avg等函数。

  • 例如: select class 班级 count(*) 人数 from student group by class;

5.join 和left join多表查询

我们已经学会了如果在一张表中读取数据,这是相对简单的,但是在真正的应用中经常需要从多个数据表中读取数据。本章节我们将向大家介绍如何使用MySQL 的 join在两个或多个表中查询数据。你可以在select update和 delete语句中使用Mysql 的 join 来联合多表查询。left join 与 join 有所不同。 MySQL left join 会读取左边数据表的全部数据,即便右边表无对应数据

  • select s.sno s.sname c.cno s.score from student s course c where s.sno =s.cno;//join方式相当于等值连接
  • select a.tutorial_id a.tutorial_author b.tutorial_count from tutorials_tbl a left join tcount_tbl b on a.tutorial_author = b.tutorial_author;//左连接方式,即保留左边悬浮元组
十一、更新数据

如果我们需要修改或更新 MySQL 中的数据,我们可以使用 SQL update命令来操作。

  • update 表名 set field1=new-value1 field2=new-value2...[where 子句];
  • --例如:update student set sname='张三' where sno='23403432';
十二、删除数据

你可以使用 SQL 的 delete from 命令来删除 MySQL 数据表中的记录。

  • delete FROM 表名 [where 条件子句];
  • --例如;delete from student where sname='张三';

猜您喜欢: