-
MySQLFORMAT()函数,将数字转换为#,###,###.###等格式,四舍五入到指定的小数位数,并将结果作为字符串返回,可用于检索具有指定格式的列的十进制值的输出。为了理解它,我们以表“estimated_cost”为例,其中包含以下数据-mysql>Select*fromestimated_cost;+----+-----------------+-----------+---------------+|Id|Name_Company |Tender_id|Tende
-
要创建ENUM列,枚举值必须是带引号的字符串文字。我们可以借助以下语法在MySQL中创建ENUM列-CREATETABLEtable_name( … ColENUM(‘Value1’,’Value2’,’Value3’), …);在上面的语法中,我们有三个枚举值。它也可以超过三个。示例: 以下是创建包含ENUM列的表的示例-mysql>
-
我们只能根据连接谓词(即指定的条件)来区分MySQLCROSSJOIN和INNERJOIN。在编写INNERJOIN查询时,我们需要指定条件,但相反,在编写CROSSJOIN查询时,我们不需要指定条件。为了理解它,我们以名为tbl_1和tbl_2的两个表为例,它们具有以下数据-mysql>Select*fromtbl_1;+----+--------+|Id|Name|+----+--------+|1 |Gaurav||2 |Rahul ||3 |Raman
-
要在MySQL中设置列名中的空格,可以使用反引号的概念。让我们首先创建一个表。以下是查询的语句−mysql>createtableblankSpacesDemo ->( ->`StudentId`intNOTNULLAUTO_INCREMENTPRIMARYKEY, ->`StudentFullName`varchar(100) ->);QueryOK,0rowsaffecte
-
要仅对第一次出现的情况执行搜索/替换,请使用CONCAT和REPLACE()函数。查询如下以设置用户定义的会话变量-mysql>set@Sentence='Thksksisamystring';QueryOK,0rowsaffected(0.00sec)在此,k只会被i替换一次。查询如下。我们也使用了INSTR()-mysql>select@SentenceasNewString,CONCAT(REPLACE(LEFT(@Sentence,INSTR(@Sentence,
-
可以通过在列上应用TRIM()函数以及MySQLUPDATE语句来完成。下面的示例会更清楚地说明这一点。示例假设我们有一个表“Employee”,其前缀为“Dept.”,其中包含列“Department”的所有值如下-mysql>Select*fromEmployee;+------+----------------+------------+----------------------+|Id |Name |Address&nbs
-
我们可以通过提供特定字符串和列名称作为FIND_IN_SET()函数的参数来获取记录作为结果集。我们还需要将WHERE子句与FIND_IN_SET()函数一起使用。为了理解它,我们使用表“student_info”中的数据,如下所示:mysql>Select*fromstudent_info;+------+---------+----------+------------+|id |Name |Address |Subject |+-
-
将SQL模式启用为ALLOW_INVALID_DATES后,MySQL还将能够在表中存储无效日期。下面给出了示例来理解它-mysql>Insertintoorder1234(ProductName,Quantity,Orderdate)values('B',500,'2015-11-31');QueryOK,1rowaffected(0.06sec)mysql>Select*fromorder1234;+-------------+----------+----
-
假设我们有一个表“Order123”,其中包含ProductName、Quantity和OrderDate列,如下-mysql>Select*fromOrder123;+-------------+----------+------------+|ProductName|Quantity|OrderDate |+-------------+----------+------------+|A |100 &nbs
-
您可以在MySQL中启用ONLY_FULL_GROUP_BY,如以下查询所示-mysql>SETsql_mode='ONLY_FULL_GROUP_BY';QueryOK,0rowsaffected(0.01sec)如上所示,我们可以借助SET命令启用ONLY_FULL_GROUP_BY。借助以下查询禁用ONLY_FULL_GROUP_BY-mysql>SETGLOBALsql_mode=(SELECTREPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));Q
-
顾名思义,它用于从数据库中完全删除表。语法Droptabletable_name;示例mysql>DroptableStudent;QueryOK,0rowsaffected(0.09sec)上面的查询从数据库中完全删除了“Student”表。我们可以观察到MySQL在运行以下查询后返回一条错误消息-mysql>Select*fromStudent;ERROR1146(42S02):Table'query.student'doesn'texist
-
众所周知,BIN()函数将数字转换为二进制值后返回以DECIMAL为基数的二进制字符串。这样,可以认为与CONV(N,10,2)函数相同。这意味着CONV(N,10,2)的输出将与BIN()函数的输出相同。在CONV(N,10,2)函数中,'N'是要执行的数字。将被转换,10代表N的基数,即DECIMAL,2代表我们要将N转换为二进制字符串。示例下面的示例将演示BIN()的输出返回与CONV(N,10,2)相同mysql>SelectBIN(15);+---------+|BIN(15)|+----
-
创建MySQL表时,可以按如下方式指定存储引擎-mysql>CREATETABLEStudent(idINTEGERPRIMARYKEY,NameVARCHAR(15))->ENGINE='MyISAM';QueryOK,0rowsaffected(0.28sec)ENGINE关键字指定用于此特定表的存储引擎。
-
为了抑制警告,请将SQL_NOTES设置为0。让我们看一个例子。首先,我们将把SQL_NOTES设置为1−mysql>SETsql_notes=1;QueryOK,0rowsaffected(0.00sec)现在,让我们删除一个不存在的表。正如您所看到的,现在可以看到一条警告消息-mysql>droptableifexistsweb.DemoTable;QueryOK,0rowsaffected,1warning(0.07sec)要查看上面的警告消息,您只需使用SHOWWARNIN
-
当两个表通过外键连接,并且父表中的数据被删除时,如果子表中也存在该记录,则可以采取以下方式来维护数据完整性:级联删除如果从主表中删除了外键的值,此选项将同时从子表中删除该记录。置空删除 如果从主表中删除了外键的值,此选项将将子表中该记录的所有值设置为NULL。