Linux下MySQL单表操作

    xiaoxiao2025-08-12  4

    一、MySQL安装

    1.安装数据库服务(使用yum安装,便于解决依赖问题)

    (1):修改/etc/yum.repos.d/rhel-source.repo文件

     修改为本地源,修改内容如下:

    file指明为本地文件,enabled=1表明yum源生效

    (2):安装数据库服务器。

    (3):查看MySQL数据库的是TCP端口3306(这个是重点,面试可能会考)

    (4):启动MySQL服务以及查看MySQL服务的状态

    二、MySQL的基础知识

    1.常见面试题

    问:在MySQL5.0以上版本中存在什么特征?会存在什么安全问题吗?

    答:在MySQL5.0以上版本中存在一个information_schema数据库,这个数据库中会存放所有数据库中的数据,这样所有数据库中的内容都会被查看。

    2.首次登录数据库不需要密码(直接输入mysql -u root,然后回车就可以进入数据库)

    当有密码时使用mysql -u root -p进行登录

    三、MySQL的单表操作

    1.显示数据库

    注意:数据库语句后面都用分号来结尾 

    2.创建数据库

    3.使用数据库

     4.创建数据库中的表

    使用create table 表名(列名 数据格式 是否为空)的形式来创建数据库。上图中primary key()用来指明主键,主键必须唯一且不能重复使用。 

    f_id:水果编号    s_id:水果供应商编号    f_name:水果名    f_price:水果价格

    5.显示数据库中的表

    注意:show tables;来查看数据库中的表,因此在执行这条语句时一定要在某个数据库中。

    6.查看数据库中表的结构

    7.向表中插入数据

    注意:插入的数据必须要一一对应,即后面values的值必须与前面的值的顺序相同。

    也可以使用下列方法向表中添加数据

    这样添加数据时必须非常清楚表的结构,并且后面的数据与表中的列必须要一一对应。但是不建议使用这种方法,因为特别容易错误。

    还可以只向表中的某一行插入个别数据

     使用该方法向fruit表中插入多条数据,数据如下

    8.查看数据库的表中存放的信息

    (1):查询表中的所有数据

     *号表示匹配所有,select * from fruit;表示查询fruit表中的所有数据。

    (2):查询表中指定的列

    上图只查询了指定的列,查询f_id和f_name列。查询指定列时,将指定列的名称写在select后面。

    (3):使用where语句进行过滤

    and:并且 ,表示既满足and前面的条件,又满足and后面的条件

    or:或者,表示或者满足or前面的条件,或者满足or后面的条件

    IN关键字:满足条件范围内的值即为匹配项between...and...:在范围之内即为匹配项

    like:相当于模糊查找,和like一起使用的有通配符"%"和"_"

      "%":作用是匹配任意长度的字符

      "_":一个"_"只能匹配一个字符

    NULL值:NULL来判断字段是否为空,NOT NULL来判断字段是否不为空

    DISTINCT:使用DISTINCT关键字表明查询结果不重复

    DISTINCT关键字作用于所有的列,而不仅是作用于跟在DISTINCT后面的列。

    order by对结果进行排序。(使用DESC进行降序排列,使用ASC进行升序排列,默认进行升序排列)

    group by:分组查询

     HAVING过滤

    having与where的区别:having和where都是进行条件过滤的,区别在于where是在分组之前进行过滤的,而having是在分组之后进行条件过滤。

    max()与min()与sum()以及avg()的使用

    limit:限制查询结果的数量

    以上为所有数据

    select *from fruit  limit 3;表示从第0行起连续三条数据

    select *from fruit  limit 3,2;表示从第3行起连续两条数据

    select *from fruit  limit 3  offset  2;表示从第2行起连续三条数据

    注意:limit查询时的数据是从第0行开始的。

    count()函数

    count(*):计算表中的总行数,不管某列是否为空

    count(字段值):计算该字段下的总行数

     

     

    最新回复(0)