一些小技巧:
正则表达式:REGEXP
select name,email from table where email REGEXP "@163[.,]com$;
RAND()提取随机行
select * from table order by rand() limit 5;随机排列后取出前5行
利用group by 的with rollup子句做统计
select * from table group by id,name ……with rollup;根据id,name做统计 注意:当使用rollup时,不能同时使用order by,limit用在rollup后面
bit_or和bit_and来求出所需要
系统变量lower_case_tables_name等于0,1,2来解决定义大小写问题
SQL优化:
show [session|global]status like 'com_%'; session表示session级(当前连接),global表示global级(自数据库上次启动至今),找出匹配'com_%'的统计结果
explain分析低效SQL的执行计划:
explain select * from table1 a,table2 b where……
分析表:analyze table tablename;
检查表:check table tablename;
优化表:optimize table tablename;整理一些碎片和空间浪费
在数据库不繁忙的时候执行以上3个操作
大批量插入数据:
对于MyISAM存储引擎的表:
alter tablename disable keys;开始
(可以提高速度) loading the data
alter tablename enable keys;关闭
对于InnoDB存储引擎的表:
在导入数据前执行set unique_checks=0,关闭唯一性校验,在导入结束后执行set unique_checks=1,恢复唯一性校验,可以提高速度。如果应用使用自动提交的方式,建议在导入 前执行set autocommit=0,关闭自动提交,导入结束后再执行set autocommit=1,打开自动提交,也可以提高速度。
SQL 提示:select SQL_BUFFER_RESULTS *from…… 这个语句将强制MySQL生成一个临时结果集,只要临时结果集生成后,所以表上的锁定均被释放。
1.use index 在查询语句中表名的后面,添加use index来提供希望MySQL去参考的索引列表
2.ignore index ………………………………ignore index………………忽略………………
3.force index …………………………………………指定一个特定的索引
优化表的数据类型:PROCEDURE ANALYSE()
select * from tablename procedure analyse();
数据库备份和恢复:
1.数据库备份:使用mysqldump工具
备份指定的数据库或数据库中的表: shell>mysqldump [options] db_name [tables]
备份指定的一个或多个数据库: shell>mysqldump [options] ---database DB1 [DB2 DB3 ……] [options]为数据库用户名和密码-uroot -p
备份所以数据库: shell>mysqldump [options] --all-database
2.数据库恢复:
mysql -uroot -p dbname < bakfile 注意将备份恢复后数据并不完整,还需要将备份后执行的日志进行重做
mysqlbinlog binlog-file | mysql -u root -p ***
表的导入导出:
可以使用system +操作系统命令来查看
表的导出:方法1.select *from tablename into outfile 'target_file' [option]; [option]中的参数为导出时的格式
方法2.mysqldump -u username -T target_dir dbname tablename [option];
表的导入:方法1.Load data [local] infile 'filename' into table tablename [option];
方法2.mysqlimport -u root -p*** [--local] dbname order_tab.txt [option];
忘记MySQL的root密码:
1.登录到数据库所在服务器,手工kill掉MySQL进程
kill'cat /mysql-data-directory/hostname.pid'
2.使用--skip-grant-tables选项重启MySQL服务
[root@localhost mysql]# ./bin/mysqld_safe --skip-grant-tables --user=zzx &
[1] 20881
[root@localhost mysql]# Starting mysqld daemon with databases from /home/zzx/mysql/data
3.用空密码的root用户连接到MySQL,并且更改root口令
[root@localhost mysql]# mysql -uroot
MyISAM存储引擎的表损坏:
myisamchk -r tablename
或 myisamchk -o tablename
mysql>update user set password=password('123') where='root' and host='localhost';
4.刷新权限表,使得权限认证重新生效
mysql>flush privileges;
分享到:
相关推荐
4.12.1 在 Win32 上安装 MySQL 4.12.2 在 Win95 /Win98上启动 MySQL 4.12.3 在 NT 上启动 MySQL 4.12.4 在 Win32 上运行 MySQL 4.12.5 用 SSH 从 Win32 连接一个远程MySQL 4.12.6 MySQL-Win...
MySQL中文参考手册.chm 449kb <br/>0 译者序 1 MySQL的一般的信息 1.1 什么是MySQL? 1.2 关于本手册 1.2.1 本手册中使用的约定 1.3 MySQL的历史 1.4 MySQL的主要特征 1.5...
mysql5.5、mysql5.5、mysql5.7、mysql8 各种版本最新下载合集 MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提 高了灵活性。 MySQL...
1.7.3. MySQL论坛上的MySQL社区支持 1.8. MySQL标准的兼容性 1.8.1. MySQL遵从的标准是什么 1.8.2. 选择SQL模式 1.8.3. 在ANSI模式下运行MySQL 1.8.4. MySQL对标准SQL的扩展 1.8.5. MySQL与标准SQL的差别 1.8.6. ...
mysql5.7.20镜像安装包,该镜像为mysql数据库镜像,安装后可直接使用。 mysql5.7.20镜像安装包,该镜像为mysql数据库镜像,安装后可直接使用。 安装完成后,我们可以使用以下命令来运行 mysql 容器: $ docker run ...
├─新版MySQL DBA 课件ppt │ 第一课数据库介绍篇.pdf │ 第七课MySQL数据库设计.pdf │ 第三十一课percona-toolkits 的实战及自动化.pdf │ 第三课MySQL授权认证.pdf │ 第九课MySQL字符集.pdf │ 第二十一课MySQL...
MySQL 8.0 升级版本 在本文中,我们将详细介绍 MySQL 8.0 升级版本的步骤和注意事项。MySQL 是一个流行的开源关系数据库管理系统,广泛应用于各种Web 应用程序中。升级 MySQL 版本可以提高数据库性能、修复 bugs 和...
Docker 离线安装 MySQL 5.7 使用说明 本文将指导你如何使用离线的 Docker 镜像包 (docker-mysql-5.7.tar.zip) 来在 Linux 系统中安装并运行 MySQL 5.7 容器。 前提条件 • 已安装 Docker 环境。 • MySQL 5.7 ...
在C#编程环境中,连接MySQL数据库通常依赖于特定的数据提供者,这就是MySql.Data.dll和MySql.Web.dll的角色。这两个动态链接库(DLL)文件是MySQL官方提供的.NET数据访问组件,使得C#开发者能够轻松地与MySQL服务器...
mysql5.7.17资源安装包。MySQL是一种流行的开源关系型数据库管理系统,由Oracle公司开发和维护。MySQL 5.7.17是MySQL的一个重要版本 MySQL 5.7.17增加了很多新功能和改进,其中比较重要的包括: JSON数据类型,以便...
mysql57驱动jar包mysql57驱动jar包mysql57驱动jar包mysql57驱动jar包mysql57驱动jar包mysql57驱动jar包mysql57驱动jar包mysql57驱动jar包mysql57驱动jar包mysql57驱动jar包mysql57驱动jar包mysql57驱动jar包mysql57...
MySQL是世界上最受欢迎的关系型数据库管理系统之一,而JDBC(Java Database Connectivity)是Java语言与数据库交互的标准接口。本文将深入探讨Mysql5.6和Mysql5.7的JDBC驱动,以及如何使用`mysql-connector-java-...
在本教程中,我们将深入探讨如何在Windows操作系统上详细安装MySQL 8.0.36.0。MySQL是一个广泛使用的开源关系型数据库管理系统(RDBMS),它在各种规模的企业和项目中扮演着核心角色。MySQL 8.0版本带来了许多性能...
MySQL ODBC 5.1 Driver 是一个用于连接MySQL数据库的开放数据库连接(ODBC)驱动程序,它允许用户通过标准的ODBC接口访问MySQL数据库,适用于Windows操作系统。这个版本是免安装的,意味着用户可以直接解压使用,...
MySQL驱动jar文件是Java应用程序与MySQL数据库之间通信的关键组件,主要功能是提供Java Database Connectivity (JDBC) API,使得Java开发者能够通过编写Java代码来执行SQL语句,从而操作MySQL数据库。标题提到的...
MySQL论坛上的MySQL社区支持 1.8. MySQL标准的兼容性 1.8.1. MySQL遵从的标准是什么 1.8.2. 选择SQL模式 1.8.3. 在ANSI模式下运行MySQL 1.8.4. MySQL对标准SQL的扩展 1.8.5. MySQL与标准SQL的...
MySQL 5.1参考手册 目录 前言 1. 一般信息 1.1. 关于本手册 1.2. 本手册采用的惯例 1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. ...
MySQL 5.7中文文档是针对这个特定数据库版本的详细技术参考,包含了丰富的信息,适合开发者、管理员和学习者使用。文档的翻译质量被描述为“还行”,尽管资源可能不易找到,但提供了全面的指南。 该文档涵盖了从...
mysql5.7安装教程+mysql5.7镜像安装+mysql学习+mysql5.7镜像包 mysql5.7安装教程+mysql5.7镜像安装+mysql学习+mysql5.7镜像包 mysql5.7安装教程+mysql5.7镜像安装+mysql学习+mysql5.7镜像包 mysql5.7安装教程+mysql...