MySQL的基本操作

核心概念

    • 数据库:存储数据库对象的容器
    • 数据库对象:表、视图、存储过程、函数、触发器等操作数据的结构形式
    • 数据:存储在数据库中的具体信息
  • 关系:数据库包含数据库对象,数据库对象管理和使用数据

系统数据库

  • 系统数据库:
    • information_schema:存储数据库对象信息(表信息、列信息、权限等)
    • performance_schema:存储数据库服务器性能参数
    • mysql:存储系统用户权限信息
    • test:供用户练习使用的空数据库
  • 用户数据库:用户根据实际需求创建的数据库(如company、company1等)

数据库操作

创建数据库

  • 语法:CREATE DATABASE database_name;
  • 命名规则:
    • 可由字母、数字、下划线、美元符号组成
    • 首字母可为数字或美元符号(新版MySQL支持)
    • 不能使用MySQL保留字(如CREATE、DELETE等)
    • 不能包含空格和特殊字符
    • 长度小于128位
  • 注意事项:创建前需确认数据库名是否已存在

查看和选择数据库

查看数据库

    • 命令:SHOW DATABASES;
    • 作用:显示MySQL中所有数据库列表
    • 常见错误:创建已存在的数据库会报错"database exists"

选择数据库

    • 命令:USE database_name;
    • 必要性:操作数据库对象前必须选择所属数据库
    • 错误提示:选择不存在的数据库会显示"Unknown database"
删除数据库

  • 语法:DROP DATABASE database_name;
  • 影响:会同时删除该数据库中的所有对象(表、视图等)
  • 注意事项:删除操作不可逆,需谨慎执行

存储引擎和数据类型

存储引擎的查看

  • 查看方法:使用SHOW ENGINES命令可以查看MySQL支持的存储引擎,该命令不需要先选择数据库。

  • 显示格式:可以使用\G代替分号作为结束符,使结果以更美观的垂直格式显示。

  • 常见引擎:包括FEDERATED、MRG_MYISAM、MyISAM、BLACKHOLE、MEMORY、ARCHIVE、InnoDB等9种。

  • 字段说明:

    • Engine:存储引擎名称
    • Support:支持情况(NO/YES/DEFAULT)
    • Comment:引擎描述
    • Transactions:是否支持事务
    • XA:是否符合XA规范
    • Savepoints:是否支持保存点

操作默认存储引擎

    • 查询命令:SHOW VARIABLES LIKE 'storage_engine%'
    • 通配符使用:百分号%可以匹配任意字符

修改默认存储引擎

    • 修改方法:编辑my.ini配置文件,修改default-storage-engine参数
    • 生效条件:修改后需要重启MySQL服务才能生效
  • MyISAM:
    • 适用场景:以读取操作为主的应用
    • 特点:访问速度快,不支持事务和外键,表锁机制
    • 限制:有存储限制,不支持事务安全
  • InnoDB:
    • 适用场景:对事务完整性要求高的应用
    • 特点:支持事务和行锁,空间和内存使用较高
    • 优势:支持外键和集群索引
  • MEMORY:
    • 适用场景:需要快速访问的临时数据
    • 特点:数据存储在内存中,不支持事务,表锁机制
    • 限制:数据量小,重启后数据丢失
相关推荐
sunshine8852 小时前
财务RPA的深水区应用:超越自动化,迈向智能决策支持
数据库
efir OONA2 小时前
MySQL数据库误删恢复_mysql 数据 误删
数据库·mysql·adb
zhangchaoxies3 小时前
如何在 Go 中安全复制接口指针所指向的值
jvm·数据库·python
陈陈CHENCHEN3 小时前
【数据库】MySQL 8.0.40 至 8.0.44 RPM 方式升级指南
数据库·mysql
Azhao11064 小时前
一文读懂分享网站模块介绍(附实操教程)
mysql
m0_734949794 小时前
怎么利用Navicat进行调整备份文件压缩等级_详细配置与操作步骤
jvm·数据库·python
T.i.s4 小时前
番外续2-MIT-BIH Arrhythmia Database
数据库
有味道的男人4 小时前
AI 效率翻倍:对接 1688 拍立淘接口,商品全量信息一键抓取
数据库
m0_741173335 小时前
如何处理SQL中的NULL值_使用ISNULL或COALESCE函数
jvm·数据库·python
志栋智能5 小时前
超自动化巡检:解锁运维数据的深层价值
运维·服务器·数据库·自动化