mysql

【重学 MySQL】二、MySQL 介绍 MySQL 是一种流行的开源关系型数据库管理系统(RDBMS),它使用结构化查询语言(SQL)来管理或操作数据库。MySQL 由瑞典的 MySQL AB 公司开发,并在 2008 年被 Sun Microsystems 收购,随后 Sun Microsystems 又被 Oracle Corporation 收购。尽管经历了多次所有权变更,MySQL 仍然保持着其开源和免费的特性,并且被广泛用于各种应用程序中,包括 Web 应用、数据仓库、电子商务网站等。 阅读详情
      虽然有许多基于GUI的MySQL客户端存在,如著名的phpMyAdmin和SQLYog,但我一直喜欢原生的MySQL命令行客户端,的确,在未熟悉这些命令行接口(CLI)之前,我们需要花一些时间来熟悉它们,特别是你平时不是经常在具有强大的CLI环境的 操作系统 下工作时,但只要经过一些练习,你就可以通过CLI管理用户,浏览你的数据库和执行其它任务,其快感是其它人体会不到的。

  在这篇文章中,我将会介绍我在工作中积累起来的一些MySQL命令行客户端技巧,不管你尝试其中一个还是所有技巧,我敢保证你一定会节省大量的时间。

  顺便提一下,MySQL命令行客户端适应所有操作系统,当然包括Windows,但因为Windows原生CLI环境让人畏惧,因此推荐Windows用户下载并安装Console,它是Windows命令行的一个替代解决方案,提供了更强大的功能,如方便的文本选择,多标签窗口等。

  1、登录过程自动化

  正确配置的MySQL服务器需要你提供用户名和密码进行身份验证,通常情况下,我们可以直接在mysql命令后加上用户名,出于安全考虑,密码就不跟上了,回车执行时,命令提示符会提醒你输入密码。

% > mysql  - u root  - p Enter password: Welcome  to  the MySQL monitor. Commands  end   with  ;  or  g. ...

  通过这一个小小的改进,一年可以少输入几千次用户名,累计起来在登录时间上可以节省几个小时,创建一个.my.cnf文件,将其放在你的home目录下,如果是Windows,文件名则为my.ini,并且要放在MySQL安装目录下,在这个文件中,添加下面的代码,请使用你的登录信息替换占位符。

[client] host  =  your_mysql_server user  =  your_username password  =  your_password

  一定要正确设置这个文件的权限,防止敏感数据被偷窥。

  2、自动切换数据库

  登录客户端后,你需要切换到目标数据库,通常我们会使用下面这个命令来切换数据库:

mysql > use wjgilmore_dev;

  如果你想登录后自动切换到目标数据库,可以在上一步介绍的文件中添加下面的命令,注意位置也要放在[client]小节:

database  =  your_database_name

  3、从脚本发送命令

  设计一个新数据库时,我喜欢使用MySQL Workbench(MySQL工作台)设计模式和关系,它是一个特别强大的工具,你可以在图形界面下管理你的模式,然后同步到MySQL服务器,或将SQL命令导出到一个文件,方便以后再导入到MySQL。

  如果你喜欢手写代码,如创建大量的存储过程,或执行一个很长的连接,你可以将SQL保存为一个文件,然后将这个文件传递给客户端执行,如:

% > mysql  <  schema.sql

  当然你需要指定连接字符串,或象前面一样通过配置文件来指定。

  4、垂直显示结果

  即使是很简单的表模式,也会包含几列字段,例如下面的表由11个字段组成,当我执行一个全结构查询时,输入结果如下:

mysql >   select   *  from accounts where username  =   ' wjgilmore'; 
+----+-----------+------------------+------------------------------   ----+----------+-----------+------------+-----------+--------------   --------------------+---------------------+---------------------+  | id | username | email | password | zip_code | latitude | longitude | confirmed | recovery | created_on | last_login |  +----+-----------+------------------+-------------------------------   ---+----------+-----------+------------+-----------+-----------------   -----------------+---------------------+---------------------+  |  7  | wjgilmore | wj@wjgilmore.com | 2b877b4b825b48a9a0950dd5bd1f264d |  43201  |  39.984577  |  - 83.018692  |  1  | 8bnnwtqlt2289q2yp81tuge82fty501h |  2010 - 09 - 16   14 : 48 : 41  |  2010 - 10 - 27   15 : 49 : 44  |  +----+-----------+------------------+----------------------------------   +----------+-----------+------------+-----------+----------------------   ------------+---------------------+---------------------+

  显然我们不能接受,也无法阅读这种显示结果,使用G命令将上面丑陋的显示结果转换为垂直型。

mysql >   select   *  from accounts where username  =   ' wjgilmore'G *************************** 1. row *************************** id: 7 username: wjgilmore email: wj@wjgilmore.com password: 2b877b4b825b48a9a0950dd5bd1f264d zip_code: 43201 latitude: 39.984577 longitude: -83.018692 confirmed: 1 recovery: 8bnnwtqlt2289q2yp81tuge82fty501h created_on: 2010-09-16 14:48:41 last_login: 2010-10-27 15:49:44

  这样看起来就更舒服一点。


  5、启用Tab键自动完成功能

  重复输入表名和字段名无疑是很乏味的,给mysql客户端传递一个--auto-rehash参数,或是在my.ini文件中添加下面的命令来启用Tab键自动完成功能。

[mysql] auto - rehash

  6、改变提示符

  我不止一次想查看或修改被告知表不存在的模式,遇到这种情况我常常会很恐惧,大多数时候我登错数据库,导致错误地删除不该删除的表,通过修改MySQL客户端提示符,让它显示当前操作的数据库名字,从而避免误操作,为了让mysql客户端具备这种交互性,登录后执行下面的命令即可:

mysql > prompt [d] >  [dev_wjgilmore_com] >

  你可能希望永久保持这种效果,简单,只需要将下面的命令添加到你的配置文件中即可:

prompt  =  [d] >

  当然不仅限于提示数据库名字,还可以显示当前日期和时间,主机名和用户名,请阅读MySQL手册了解更全面的信息。

  7、使用安全更新预防灾难

  前面我也提到,当表被意外删除时可能会引起恐惧,我相信不止我一个人有类似的经历,除了不小心执行了DROP TABLE外,更让人崩溃的是忽略WHERE子句的UPDATE命令,例如,假设你想使用下面的命令修改用户的用户名:

mysql > UPDATE users  set  User  =   ' wjgilmore' WHERE User = 'wjgilmore-temp';

  但当你冲忙地想出去吃饭时,可能忘记敲入后面的WHERE子句

mysql > UPDATE users  set  User  =   ' wjgilmore';

  一旦你按下回车,后果就很严重,users表中所有用户的用户名全部被修改为wjgilmore了,为了避免这种低级,但又会带来灾难性后果的错误,请在配置文件中添加下面的命令:

safe - updates

  8、使用命令文档

  许多用户都知道mysql客户端的内置文档,输入help命令时,它会显示一长串的命令列表。

mysql > help 
... List of all MySQL commands: Note that all text commands must be first 
on line  and   end   with   ' ;' ? (?) Synonym for `help'. clear (c) Clear the current input statement. connect (r) Reconnect to the server. Optional arguments are db and host. delimiter (d) Set statement delimiter. ...

  如果你不知道DESCRIBE命令如何使用,只需要输入

mysql > help describe;
Name: 
' DESCRIBE' Description: Syntax: {DESCRIBE | DESC} tbl_name [col_name | wild] DESCRIBE provides information about the columns in a table. It is a shortcut for SHOW COLUMNS FROM. These statements also display information for views. (See [HELP SHOW COLUMNS].) ...

  9、使用Pager

  有时你可能想查看表的某一行数据,但在屏幕上往往会显示满屏的数据,除了使用LIMIT子句外,开启客户端pager,设置你的系统分页实用程序:

mysql > pager more PAGER  set   to   ' more'

  如果要禁用pager,执行nopager命令即可。

  10、将输出内容转储到文件

  你可能偶尔需要将SQL执行结果输出到一个文本文件,可以使用SELECT INTO OUTFILE command命令达到目的,或直接在mysql客户端中启用tee命令,并制定输出文件实现同样的功能,如:

mysql > tee sales_report.txt

  小结

  不管你是挑选其中一部分还是尝试这10个技巧,它们都会为你节省大量的时间和精力,并会减轻你的痛苦,如果你知道其它MySQL命令行技巧,不妨在评论中一起分享一下吧!


MySQL数据库管理
 十个节省时间的MySQL命令
  对比开源数据库PostgreSQL与MySQL
  MySQL数据库实战经验分享
  如何调整MySQL查询缓冲
  讲解MySQL中的降序索引
  MySQL使用中常犯的八个错误
  巧建MySQL sum索引以提升效率
  静态编译TCMalloc到MySQL
  轻量级MySQL备份方案:AutoMySQLBackup
  MySQL的多线程复制
  视觉中国的NoSQL之路:从MySQL到MongoDB
  生产环境下的MySQL数据库主从同步总结
  CUBRID和MySQL使用SSD前后性能测试对比
  MySQL的复制和临时表Temporary Table
  MySQL自动测试框架介绍
  数据分布对MySQL执行计划的影响
  加速MySQL数据库导入导出的方法
  MySQL数据库的无缝迁移
  MySQL如何链接远程SQL Server
  MySQL黑洞引擎的使用场景解释
  MySQL的B-Tree索引和Hash索引的区别
  MongoDB与MySQL查询性能对比
  适合MySQL的Xeon 55XX系列CPU编译参数
  浅谈MySQL数据库索引应用
  使用SSMA将MySQL/Access迁移至SQL Server/Azure上
  MySQL的MyISAM和InnoDB对比及优化
  看上去很美:MySQL Query Cache
  MySQL的两种复制模式详解
  根据status信息对MySQL服务器进行优化
  MySQL中创建表时AUTO_INCREMENT的用法
  使用MySQL-Proxy读写分离时的注意事项
  MySQL性能优化的21个最佳实践
  搭建MySQL的Master/Slave架构
  基于MySQL的高可用可扩展架构探讨

原文出处:http://www.developer.com/db/10-command-line-timesavers-for-mysql-tasks.html
【MySQL】C语言连接MySQL 想必大家在学校也学习过MySQL,可能学的懵懵懂懂,这个板块我们从入门开始,从最新的安装MySQL到学习MySQL语句,一步一步开始,一切都是新的,新的板块新的开始,大家一起努力,一起进步!!!​二初始化 MYSQL 结构体指针 – mysql_init。连接 MySQL – mysql_real_connect:需要指定数据库服务所在主机、端口以及登录mysql的用户和密码等信息。下发 MySQL 指令 – mysql_query。 阅读详情

相关推荐

【MySQL】关于MySQL 8.0后,mysql库中没有proc表

目录 MySQL 8.0以上: MySQL 5.7: MySQL 8.0以上: 打开CMD窗口,查询当前安装的数据库版本: mysql --version 我是用的Navicat进行查看,发现mysql数据库中没有proc表: 当我在执行查询存储过程时会出现找不到proc表: 我先创建一个存储过程: delimiter $ create procedure pro_test() begin select 'Hello World !'; end$ delimiter ..

范同学的学习历程 5742

【MySQL】MySQL高手是如何练成的?

Mysql 是开源的,可以定制的,采用了 GPL 协议,可以根据业务需要修改源码来开发自己的 Mysql 系统。MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 使用标准的 SQL 数据语言形式Mysql 可以允许于多个系统上,并且支持多种语言。这些编程语言包括 C、C++、Python、Java、Perl、PHP、 Eiffel、Ruby 和 Tcl 等。

小冷coding的博客 2万+

MySQL 5与MySQL 8版本差异及MySQL 8的新功能

未来,随着技术的不断发展和数据库需求的不断增长,我们期待着MySQL继续改进和优化,为各个领域提供更强大、更稳定的数据库解决方案。此外,MySQL 8还引入了“只读”复制(Read-Only Replication),使得下游节点可以只接收写操作的增量日志,从而减轻了主节点的压力。通过比较MySQL5和MySQL8的区别和新功能,我们可以看到MySQL8在性能、安全性和功能方面有了较大的改进和提升。数据压缩:MySQL 8引入了新的数据压缩方法,可以在不损失性能的情况下,大幅度减少存储空间的需求。

Java老兵的后端进阶与AI前沿探索之路。 2854

【MySQL】mysql访问

从开始到选择我们用的都是命令行式的mysql访问mysqld,向mysqld下达我们的指令,其实在数据库层面上,连接数据库的客户端除了现在命令行式的客户端,还有图形化界面、网页版的,当然也包括语言级别的库或者包帮我们去访问数据库。

fight_p的博客 4453

MySQL 一一 MySQL基本使用

1、数据库 简单来说,所谓的数据库就是存储数据的容器,而且是永久存储的。 2、为什么需要数据库 3、为什么要学习MySQL数据库 最早MySQL数据,瑞典AB公司开发的一款开源型的关系型数据库。 随着时间的推移,瑞典AB公司把MySQL数据库转让给Sun公司(Java语言的创始公司) 后来,Sun公司经营不善,又把MySQL数据库转让给甲骨文公司(Oracle数据库) 4、数

Guizy 7万+

【MySQL】MySQL监控工具 mysql-monitor

1.概述 mysql-monitor MYSQL 监控工具,优化工具,各种工具为一体的java spring boot 项目 2. 代码架构 3. 后端服务 后端服务的主类是com.neo.MySQLMointorApplication 3.1 后端服务的数据库 spring.datasource.driverClassName = com.mysql.jdbc.Driver spring.datasource.url = jdbc:mysql://localhost:3306/mysql_monito.

九师兄 4453

【MySQL】带你了解MySQL & 如何学习MySQL以及MySQL的用途以及意义

提起 MySQL 我们大多数与这个行业有相关联系或者说是细微联系的人都知道这个“东西”,为什么有那么多相似的产品我们大多数人都说学习 MySQL 而不是其他的系统。我们在学习时,一定要知其然也要知其所以然,我们不能说是:啊,我要学MySQL! 之后就找到MySQL的讲解课程开始直接的学习语句。这样确实是可以学会去操作MySQL,可是,你是否知道你学习它的意义在于哪里吗?所以呢,我们在开始学习之前一定要去了解一下MySQL,去了解下它的用途,它的功能,这样的话,我们就会对自己学习的知识有一个清晰的对应认知了

感谢您的关注! 8863

ANSYS Maxwell:从RMxprt到3D轴向磁通电机的无缝建模指南

本文详细介绍了如何利用ANSYS RMxprt作为高效起点,快速构建3D轴向磁通电机的有限元分析模型。通过RMxprt内置模板输入关键参数并完成磁路法计算后,可一键生成包含几何、材料、绕组及边界条件的即用型Maxwell 3D模型,极大简化了复杂三维结构的建模流程,使工程师能专注于性能优化与仿真分析。

weixin_29281941的博客 555

Ubuntu20.04安装MySQL及配置MySQL workbench

文章目录前言一、MySQL安装与配置1. 安装MySQL2. 配置MySQL二、配置MySQL远程访问三、安装配置MySQL workbench1. 安装MySQL workbench2.使用MySQL workbench连接到数据库总结 前言 最近在学习林子雨老师的大数据时,发现为 Hadoop 安装 Hive 需要使用 MySQL 数据库保存 Hive 的元数据,而不是采用 Hive 自带的 derby 来存储元数据。为了填补大数据专栏的空白,查阅资料完成此篇博客。 系统版本:Ubuntu20.04

程序必须为人类阅读而编写,并且仅仅碰巧可以让机器执行 1万+

手把手教你利用qemu搭建银河麒麟V11 arm环境

在Windows环境下,初学者或企业用户常通过VMware、VirtualBox等虚拟机软件安装Ubuntu、Red Hat等Linux系统,这类工具更侧重X86等复杂指令集架构(CISC,常见于Intel、AMD处理器)的虚拟化。而QEMU是一款开源的虚拟机监视器与模拟器,核心优势在于可模拟ARM、MIPS、RISC-V等精简指令集架构(RISC)的处理器并提供虚拟化能力,更适合对虚拟化技术有一定了解的用户。可能是电脑性能问题,安装过程比较慢,需要耐心等待。等操作系统下载完成后,进行安装了。

huanhuanzhou blog 2455

利用腾讯云轻量服务器快速搭建网站CDN

腾讯云的轻量最近在主机和站长中间可谓是占尽来风头,优秀的线路,低廉的价格使得越来越多的人开始使用腾讯云的轻量级服务器来部署应用。由于腾讯云轻量服务器的海外服务器电信走的是CN2GIA线路带宽30m挺适合做CDN的,我就记录一下如何利用腾讯云香港的轻量服务器搭建一个CDN。 购买服务器 首先选购服务器,最近腾讯云在做活动,力度很大国内备案用户可以选用国内的服务器最低128元/年,未备案的可以选用香港或者新加坡的服务器。 购买链接 服务器系统选Debian、Ubuntu、centos都可以 一键脚

demo_top的博客 2565

【mySQL】C++ 操作mySQL|mySQL++|Mysql connector c++

MySQL其实提供了C实现的接口,而MySQL++则是一个C++实现的封装MySQL C接口的一个Wrapper,遵循了标准C++的规则,是个跨平台的开源工具。我们主要用MySQL++来开发C++程序。 1. 安装和配置 还是万年不变的新手主题——安装和配置 安装MySQL++之前需要先安装MySQL: [root@ollen mysql++]# yum install mysql...

我的笔记本 6821

移远EC800M CAT1模块HTTP POST实战:从AT指令到OneNet平台数据上报(附STM32代码)

本文详细介绍了移远EC800M CAT1模块通过AT指令实现HTTP POST数据上报到OneNet平台的完整流程,包含STM32实战代码。内容涵盖PDP上下文激活、HTTP服务配置、JSON数据包构建等关键技术要点,并提供硬件连接、状态机设计和错误处理等实用方案,助力开发者快速实现物联网设备稳定数据传输。

weixin_42565652的博客 507

【MySQL】 MySQL安装

将mysql相关的内容 以 xargs的形式 给予卸载程序,由于安装包是通过yum进行安装的,使用 yum remove 即可卸载。正常来说,应该为上一个mysql残留的数据,但是由于这里没有使用过mysql,所以就什么都没有。rpm为mysql层面上,在linux的一个安装包,里面包含的是mysql的yum源。当前系统中没有系统安装包了,也没有mysql对应的进程,对应的环境就被卸载干净了。采用yum的方式,获取到MySQL的安装包 ,一般都是.rpm。配置server端的编码格式 采用 utf8。

qq_62939852的博客 2376

【机器人技术基础】MATLAB Robotics Toolbox PUMA560 运动学正逆解

机器人技术基础实验2报告 1. 实验目的和要求 2. 实验手段 2.1 实验原理 2.2 函数详解 3. 实验主要内容 4. 实验结果和分析 4.1 正运动学求解 例1 例2 4.2 逆运动学求解 例1 例2 1. 实验目的和要求 掌握常见形式的机器人的D-H坐标系建立方法、运动学建模; 正逆运动学分析与求解; 使用Robotics Toolbox对直角坐标机器人、圆柱坐标机器人、球坐标机器人、PUMA560其中之一建立运动学模型,正逆求解和仿真。 2. 实验手段 2.1

【人工智障 | 计算鸡视觉 | 机器孩】 1万+

2.2 保姆级教程:手把手带你构建第一个 LangGraph 应用

本文是一份保姆级教程,手把手教你构建第一个LangGraph应用——"智能工具助手"Agent。教程分为8个步骤:从环境准备到工具定义(使用Tavily搜索API和自定义计算器),再到定义图状态、创建决策节点和执行节点,最后连接工作流并编译运行。通过这个项目,你将学会如何让Agent智能选择工具(搜索或计算),掌握LangGraph开发的基本流程,为构建更复杂系统打下基础。关键点包括状态管理、节点设计和条件路由的实现。

yonggeit的博客 3116

MySQL —— MySQL 程序

本篇文章将会介绍 MySQL 中常见程序 mysqld 与 mysql 的基本概念,以及详细介绍 mysql 客户端程序的使用,这里我们会介绍 mysql 客户端命令的常用选项,使用 mysql 客户端从 .sql 文件中执行 SQL 语句,下面开始本篇文章的内容介绍。

HKJ_numb1的博客 2512

基于 DnLUT 超高效的彩色图像去噪(CVPR 2025),本地部署 DnLUT 模型,图像去噪算法训练和推理,全网最详细教程

基于 DnLUT 超高效的彩色图像去噪(CVPR 2025),本地部署 DnLUT 模型,图像去噪算法训练和推理,全网最详细教程

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 364

Mac 上如何安装Mysql? 如何配置 Mysql?以及如何开启并使用MySQL

有许多开发的小伙伴,使用的是mac,那么在mac上如何安装,配置Mysql,以及使用Mysql了,今天来一个系统的教程。

m0_74825223的博客 4169

【S32K3 MCAL配置】-4.1-CAN Driver:如何解决CAN帧发送丢帧问题

【S32K3 MCAL配置】-4.1-CAN Driver:如何解决CAN帧发送丢帧问题

「汽车电子助手」的博客 1442

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

MySQL-MySQL访问

通过之前的章节,我们已经学会了MySQL的大部分基本操作和概念,今天我们将要学习通过C语言接口来访问MySQL。需要注意的是,今天我们要使用的接口都来自于第三方库,这个库是由MySQL提供的,我们需要用到 mysql.h 和 mysqlclient.so ,头文件一般在,动态库文件有的在/usr/lib/或者中,不过我的就在目录下,所以如果你找不到的话,可以直接使用来直接查找。当然前提是你的主机安装了mysql,一般会自动给你添加这些库文件。

fengjunziya的博客 2203

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

MySQL——MySQL的使用

MySQL——MySQL的使用

致力于分享在各类技术领域的学习与实践经验,涵盖编程、虚拟化、开源工具、网络安全等。 2845

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

【MySQL】语言连接使用MySQL

语言上的进行MySQL的使用

2303_80828380的博客 1866

MySQL Installer(MySQL on Windows (Installer & Tools))与MySQL Community Server的区别;MySQL Shell是什么;MySQL

MySQL官网:https://www.mysql.com/ 1: MySQL on Windows (Installer & Tools) 这是一个傻瓜化的安装包,包括了数据库和工具。是mysql软件的安装管理器,可以通过installer来选择安装mysql数据库和相关辅助软件。 它是官方提供的Installer方式安装MYSQL服务以及其他组件,使的Windows下安装,卸载,配置MYSQL变得特别简单。就是说MySQL Installer可以直接和其他电脑软件一样安装,而且里面包含My

weixin_45045730的博客 5273

MySQL 和 MySQL2 的区别

在node.js中MySQL是最流行的开源关系型数据库管理系统,拥有大量的使用者和广泛的应用场景。而MySQL2是MySQL官方团队推出的新一代MySQL驱动,用于取代老版的MySQL模块,提供更好的性能和更丰富的功能。本文将介绍MySQL2相较于MySQL有哪些优势以及具体的技术区别。随着Node.js的流行,基于Node.js连接MySQL数据库变得十分普遍。Node.js社区最初广泛使用的MySQL模块是基于libmysqlclient开发的,这是一个阻塞式的数据库驱动,性能和可靠性都存在一定问题。

m0_57005111的博客 2313
上一篇: 迭代器之入门介绍(下)
下一篇: B/B+/B*树
laohan_
博客等级 码龄15年 112粉丝 224原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值