`

MySQL 数据库使用技巧

阅读更多
MySQL 数据库使用技巧

1. MySQL使用了ISAM/MyISAM/InnoDB/HEAP/Berkley DB(BDB)等几种引擎(表类型),通常缺省引擎是MyISAM。
   ISAM/MyISAM强调快速读取操作,每个表是一个文件,因此表大小受限于操作系统单个文件的最大大小。
   InnoDB存储引擎支持事务、行锁、外键,表和索引存放于表空间,表空间是一个或多个文件或裸空间(raw disk)。
   BDB   存储引擎支持事务、页锁、外键
   HEAP允许只驻留在内存里的临时表格,速度最快但不安全,用完之后必须删除,通常用来做临时表。
   目前只有InnoDB和BDB引擎支持事务处理和外键
   从版本3.23.43b开始,InnoDB引擎支持外键约束, 从版本4.0.2-alpha开始支持事务, 截止到版本4.1.12a仍然不支持视图。
   多种引擎可以协同工作,但事务中的非事务型表(ISAM/MyISAM/HEAP)无法回滚。

2. MySQL导出数据库, 输出重定向
   mysqldump -u <user> -p [--opt][-q | --quick] <db_name> [tables] > <file_path>
          [-q | --quick] --不缓冲查询,直接导出至stdout
          [--opt]   --优化导出(同--quick --add-drop-table --add-locks --extended-insert --lock-tables)
          [tables]  --多个表以空格分隔 <tb1_name> <tb2_name> ...
   还可以同时导出多个数据库
   mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
   mysqldump [OPTIONS] --all-databases [OPTIONS]

3. MySQL导入数据库备份,输入重定向
   mysql -u <user> -p  <db_name>  <  <file_path>

4. 登录命令行处理器, -p 参数表示使用密码
   mysql [-h <host_name>] -u <user> -p  [<db_name>]

5. 查看所有引擎、支持情况及缺省引擎
   show engines;

6. 修改缺省引擎
   修改MySQL配置文件my.ini(Windows平台)或/etc/my.cnf(Unix平台)相应键值
   可能是以下两种格式之一
   default-storage-engine=MyISAM
   default-table-type=MyISAM

7. 查看所有支持的字符集
   show character set;

8. 修改缺省字符集,通常缺省字符集为latin1(ISO-8859-1)
   修改MySQL配置文件my.ini(Windows平台)或/etc/my.cnf(Unix平台)相应键值
   default-character-set=utf8
   还可以在启动服务时指定参数--language
   mysqld --language=latin1 ...

9. 查看当前主机所有数据库
   show databases;
   mysqlshow -u <user> -p --status    --OS command window

10. 查看数据库运行状态
    show status;

11. 改变当前数据库,MySQL数据库不须disconnect <db_name>
    use <db_name>

12. 创建表时指定表类型(数据库引擎)
    注意:如果指定了不受支持的表类型,MySQL将自动改用缺省引擎(对此MySQL已经考虑进行修改)。
    create table <tb_name> (...) type={BDB | HEAP | ISAM | InnoDB | MERGE | MRG_MYISAM | MYISAM}

13. 修改数据表的表类型
    alter table <tb_name> type = {BDB | HEAP | ISAM | InnoDB | MERGE | MRG_MYISAM | MYISAM}

14. 从 MySQL3.23开始,在创建一个表时,可以使用关键词 TEMPORARY。
    它的名字被限止在当前连接中,当连接关闭时,临时表会自动地被删除。
    这就意味着,两个不同的连接可以使用同一个临时表名而不会与另一个冲突,
    也不会与同名现有的表相冲突(现有表将被隐藏,直到临时表被删除)。
    从 MySQL 4.0.2 开始,为了能创建临时表,必须有 CREATE TEMPORARY TABLES 权限。
    create temporary table (...)

15. 缺省的,MySQL搜索是大小写不敏感的,如果需要一个列总是被当作大小写敏感的方式,必须声明它为BINARY
    create table <tb_name> (c varchar(10) [not null default ''] binary, ...)

16. 查看当前数据库所有表
    show tables;

17. 查看表的结构
    [describe | desc] <tb_name>;

18. 查看索引
    show index from <tb_name>;

19. 查看数据表数据引擎、字符集等详细信息
    show table status [from <db_name>];      --指定数据库所有表
    show table status [from <db_name>] like '<tb_name>'  --表名支持通配符,不区分大小写
    show create table <tb_name>;       --仅显示建表语句、数据库引擎、字符集

20. 显示当前时间
    select [now() | curdate() | curtime() | current_time];

21. IF [NOT] EXISTS的使用,仅支持[create | drop] [database | table]
    create database [IF NOT EXISTS] <db_name>
    drop   database [IF EXISTS]     <db_name>
    create table    [IF NOT EXISTS] <tb_name> ...
    drop   table    [IF EXISTS]     <tb_name>

22. 分析SQl语句访问过程
    explain select ... ;

23. 恢复和整理磁盘空间以及数据碎片
    optimize table <tb_name>;        --在MySQL Command Line Client执行
    myisamchk [-a | --analyze] [- | --...] <tbfile_path> --在OS Command window执行,文件路径及文件名可以使用通配符
             [-a]   --通过分析键值的分布改进表联结性能
             [-s | -ss] --沉默模式。当错误发生时仅写输出,-ss表示非常沉默
             [-r]   --恢复模式。可修复几乎所有一切,除非唯一的键不是唯一
             [-d]   --打印出关于表的一些信息
             [-w]   --如果表被锁定,等待
             [-e]   --非常彻底地检查表。这仅在极端情况下是必要的
             [-v]   --冗长模式。打印更多的信息。通常与-d和-e一起使用。为了更冗长,使用-v多次(-vv, -vvv)
             ...   --其他选项略
    常用选项示例:
    myisamchk *.MYI | myisamchk -a *.MYI | myisamchk -d -v *.MYI | myisamchk -s *.MYI
    OPTIMIZE当前只能用于MyISAM和BDB表,MYISAMCHK只能用于MyISAM表, ISAM表使用isamchk
    MYISAMCHK比OPTIMIZE速度更快更可靠
    对于InnoDB类型的表整理可以通过导出表然后删除原表重新导入的方式,也可以通过将表类型改变为 MyISAM 然后再改为 InnoDB 的方式解决
分享到:
评论

相关推荐

    MySQL数据库使用技巧三例.pdf

    MySQL数据库是关系型数据库管理系统,广泛应用于数据存储和管理。本文将探讨三个实用的MySQL使用技巧,帮助提升数据库管理和维护的效率。 首先,删除指定日期内的日志文件是数据库维护的重要环节。在处理大量日志...

    MySQL数据库使用帮助文档

    这份"MySQL数据库使用帮助文档"是开发者在处理与数据库相关的Web应用程序时的重要参考资料。它包含了大量的信息,旨在帮助用户更好地理解和操作MySQL。 文档中可能涵盖以下几个主要知识点: 1. **MySQL安装与配置*...

    浅析数据库之效能——MYSQL数据库作用与技巧.pdf

    “浅析数据库之效能——MYSQL数据库作用与技巧” 概述:本文档旨在对MySQL数据库的效能和技巧进行浅析,涵盖了 MySQL 数据库的基本概念、数据类型、数据表、数据操作、系统管理命令等方面的知识点。 一、MySQL...

    MySQL数据库应用形考实验1-4全答案.zip

    MySQL数据库是一种广泛应用于Web开发和企业级数据存储的开源关系型数据库管理系统。在这个"MySQL数据库应用形考实验1-4全答案.zip"压缩包中,包含了四个关于MySQL基础操作的实验训练,涵盖了从数据库和表的创建,到...

    MySQL数据库技术与项目应用教程教案.pdf

    MySQL数据库技术是目前广泛使用的关系型数据库管理系统之一,它采用标准的SQL语言作为数据操作和查询的手段,能够高效地管理大量数据。在本教案中,将重点介绍MySQL数据库的安装、配置,以及字符集设置等技术点,并...

    MySql数据库设计技巧

    MySQL数据库设计技巧是数据库管理员和开发人员在构建高效、可靠且可扩展的数据库系统时必须掌握的核心技能。本文将深入探讨几个关键知识点,帮助你优化MySQL数据库的设计。 1. 正确选择数据类型:理解每种数据类型...

    MySQL数据库原理及应用(第2版)(微课版)-教学用数据库(Mysql数据库备份文件).zip

    在《MySQL数据库原理及应用(第2版)(微课版)》中,我们通常会深入探讨数据库的基本概念、设计原则以及实际操作技巧。这份教学资料包含了一个Mysql数据库的备份文件,为学习者提供了实践平台,便于理解和掌握...

    Linux应用集成MySQL数据库访问技巧

    ### Linux应用集成MySQL数据库访问技巧详解 在当前的数字化时代,数据库成为了众多应用程序的核心组成部分,尤其是在Web应用领域,如电子商务平台和其他需要实时处理大量数据的动态网站。在这些场景下,选择合适的...

    MySQL数据库备份和恢复

    ### MySQL数据库备份与恢复:深度解析与实践指南 在当今数据驱动的世界中,数据库的稳定性和数据的安全性显得尤为重要。MySQL作为全球最流行的开源关系型数据库管理系统之一,其备份和恢复策略是确保数据安全和系统...

    mysql数据库基础全部课件

    MySQL数据库是全球最受欢迎的开源关系型数据库管理系统之一,它以其高效、可靠和易于学习的特点,广泛应用于各种规模的企业和项目中。本课件"mysql数据库基础全部课件"旨在为初学者提供一个全面且实用的学习资源,...

    MySQL数据库应用从入门到精通_第2版

    本书《MySQL数据库应用从入门到精通_第2版》旨在帮助读者从零基础开始,逐步掌握MySQL的使用技巧和高级功能,从而实现数据库管理与开发的精通。 一、MySQL基础知识 在入门阶段,首先会介绍MySQL的安装与配置,包括...

    深入浅出MySQL数据库开发、优化与管理维护.doc

    本文档旨在深入浅出 MySQL 数据库开发、优化与管理维护的知识点,涵盖了 MySQL 数据库开发的基本概念、优化技巧和管理维护方法。 数据库开发篇 在本篇中,我们将学习 MySQL 数据库开发的基础知识,包括数据类型、...

    MySQL编程技巧·编程和数据库管理篇

    以及SQL语法、工具、选项、API应用指南,最大限度地帮助读者更快地学习和掌握MySQL数据库系统的设计和使用。本书覆盖了MySQL 5.0,讨论了新的程序设计接口(如PHP 5里的mysqli)和新的系统管理工具。

    sql查询优化(提高MySQL数据库查询效率的几个技巧)

    SQL 查询优化(提高 MySQL 数据库查询效率的几个技巧) 在 MySQL 数据库中,查询优化是一个非常重要的方面。在实际应用中,高效的查询可以提高整个系统的性能和响应速度。下面我们将介绍几个提高 MySQL 数据库查询...

    《MySQL数据库入门》-黑马程序员 配套书籍资源 .zip

    总之,《MySQL数据库入门》的配套资源为学习者提供了丰富的学习素材,结合教材使用,可以确保全面、系统地掌握MySQL的基础知识和实际操作技巧。无论是初学者还是有一定基础的开发者,都能从中受益。通过这些资源,...

    mysql数据库优化的学习心得

    本文总结了一些 MySQL 数据库优化技巧,包括选择合适的字段属性、使用连接(JOIN)代替子查询、使用联合(UNION)代替手动创建的临时表、事务、锁定表、外键等。 一、选择合适的字段属性 在创建 MySQL 数据库时,...

    mysql数据库安装图解

    ### MySQL数据库安装图解知识点详解 #### 一、MySQL数据库简介 MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),因其性能卓越、稳定性强、易于使用等特点而受到广大开发者的青睐。它支持多种操作系统,如...

    MySQL数据库任务驱动式教程(第2版)(微课版)-电子教案.rar

    通过《MySQL数据库任务驱动式教程(第2版)(微课版)》的学习,无论是初学者还是有一定基础的开发者,都能系统地掌握MySQL的使用技巧,提升数据库管理和开发能力。这份电子教案不仅适用于课堂教学,也是个人自学的...

    MySQL 数据库系统设计实现与管理第六版课后习题答案

    MySQL数据库系统设计实现与管理是数据库领域的一门重要课程,主要涵盖了数据库的基础理论、设计方法、实施技巧以及管理策略。第六版的教材深入浅出地介绍了MySQL这一流行的开源关系型数据库管理系统,为学习者提供了...

Global site tag (gtag.js) - Google Analytics