博客
关于我
MySQL基础学习总结
阅读量:789 次
发布时间:2023-02-12

本文共 2378 字,大约阅读时间需要 7 分钟。

MySQL基础概念与使用方法

MySQL作为一款流行的关系型数据库管理系统,广泛应用于各类企业级系统开发、数据存储和处理中。本文将从基础概念、查询操作、数据处理等多个方面,详细介绍MySQL的核心功能和使用方法。

MySQL架构概述

MySQL的逻辑架构分为两个主要层次:服务层和存储引擎层。服务层负责接收客户端的查询请求、 parsing 和执行,主要包括连接管理、事务处理、缓存等功能。存储引擎则负责实际的数据存取和修改操作,常见的存储引擎有InnoDB、MyISAM等,其中InnoDB是推荐的主流引擎支持事务处理。

数据库、表和数据的关系

  • 数据库:数据的存储容器,包含多个表。
  • :数据的结构化清单,由列组成。
  • :表中的一个字段,所有表由多列组成。
  • 数据类型:规定数据的存储规则,如整数、字符串等。
  • :表中的一个记录,包含多个列的值。
  • 主键:唯一标识表中某一行的列,其值必须唯一。

基本操作指南

连接数据库

mysql -h host -u username -p

切换数据库

use database_name

查看数据库列表

show databases

查看表结构

show tables

查看表列信息

show columns from table_name

查看数据库状态

show status

数据检索与排序

基本查询语法

select [columns] from table_name [where conditions] [group by columns] [having conditions] [order by columns] [limit offset, count];

排序与限制

  • 升序/降序排序

    select * from goods order by num desc;
  • 限制返回行数

    select * from goods limit 2;
    • 可以指定从某一行开始:

      select * from goods limit 2, 2;

过滤条件

  • 基本过滤

    select id, name from goods where num > 10;
  • 复合过滤

    select * from goods where id = 2 and num > 10;
  • 范围查询

    select * from goods where num between 5 and 10;
  • 匹配空值

    select * from goods where num is null;

数据处理与聚合

常用聚合函数

  • AVG():计算某列的平均值。

  • COUNT():统计某列的行数。

  • MAX()/MIN():找出某列的最大值或最小值。

  • SUM():计算某列的总和。

分组与汇总

  • 分组查询

    select num, count(num) from goods group by num;
  • 按条件分组

    select num, count(*) from goods group by num having count(num) > 5;

联结与子查询

内部联接

select v.vend_name, p.prod_name from vendors v inner join products p on v.vend_id = p.vend_id;

自然联接

select v.vend_name, p.prod_name from vendors v natural join products p on v.vend_id;

外部联接

select c.cust_id, o.order_num from customers c left outer join orders o on c.cust_id = o.cust_id;

视图的应用

创建视图

create view top_products as select * from products where num > 5;

查询视图

select * from top_products;

更新视图

update top_products set num = num + 1 where name = '苹果';

数据操作

插入操作

insert into goods (name, num) values('香蕉', 3);

更新操作

update goods set num = 1 where name = '苹果';

删除操作

delete from goods where num = 7;

表的创建与管理

创建表

create table vendors (    vend_id int not null auto_increment,    vend_name char(50) not null,    vend_address char(50) null default '*',    vend_city char(40) null,    primary key (vend_id)) engine=InnoDB;

修改表

alter table vendors add column vend_phone char(20);

删除表

drop table vendors;

常见问题与注意事项

  • 事务处理:事务由存储引擎层实现,默认使用InnoDB引擎。

  • 空值处理:使用is null检测空值。

  • 排序与过滤顺序order by必须放在where子句之后。

  • 性能优化:减少索引使用,避免过度使用通配符和正则表达式。

  • 安全权限:合理分配用户权限,避免过度访问。

  • 通过以上知识和操作指南,开发者可以更高效地使用MySQL进行数据存储和处理,充分发挥其强大功能。

    转载地址:http://qhbfk.baihongyu.com/

    你可能感兴趣的文章
    MySQL启动失败:Can't start server: Bind on TCP/IP port
    查看>>
    mysql启动报错
    查看>>
    mysql启动报错The server quit without updating PID file几种解决办法
    查看>>
    mysql命令
    查看>>
    mysql命令==_mysql命令
    查看>>
    mysql命令和mysql的配置文件
    查看>>
    watch
    查看>>
    MySQL命令行操作的相关语法
    查看>>
    MySQL命令行登陆,远程登陆MySQL
    查看>>
    mysql命令:set sql_log_bin=on/off
    查看>>
    mySQL和Hive的区别
    查看>>
    MySQL和Java数据类型对应
    查看>>
    mysql和oorcale日期区间查询【含左右区间问题】
    查看>>
    MYSQL和ORACLE的一些操作区别
    查看>>
    mysql和redis之间互相备份
    查看>>
    MySQL和SQL入门
    查看>>
    mysql在centos下用命令批量导入报错_Variable ‘character_set_client‘ can‘t be set to the value of ‘---linux工作笔记042
    查看>>
    Mysql在Linux运行时新增配置文件提示:World-wrirable config file ‘/etc/mysql/conf.d/my.cnf‘ is ignored 权限过高导致
    查看>>
    Mysql在Windows上离线安装与配置
    查看>>
    MySQL在渗透测试中的应用
    查看>>