-
在市场上有这么多数据库,思维战争已经开始,现在是了解市场上三个最重要的关系数据库之间的区别和重要性的正确时机-MicrosoftSQLServer,OraclePL/SQL和MySQL。关系数据库管理系统目前已成为行业的支柱,由于有这么多选择,很难确定选择哪个。关系数据库管理系统在1980年代被引入。本文重点探讨了行业中三个流行的RDBMS的历史和特点:MicrosoftSQLServer,Oracle和MySQL。MicrosoftSQLServer和Oracle是商业软件,而MySQL是开源RDBMS
-
要获取特定MySQL数据库中的非空表列表,语法如下-SELECTtable_type,table_name,table_schemafrominformation_schema.tableswheretable_rows>=1andtable_schema='yourDatabaseName';为您的数据库实现上述语法。这里,我们的数据库是“test”。查询如下-mysql>selecttable_type,table_name,table_schemafrominformat
-
二元相等运算符比较其操作数是否严格相等或不相等。在MySQL中,如果两个操作数具有相同的值,则等于运算符(=)返回1,否则返回0。以下MySQL查询显示相等条件-mysql>Selecttender_valueFromestimated_costWHEREid=3;上面的查询显示了相等条件,因为列id等于整数值。mysql>Selecttender_valueFromestimated_cost1WHEREName_company='ChdLtd.';上面的查询显示了相等条件,
-
简介如果MySQL中有一个包含BLOB字段的表,您希望将其转换为JSON字段,则可以通过执行一系列ALTERTABLE语句来完成。该过程包括创建具有所需数据类型(JSON)的新列、将数据从旧列复制到新列、删除旧列以及将新列重命名为原始列名称。需要注意的是,BLOB字段用于存储二进制数据,而JSON是一种基于文本的数据表示格式。为了将BLOB字段转换为JSON字段,BLOB字段中的数据必须采用可以解析为JSON的格式。此外,在进行任何更改之前,最好先备份数据并在非生产环境中测试查询,以确保过程顺利进行。另外
-
MySQL视图可以通过使用AND、OR和NOT等逻辑运算符的组合来创建。可以借助以下示例进行说明-示例mysql>CreateorReplaceViewInfoASselectID,Name,Address,SubjectFROMStudent_infoWHERE(Subject='Computers'ANDADDRESS='Delhi')OR(Subject='History'ANDAddress='Amritsar');QueryO
-
如果MySQL会话终止,临时表将被删除。再次登录后,在发出SELECT命令时,我们将发现数据库中没有可用数据。甚至我们的临时表也不存在。
-
假设我们正在计算也有NULL值的列的值的总和,那么MySQLSUM()函数会忽略NULL值并计算其余值的总和。要理解它,请考虑以下表“employee”的示例,其中包含以下详细信息-mysql>Select*fromEmployee;+----+--------+--------+|ID|Name|Salary|+----+--------+--------+|1|Gaurav|50000||2|Rahul|20000||3|Advik|25000||4|Aarav|65000||5|Ram|200
-
我们可以借助ALTERTABLE语句将NOTNULL约束应用于现有MySQL表的列。语法ALTERTABLEtable_nameMODIFYcolum_namedatatypeNOTNULL; 示例mysql>Createtabletest123(IDINT,DateDATE);QueryOK,0rowsaffected(0.19sec)mysql>Describetest123;+-------+---------+------+-----+---------+-------+|F
-
假设我们想要恢复一个由mysqldump创建的文件,那么我们可以在现有数据库中恢复,也可以在创建该文件后在新数据库中恢复。然后借助SOURCE语句,我们就可以恢复它。我们可以通过一个例子来说明:示例在这个例子中,我们正在恢复名为已转储的student_info.sql。它基本上是在数据库名称“query”中。现在我们将其恢复到名为“tutorials”的数据库中。mysql>UseTutorials;Databasechangedmysql>SOURCEstudent_info.sql;Que
-
当我们向AUTO_INCRMENT列插入NULL值时,MySQL将返回序列号。示例mysql>Createtableemployee(idINTNOTNULLPRIMARYKEYAUTO_INCREMENT,NameVarchar(10));QueryOK,0rowsaffected(0.16sec)mysql>Insertintoemployee(id,Name)values(NULL,'Gaurav');QueryOK,1rowaffected(0.07sec)mysql&
-
要在MySQL数据库中插入日期,您的表中需要有一列类型为日期或日期时间的列。完成后,您需要将日期转换为字符串格式,然后再将其插入数据库。为此,您可以使用datetime模块的strftime格式化函数。示例fromdatetimeimportdatetimenow=datetime.now()id=1formatted_date=now.strftime('%Y-%m-%d%H:%M:%S')#Assumingyouhaveacursornamedcursoryouwanttoexecut
-
实际上“FOREACHROW”意味着更新或删除的每个匹配行。换句话说,我们可以说触发器并不应用于每一行,它只是说对每个受影响的表行执行触发器主体。我们可以通过以下示例来说明这一点-示例在此示例中,我们创建两个表,Sample和Sample_rowaffected,如下-mysql>CreatetableSample(idint,valuevarchar(20));QueryOK,0rowsaffected(0.47sec)mysql>InsertintoSample(id,value)valu
-
可以使用MySQLYum存储库或MySQLSLES在基于RPM的平台上升级MySQL使用RPM包升级如果需要使用直接从MySQL开发者专区下载的RPM包升级MySQL,请转到包含所有下载的包的文件夹(确保没有其他RPM包具有相似的名称),并使用以下命令-yuminstallmysql−community−{server,client,common,libs}−*对于SLES系统,yum被替换为zypper,对于支持dnf的系统,则被替换为dnf。最好使用yum等高级包管
-
有时,输入文本文件的第一行包含列的名称,要将此类文本文件中的数据导入MySQL表,我们需要使用“IGNOREROWS”选项。为了说明这一点,我们使用以下示例-示例以下是A.txt文件中的逗号分隔值-Id,Name,Country,Salary100,”Ram”,”INDIA”,25000101,”Mohan”,”INDIA”,28000我们希望将此数据导入到以下名为employee3_tbl的文件中-mysql
-
假设如果我们想要上传更改后的值而不是文本文件中写入的值,那么我们需要将用户变量与SET命令一起使用。可以通过以下示例来理解-示例假设我们在“A.txt”中有以下数据-105,Chum,USA,11000106,Danny,AUS,12000但是我们希望在导入时添加500后上传薪水值,而不更改文本文件中的薪水值,那么可以通过使用用户变量并借助以下查询来完成使用SET选项-mysql>LOADDATALOCALINFILE'd:\A.txt'INTOtableemployee11_tbl