Linux系统中——MySQL数据库安装和基本操作

MySQL数据库的基本操作

目录:

  • 前期准备,安装及测试mysql数据库;
  • 数据库的基本操作;
  • 数据库的基本操作——单表查询;
  • 数据库的基本操作——多表查询;
  • 数据库的基本操作——子查询;

前期准备,安装及测试MySQL数据库

(1)安装MySQL数据库,即安装mysql-server;

  • 命令1:[[email protected] ~]# rpm -ivh /media/RHEL_6.5\ x86_64\ Disc\ 1/Packages/mysql-server-5.1.71-1.el6.x86_64.rpm

  • 命令2:[[email protected] ~]# rpm -ivh /media/RHEL_6.5\ x86_64\ Disc\ 1/Packages/mysql-5.1.71-1.el6.x86_64.rpm

命令2是解决这个软件依赖性的问题的

  • 命令3:[[email protected] ~]# rpm -ivh /media/RHEL_6.5\ x86_64\ Disc\ 1/Packages/mysql-server-5.1.71-1.el6.x86_64.rpm

Linux系统中——MySQL数据库安装和基本操作(2)重启mysql,验证是否安装成功;

切记:
[[email protected] /]# service mysqld start (5.0版本是mysqld)
[[email protected] etc]# service mysql start (5.5.7版本是mysql)
Linux系统中——MySQL数据库安装和基本操作

Linux系统中——MySQL数据库安装和基本操作
(3)设置mysql登录的密码(这里设置的是空);

Linux系统中——MySQL数据库安装和基本操作
(4)查看数据库的信息;

Linux系统中——MySQL数据库安装和基本操作

一、数据库的基本操作

(1)建立数据库;

命令:mysql> create database 数据库名;

Linux系统中——MySQL数据库安装和基本操作

(2) 建立表;

命令:mysql> create table 表名(字段信息)

切记:表名和字段信息之间的小括号没有空格键;

制表信息:CREATE TABLE fruits(f_id CHAR(10) NOT NULL,s_id INT NOT NULL,f_name char(255) NOT NULL,f_price DECIMAL(8,2) NOT NULL,PRIMARY KEY(f_id));

Linux系统中——MySQL数据库安装和基本操作

(3)建立表之后,可以查看表的结构;

Linux系统中——MySQL数据库安装和基本操作

(4)在表中插入数据记录;

Linux系统中——MySQL数据库安装和基本操作

三、数据库的基本操作——单表查询

(1)查询表中的所有字段,可以看到成功插入了16数据记录;

Linux系统中——MySQL数据库安装和基本操作

(2)查看指定的字段信息;

Linux系统中——MySQL数据库安装和基本操作

(3)带in关键字的查询;

IN关键字:IN(xx,yy,…) 满足条件范围内的一个值即为匹配项;

Linux系统中——MySQL数据库安装和基本操作

(4)带BETWEEN AND的范围查询;

BETWEEN … AND … : 在…到…范围内的值即为匹配项;

Linux系统中——MySQL数据库安装和基本操作

(5)带LIKE的字符匹配查询;
  • LIKE: 相当于模糊查询,和LIKE一起使用的通配符有 “%” 和 “_” ;
  • “%”:作用是能匹配任意长度的字符;
  • “_”:只能匹配任意一个字符;

Linux系统中——MySQL数据库安装和基本操作

(6)带AND的多条件查询;

Linux系统中——MySQL数据库安装和基本操作

(7)带OR的多条件查询;

Linux系统中——MySQL数据库安装和基本操作

(8)关键字DISTINCT(查询结果不重复);

Linux系统中——MySQL数据库安装和基本操作
Linux系统中——MySQL数据库安装和基本操作

(9)对查询结果排序(ORDER BY)——> 默认为升序;

Linux系统中——MySQL数据库安装和基本操作

(10)分组查询(GROUP BY);

Linux系统中——MySQL数据库安装和基本操作

(11)分组之后还可以进行条件过滤,将不想要的分组丢弃,使用关键字 HAVING;

HAVING和WHERE都是进行条件过滤的,区别就在于 WHERE 是在分组之前进行过滤,而HAVING是在分组之后进行条件过滤。

Linux系统中——MySQL数据库安装和基本操作

(12)使用LIMIT限制查询结果的数量;

Linux系统中——MySQL数据库安装和基本操作
Linux系统中——MySQL数据库安装和基本操作

(13)集合函数查询;
13.1> COUNT(*):计算表中的总的行数,不管某列有数值或者为空值,因为*就是代表查询表中所有的数据行。

COUNT(字段名):计算该字段名下总的行数,计算时会忽略空值的行,也就是NULL值的行。

Linux系统中——MySQL数据库安装和基本操作

13.2> SUM()函数

Linux系统中——MySQL数据库安装和基本操作

13.3> AVG()函数

Linux系统中——MySQL数据库安装和基本操作

13.4> MAX()函数、MIN()函数

Linux系统中——MySQL数据库安装和基本操作

四、数据库的基本操作——多表查询

4.1> 建立一个新表suppliers,并插入数据记录;

Linux系统中——MySQL数据库安装和基本操作

4.2> 查询水果的批发商编号,批发商名字,水果名称,水果价格;

Linux系统中——MySQL数据库安装和基本操作

4.3> 内连接查询;

格式:表名 INNER JOIN 表名 ON 连接条件

Linux系统中——MySQL数据库安装和基本操作

4.4> 外连接查询;
  • 内连接是将符合查询条件(符合连接条件)的行返回,也就是相关联的行就返回。
  • 外连接除了返回相关联的行之外,将没有关联的行也会显示出来。
4.4.1> 左外连接查询;

格式: 表名 LEFT JOIN 表名 ON 条件;

返回包括左表中的所有记录和右表中连接字段相等的记录,通俗点讲,就是除了显示相关联的行,还会将左表中的所有记录行都显示出来。

Linux系统中——MySQL数据库安装和基本操作

4.4.2> 右外连接查询;

格式: 表名 RIGHT JOIN 表名 ON 条件

返回包括右表中的所有记录和右表中连接字段相等的记录

Linux系统中——MySQL数据库安装和基本操作

4.4.2> 复合条件连接查询;

在连接查询(内连接、外连接)的过程中,通过添加过滤条件,限制查询的结果,使查询的结果更加准确,通俗点讲,就是将连接查询时的条件更加细化。

  • 示例1:在fruits和suppliers表中使用INNER JOIN语法查询suppliers表中s_id为107的供应商的供货信息

Linux系统中——MySQL数据库安装和基本操作

  • 示例2:在fruits表和suppliers表之间,使用INNER JOIN语法进行内连接查询,并对查询结果进行排序。

Linux系统中——MySQL数据库安装和基本操作

五、 数据库的基本操作——子查询

将查询一张表得到的结果来充当另一个查询的条件,这样嵌套的查询就称为子查询。

5.1> 搭建环境,创建两个表tb11,tb12;并插入数据记录;

Linux系统中——MySQL数据库安装和基本操作
Linux系统中——MySQL数据库安装和基本操作
Linux系统中——MySQL数据库安装和基本操作

5.2> 带ANY、SOME关键字的子查询;

ANY(some是any的别名)关键字接在一个比较操作符的后面,表示若与子查询返回的任何值比较为TRUE,则返回TRUE,通俗点讲,只要满足任意一个条件,就返回TRUE。

Linux系统中——MySQL数据库安装和基本操作
Linux系统中——MySQL数据库安装和基本操作

5.3> 带ALL关键字的子查询;

使用ALL时表示需要同时满足所有条件。例如:27大于tb12表中的所有数据;

Linux系统中——MySQL数据库安装和基本操作

5.4> 带EXISTS关键字的子查询;

EXISTS关键字后面的参数是任意一个子查询,如果子查询有返回记录行,则为TRUE,外层查询语句将会进行查询,如果子查询没有返回任何记录行,则为FALSE,外层查询语句将不会进行查询。

Linux系统中——MySQL数据库安装和基本操作

5.5> 带IN关键字的子查询;

Linux系统中——MySQL数据库安装和基本操作

5.6> 合并结果查询;

利用UNION关键字,可以将查询出的结果合并到一张结果集中,也就是通过UNION关键字将多条SELECT语句连接起来,注意,合并结果集,只是增加了表中的记录,并不是将表中的字段增加,仅仅是将记录行合并到一起。其显示的字段应该是相同的,不然不能合并。

  • UNION:执行的时候会删除重复的记录,所有返回的行度是唯一的;
  • UNION ALL:不删除重复行也不对结果进行自动排序。
  • 示例1:查询所有价格大于10的水果的信息,查询s_id等于101或103所有水果的信息,使用UNION连接查询结果。

Linux系统中——MySQL数据库安装和基本操作

  • 示例2:使用UNION,而不用UNION ALL的话,重复的记录就会被删除掉。

Linux系统中——MySQL数据库安装和基本操作

  • 示例3:可以将如上得到的结果进行排序;
    Linux系统中——MySQL数据库安装和基本操作