搜索
首页数据库mysql教程MySQL数据库中常用的应用技巧有哪些?

MySQL数据库中常用的应用技巧有哪些?

Jun 07, 2016 pm 04:14 PM
mysql哪些应用技巧数据库文章实际的

以下的文章主要介绍的是MySQL数据库中我们大家都知道的几个较为特殊的实际应用技巧的介绍,如果你对其相关的实际应用技巧感兴趣的话,你就可以对以下的文章点击观看了,望你能有所收获。 以XML格式查看查询结果 通过使用传统xml 选项调用MySQL命令行客户程序

以下的文章主要介绍的是MySQL数据库中我们大家都知道的几个较为特殊的实际应用技巧的介绍,如果你对其相关的实际应用技巧感兴趣的话,你就可以对以下的文章点击观看了,望你能有所收获。

以XML格式查看查询结果

通过使用传统—xml 选项调用MySQL命令行客户程序,你可以以XML格式(而不是传统的列表形式)来查看。

MySQL数据库查询结果

如果你打算将查询输出与其它程序集成在一起,这一技巧非常有用,这里是一个例子:

表A

<ol class="dp-xml">
<li class="alt"><span><span>shell</span><span class="tag">></span><span> mysql --xml  </span></span></li>
<li>
<span>mysql</span><span class="tag">></span><span> SELECT * FROM test.stories;  </span>
</li>
<li class="alt"><span>1  </span></li>
<li><span>This is a test  </span></li>
<li class="alt"><span>2  </span></li>
<li><span>This is the second test  </span></li>
<li class="alt"><span>2rows in set (0.11 sec)  </span></li>
</ol>

快速重建索引

通常情况下,如果你想改变服务器的全文搜索变量,你需要在表格中重新建立全文索引,以确保你的更新得到映射。这一操作将会花费大量的时间,特别是如果你需要处理很多数据的时候。一种快速的解决。

方法是使用REPAIR TABLE命令,以下为演示过程:

表B

<ol class="dp-xml">
<li class="alt"><span><span>mysql</span><span class="tag">></span><span> REPAIR TABLE content QUICK;  </span></span></li>
<li><span>+-----------+--------+----------+----------+  </span></li>
<li class="alt"><span>| Table| Op| Msg_type | Msg_text |  </span></li>
<li><span>+-----------+--------+----------+----------+  </span></li>
<li class="alt"><span>| content| repair | status| OK|  </span></li>
<li><span>+-----------+--------+----------+----------+  </span></li>
<li class="alt"><span>1 row in set (0.05 sec)  </span></li>
</ol>

压缩一定的表格类型

如果你处理的是只读MyISAM表格,MySQL数据库允许你将其压缩以节省磁盘空间。对此可以使用包括myisampack,如下所示:

表C

<ol class="dp-xml">
<li class="alt"><span><span>shell</span><span class="tag">></span><span> myisampackmovies.MYI  </span></span></li>
<li><span>Compressing movies.MYD: (146 records)  </span></li>
<li class="alt"><span>- Calculating statistics  </span></li>
<li><span>- Compressing file  </span></li>
<li class="alt"><span>41.05% </span></li>
</ol>

使用传统SQL

MySQL支持SQL查询中的传统用法,支持IF与CASE结构。以下是一个简单的例子:

表D

<ol class="dp-xml">
<li class="alt"><span><span>mysql</span><span class="tag">></span><span> SELECT IF (</span><span class="attribute">priv</span><span>=</span><span class="attribute-value">1</span><span>, 'admin', 'guest')  </span></span></li>
<li>
<span>As usertype FROM privs WHERE </span><span class="attribute">username</span><span> = </span><span class="attribute-value">'joe'</span><span>;  </span>
</li>
<li class="alt"><span>+----------+  </span></li>
<li><span>| usertype |  </span></li>
<li class="alt"><span>+----------+  </span></li>
<li><span>| admin|  </span></li>
<li class="alt"><span>+----------+  </span></li>
<li><span>1 row in set (0.00 sec) </span></li>
</ol>

以CSV格式输出表格数据

MySQL 输出文件包含一个全部SQL命令列表。如果你想将输出文件导入到MySQL数据库,这一功能非常实用,但如果目标程序(比如Excel)不能与SQL相互通讯,这一方法将行不通。在这种情况下,可以通过告诉MySQL

以CSV格式建立输出文件,这种CSV格式很方便地导入到绝大部分的程序。这里演示了 mysqldump的操作过程:

<ol class="dp-xml">
<li class="alt"><span><span>shell</span><span class="tag">></span><span> mysqldump -T .  </span></span></li>
<li>
<span class="attribute">--fields-terminated-by</span><span>=</span><span class="attribute-value">", "</span><span> mydbmytable  </span>
</li>
</ol>

这将在当前目录中生成一个文本文件,包含来自mydb.mytable列表中以逗号为间隔符的记录。

以激活strict模式减少“bad”数据的出现

MySQL服务器能够以多种不同的模式运行,而每一种都针对于特定的目的而优化。在默认情况下,没有设置模式。然而,通过在服务器命令行中添加以下选项可以很容易地改变模式的设置并将MySQL以“strict”模式运行:

<ol class="dp-xml"><li class="alt"><span><span>shell</span><span class="tag">></span><span> mysqld </span><span class="attribute">--sql_mode</span><span>=</span><span class="attribute-value">"STRICT_ALL_TABLES"</span><span> &  </span></span></li></ol>

在“strict”模式下,通过MySQL的中止查询执行并返回一个错误,服务器的很多自动修正功能都被无效化。同样,该模式下也将会执行更为严格的时间检查。

监视服务器

你可以通过运行SHOW STATUS命令获得一份服务器运行与统计的报告,包括打开连接的次数,激活查询次数,服务器正常运行时间等等。例如:

表E

<ol class="dp-xml">
<li class="alt"><span><span>Emysql</span><span class="tag">></span><span> SHOW STATUS;  </span></span></li>
<li><span>+------------------+-------+  </span></li>
<li class="alt"><span>| Variable_name| Value |  </span></li>
<li><span>+------------------+-------+  </span></li>
<li class="alt"><span>| Aborted_clients| 0|  </span></li>
<li><span>| Aborted_connects | 0|  </span></li>
<li class="alt"><span>...  </span></li>
<li><span>| Uptime| 851|  </span></li>
<li class="alt"><span>+------------------+-------+  </span></li>
<li><span>156 rows in set (0.16 sec)  </span></li>
</ol>

自动返回CREATE TABLE代码

MySQL数据库允许你自动获得SQL命令重新建立一个特定的表格。只简单地运行SHOW CREATE TABLE命令,并查看表格建立代码,如下所示:

表F

<ol class="dp-xml">
<li class="alt"><span><span>mysql</span><span class="tag">></span><span> SHOW CREATE TABLE products;  </span></span></li>
<li><span>---------------------------------------  </span></li>
<li class="alt"><span>| Table| Create Table  </span></li>
<li><span>+----------+---------------------------  </span></li>
<li class="alt"><span>| products | CREATE TABLE `products` (  </span></li>
<li><span>`id` int(8) NOT NULL auto_increment,  </span></li>
<li class="alt"><span>`name` varchar(255) NOT NULL default '',  </span></li>
<li><span>`price` int(10) default NULL,  </span></li>
<li class="alt"><span>PRIMARY KEY(`id`)  </span></li>
<li>
<span>) </span><span class="attribute">ENGINE</span><span>=</span><span class="attribute-value">MyISAM</span><span> DEFAULT </span><span class="attribute">CHARSET</span><span>=</span><span class="attribute-value">latin1</span><span> |  </span>
</li>
<li class="alt"><span>+----------+----------------------------  </span></li>
<li><span>1 row in set (0.27 sec) </span></li>
</ol>

建立一个更为有用的命令提示:

在缺省情况下,MySQL数据库命令行客户程序显示一个简单的mysql>提示符。然而,你可以使用特定的修改内容来改变这一提示符使之变得更为有效,这些内容包括:当前用户名称,主机名称,以及当前选择的数据库。如下所示:

表G

<ol class="dp-xml">
<li class="alt"><span><span>mysql</span><span class="tag">></span><span> prompt \U:/\d</span><span class="tag">></span><span> </span></span></li>
<li>
<span>PROMPT set to '\U:/\d</span><span class="tag">></span><span>'  </span>
</li>
<li class="alt">
<span>root@localhost:/db1</span><span class="tag">></span><span>  </span>
</li>
</ol>

以上的相关内容就是对MySQL数据库鲜为人知的几个特殊技巧的介绍,望你能有所收获。


声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
在MySQL中使用视图的局限性是什么?在MySQL中使用视图的局限性是什么?May 14, 2025 am 12:10 AM

mysqlviewshavelimitations:1)他们不使用Supportallsqloperations,限制DatamanipulationThroughViewSwithJoinSorsubqueries.2)他们canimpactperformance,尤其是withcomplexcomplexclexeriesorlargedatasets.3)

确保您的MySQL数据库:添加用户并授予特权确保您的MySQL数据库:添加用户并授予特权May 14, 2025 am 12:09 AM

porthusermanagementInmysqliscialforenhancingsEcurityAndsingsmenting效率databaseoperation.1)usecReateusertoAddusers,指定connectionsourcewith@'localhost'or@'%'。

哪些因素会影响我可以在MySQL中使用的触发器数量?哪些因素会影响我可以在MySQL中使用的触发器数量?May 14, 2025 am 12:08 AM

mysqldoes notimposeahardlimitontriggers,butacticalfactorsdeterminetheireffactective:1)serverConfiguration impactactStriggerGermanagement; 2)复杂的TriggerSincreaseSySystemsystem load; 3)largertablesslowtriggerperfermance; 4)highConconcConcrencerCancancancancanceTigrignecentign; 5); 5)

mysql:存储斑点安全吗?mysql:存储斑点安全吗?May 14, 2025 am 12:07 AM

Yes,it'ssafetostoreBLOBdatainMySQL,butconsiderthesefactors:1)StorageSpace:BLOBscanconsumesignificantspace,potentiallyincreasingcostsandslowingperformance.2)Performance:LargerrowsizesduetoBLOBsmayslowdownqueries.3)BackupandRecovery:Theseprocessescanbe

mySQL:通过PHP Web界面添加用户mySQL:通过PHP Web界面添加用户May 14, 2025 am 12:04 AM

通过PHP网页界面添加MySQL用户可以使用MySQLi扩展。步骤如下:1.连接MySQL数据库,使用MySQLi扩展。2.创建用户,使用CREATEUSER语句,并使用PASSWORD()函数加密密码。3.防止SQL注入,使用mysqli_real_escape_string()函数处理用户输入。4.为新用户分配权限,使用GRANT语句。

mysql:blob和其他无-SQL存储,有什么区别?mysql:blob和其他无-SQL存储,有什么区别?May 13, 2025 am 12:14 AM

mysql'sblobissuitableForStoringBinaryDataWithInareLationalDatabase,而alenosqloptionslikemongodb,redis和calablesolutionsoluntionsoluntionsoluntionsolundortionsolunsolunsstructureddata.blobobobsimplobissimplobisslowderperformandperformanceperformancewithlararengelitiate;

mySQL添加用户:语法,选项和安全性最佳实践mySQL添加用户:语法,选项和安全性最佳实践May 13, 2025 am 12:12 AM

toaddauserinmysql,使用:createUser'username'@'host'Indessify'password'; there'showtodoitsecurely:1)choosethehostcarecarefullytocon trolaccess.2)setResourcelimitswithoptionslikemax_queries_per_hour.3)usestrong,iniquepasswords.4)Enforcessl/tlsconnectionswith

MySQL:如何避免字符串数据类型常见错误?MySQL:如何避免字符串数据类型常见错误?May 13, 2025 am 12:09 AM

toAvoidCommonMistakeswithStringDatatatPesInMysQl,CloseStringTypenuances,chosethirtightType,andManageEngencodingAndCollat​​ionsEttingsefectery.1)usecharforfixed lengengters lengengtings,varchar forbariaible lengength,varchariable length,andtext/blobforlabforlargerdata.2 seterters seterters seterters seterters

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。