-
让我们了解有关MySQL的客户端日志记录。mysql客户端可以对执行的语句执行不同类型的日志记录,并且可以交互方式进行记录-UNIX-日志记录在Unix上,mysql将语句写入历史文件。默认情况下,该文件在用户主目录中命名为.mysql_history。要指定不同的文件名,必须设置MYSQL_HISTFILE环境变量的值。如果给出--syslog选项,mysql会将语句写入各种平台上的系统日志记录工具。在Unix上,这称为syslog。Windows-日志记录在Windows上,这称为Windows事件日
-
MySQLSUM()函数将返回0,而不是NULL,并在获取字符类型列作为其参数时发出警告。以下示例将使用名为“社交”的表中的数据进行说明-示例mysql>Select*fromSocial;+------+-------+|Id |Name |+------+-------+|100 |Rahul|+------+-------+1rowinset(0.00sec)mysql>SelectSUM(Name)FromSocial;+-----------+|SUM(
-
我们知道视图是一种虚拟表,也是表的组合,因此我们可以使用相同的查询来列出MySQL视图的所有列,就像我们可以列出列一样MySQL表的。换句话说,我们可以使用SHOWFULLCOLUMNS语句来获取MySQL视图的结构。其语法如下-语法SHOWFULLCOLUMNSFROMView_name;这里view_name是我们想要从中获取列列表的视图的名称。示例假设我们想要获取名为“Info”的视图的列列表,然后可以在以下查询的帮助下完成-mysql>SHOWFULLCOLUMNSFROMINFO\G***
-
MySQLDateTime实例可以通过UNIX_TIMESTAMP()函数按以下方式转换为秒-mysql>SelectUNIX_TIMESTAMP('2017-05-1504:05:30')AS'NUMBEROFSECONDS';+-------------------+|NUMBEROFSECONDS|+-------------------+| 1494801330|+-------------------+1rowi
-
如果我们从一个包含NULL值的表中导出数据,那么MySQL将在CSV文件中为具有NULL值的记录存储\N。可以通过以下示例说明:示例假设我们想要导出表格'student_info'的值,该表格具有以下数据:mysql>Select*fromStudent_info;+------+---------+------------+------------+|id |Name |Address |Subject |+------+
-
我们可以通过使用DROP关键字和ALTERTABLE语句从现有表的列中删除PRIMARYKEY约束。示例假设我们有一个表“Player”,在“ID”列上有一个主键约束,如下-mysql>DESCRIBEPlayer;+-------+-------------+------+-----+---------+-------+|Field|Type |Null|Key|Default|Extra|+-------+-------------+------+-
-
当我们运行INSERTINTO语句而不给出列名和值时,MySQL会将NULL存储为表列的值。考虑下面给出的示例,其中我们使用以下查询创建了一个表“Student”-mysql>CreatetableStudent(RollNOINT,NameVarchar(20),ClassVarchar(15));QueryOK,0rowsaffected(0.17sec)现在,我们可以运行INSERTINTO语句,而无需给出列名称和值,如下所示-mysql>InsertintoStudent()Value
-
有很多免费和专有的工具可以实现同样的功能。您可以使用SAP完成的内存分析器项目。它可以让您通过简单的SQL语句查找内存中对象的内存泄漏。此外,您还可以使用JHAT(Java堆分析工具)命令行工具来检查内存。它可以让您通过直方图检查堆内存,并且可以提供很好的帮助。另外,您还可以选择Netbeans或VisualVM中的HeapWalker。此外,Eclipse还拥有Eclipse内存分析器,这是一个免费软件,可以处理较大的转储文件,并提供相当多的内存分析功能。
-
当您使用带分号(;)的管道分隔符(|)且使用低于8.0.12的MySQL版本时,会出现MySQL分隔符。MySQL将管道(|)视为一个分隔符,并且分号(;)是另一个分隔符。因此,不要将MySQL分隔符与管道和分号混淆。注意:这里,我们使用MySQL版本8.0.12。管道分隔符与分号配合得很好。如果您使用的版本低于8.0.12,则会导致分隔符错误。以下是MySQL分隔符的工作原理:mysql>delimiter|;mysql>createproceduregetSumOfTwoNumbers()
-
环境变量可以在命令提示符下设置。这样做是为了影响当前命令处理器的调用,或者永久设置以影响将来的调用。要永久设置变量,可以在启动文件中设置,或者利用系统提供的界面进行设置。需要查阅命令解释器的文档以获取具体细节。要为环境变量指定值,需要使用与命令处理器相关的语法。设置环境变量的命令可以在命令提示符下执行,立即生效,但设置只会在用户登录期间保持。一旦退出登录,更改将丢失。如果MySQL程序安装在/usr/local/mysql/bin目录下,并且用户希望方便地调用这些程序,可以将PATH环境变量的值设置为包括
-
我们需要使用MAX(columnName)来查找列中的最大值,而使用MIN(columnName)来查找列中的最大值。假设以下是语法查找特定列中的最高值和最低值-mysql>SELECT@min_val:=MIN(columnName),@max_val:=MAX(columnName)FROMtableName;mysql>SELECT*FROMtableNameWHEREcolumnName=@min_valORcolumnName=@max_val;注意:假设我们有一个名为“Studen
-
我们可以借助showtablestatus语句来检查数据库中表的状态。例如,在名为tutorial的数据库中,通过执行此语句我们可以获取表的状态如下-mysql>showtablestatus\G***************************1.row*************************** Name:student Engine:InnoDB&nbs
-
为了将行选择与列选择结合起来,我们可以使用“WHERE”子句。例如,我们有下面的表格-mysql>Select*fromStudent;+--------+--------+--------+|Name |RollNo|Grade |+--------+--------+--------+|Gaurav|100 |B.tech||Aarav |150 |M.SC ||Aryan |165 &nbs
-
通过使用IN关键字,我们可以使用子查询来过滤数据。这是因为我们可以像使用值列表一样使用查询结果,使用IN运算符根据另一个查询的结果来过滤查询。子查询出现在IN关键字后的括号中。示例我们将使用以下表格中的数据来说明这个示例−mysql>Select*fromCustomers;+-------------+----------+|Customer_Id|Name |+-------------+----------+| &
-
通过以下查询,我们只能看到特定MySQL数据库中存储函数的列表-mysql>SELECTROUTINE_TYPE,ROUTINE_NAMEFROMINFORMATION_SCHEMA.ROUTINESWHEREROUTINE_SCHEMA='query'ANDROUTINE_TYPE='FUNCTION'//+--------------+--------------------+|ROUTINE_TYPE|ROUTINE_NAME