返回顶部
首页 > 资讯 > 数据库 >MySQL应该学习的6件事是什么
  • 219
分享到

MySQL应该学习的6件事是什么

2024-04-02 19:04:59 219人浏览 独家记忆
摘要

本篇内容介绍了“Mysql应该学习的6件事是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 每一行

本篇内容介绍了“Mysql应该学习的6件事是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1. 每一行命令都是用分号 (;) 作为结束

对于 mysql ,***件你必须牢记的是它的每一行命令都是用分号 (;) 作为结束的,但当一行 Mysql 被插入在 PHP 代码中时,***把后面的分号省略掉,例如:
mysql_query ("INSERT INTO tablename (first_name, last_name) VALUES ('$first_name', $last_name')");
这是因为 php 也是以分号作为一行的结束的,额外的分号有时会让 PHP 的语法分析器搞不明白,所以还是省略掉的好。在这种情况下,虽然省略了分号,但是 PHP 在执行 MySQL 命令时会自动的帮你加上的。

2. 采用关联数组存取查询结果

看下面的例子:

$connection = mysql_connect("localhost", "albert", "shhh");  mysql_select_db("winestore", $connection);  $result = mysql_query("SELECT cust_id, surname,  firstname FROM customer", $connection);    while ($row = mysql_fetch_array($result))  {  echo "ID:t{$row["cust_id"]}n";  echo "Surnamet{$row["surname"]}n";  echo "First name:t{$row["firstname"]}nn";  }

 函数 mysql_fetch_array() 把查询结果的一行放入数组,可以同时用两种方式引用,例如 cust_id 可以同时用下面两种方式:$row["cust_id"] 或者$row[0] 。显然,前者的可读性要比后者好多了。

在多表连查中,如果两个列名字一样,***用别名分开:

SELECT winery.name AS wname, region.name AS rname, FROM winery, region WHERE winery.region_id = region.region_id;    列名的引用为:$row["wname"] 和 $row["rname"]

在指定表名和列名的情况下,只引用列名:

SELECT winery.region_id   FROM winery   列名的引用为: $row["region_id"]

聚集函数的引用就是引用名:

SELECT count(*) FROM customer; 列名的引用为: $row["count(*)"]

3. TEXT、DATE、和 SET 数据类型

MySQL 数据表的字段必须有定义一个数据类型。这有大约 25 种选择,大部分都是直接明了的,就不多费口舌了。但有几个有必要提一下。

TEXT 不是一种数据类型,虽然可能有些书上是这么说的。它实际上应该是“ LONG VARCHAR ”或者“ MEDIUMTEXT ”。

DATE 数据类型的格式是 YYYY-MM-DD ,比如: 1999-12-08 。你可以很容易的用 date 函数来得到这种格式的当前系统时间: date("Y-m-d")   并且,在 DATA 数据类型之间可以作减法,得到相差的时间天数:

$age = ($current_date - $birthdate);

集合 SET 是一个有用的数据类型,它和枚举 ENUM 有点相似,只不过是 SET 能够保存多个值而 ENUM 只能保存一个值而已。而且, SET 类型最多只能够有 64 个预定的值,而 ENUM 类型却能够处理最多 65,535 个预定义的值。而如果需要有大于 64 个值的集合,该怎么办呢,这时就需要定义多个集合来一起解决这个问题了。

4. 用 mysql_unbuffered_query() 开发快速的脚本

这个函数能用来替换 mysql_query() 函数,主要的区别就是 mysql_unbuffered_query() 执行完查询后马上返回,不需要等待或者对数据库。 但是返回的行数不能用mysql_num_rows() 函数来检查,因为输出的结果集大小未知。

5. 通配符

SQL 的通配符有两种:“ * ”和“ % ”。分别用在不同的情况下。例如:如果你想看到数据库的所有内容,可以像这样来查询:

SELECT * FROM dbname WHERE USER_ID LIKE '%';

这里,两个通配符都被用上了。他们表示相同的意思 ?? 都是用来匹配任何的字符串,但是他们用在不同的上下文中。“ * ”用来匹配字段名,而“ % ”用来匹配字段值。另外一个不容易引起注意的地方是“ % ”通配符需要和 LIKE 关键字一起使用。 还有一个通配符,就是下划线“ _ ”,它代表的意思和上面不同,是用来匹配任何单个的字符的。

6. NOT NULL 和空记录

如果用户在没有填任何东西的情况下按了 submit 按钮,会怎样呢?如果你确实需要一个值,那么可以用客户端脚本或者服务器端脚本来进行数据验证。但是,在数据库中却是允许一些字段被空出来什么也不填。对此类纪录, MySQL 将要为之执行一些事情:插入值 NULL ,即缺省的操作。
如果你在字段定义中为之声明了 NOT NULL (在建立或者修改这个字段的时候), MySQL 将把这个字段空出来什么东西也不填。对于一个 ENUM 枚举类型的字段,如果你为之声明了 NOT NULL , MySQL 将把枚举集的***个值插入到字段中。也就是说, MySQL 把枚举集的***个值作为这个枚举类型的缺省值。

一个值为 NULL 的纪录和一个空纪录是有一些区别的。 % 通配符可以匹配空纪录,但是却不能匹配 NULL 纪录。在某些时候,这种区别会造成一些意想不到的后果。就我的经验而言,任何字段都应该声明为 NOT NULL 。这样许多的SELECT 查询语句就能够正常运转了。注意在搜索 NULL 时,必须用“ IS ”关键字,而 LIKE 是不会正常工作的。 在***要提到的是,如果你在加入或者修改一个新的字段之前,数据库中已经有了一些记录了,这时新加入的字段在原来的纪录中的值,可能是 NULL ,也可能为空。这也算是 MySQL 的一个 Bug 吧,所以在这种情况下,使用 SELECT 查询要特别的小心。

“MySQL应该学习的6件事是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL应该学习的6件事是什么

本文链接: https://www.lsjlt.com/news/69378.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL应该学习的6件事是什么
    本篇内容介绍了“MySQL应该学习的6件事是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 每一行...
    99+
    2024-04-02
  • 为什么应该学习C#
    学习C#有许多好处,以下是几个主要原因:广泛应用:C#是一种通用的、面向对象的编程语言,它被广泛应用于各种平台和领域,包括Windows应用程序、移动应用程序、Web开发、游戏开发等。学习C#可以为你打开更广阔的就业机会和发展空间。容易上手...
    99+
    2023-10-22
    C#使用
  • 为什么Java的开发者应该学习NumPy,而Laravel的开发者应该学习对象操作?
    在软件开发领域,每个开发者都有自己的专业领域和技能。然而,为了成为一名全面的开发者,我们需要学习不同的技能和工具,以便更好地应对各种挑战。在本文中,我们将探讨为什么Java的开发者应该学习NumPy,而Laravel的开发者应该学习对象操...
    99+
    2023-06-23
    laravel 对象 numy
  • 为什么 Java 开发者应该学习 Django?
    Java 和 Django 都是非常流行的编程语言和框架,它们各自都有自己的优势和适用场景。然而,对于 Java 开发者来说,学习 Django 可能会是一个非常有价值的经验。在本文中,我们将探讨为什么 Java 开发者应该学习 Djang...
    99+
    2023-07-31
    git django ide
  • 学习JavaScript中的闭包closure应该注意什么
    目录闭包简述1.闭包使得内部函数可以访问外部函数的属性(变量或方法)2.闭包的广阔应用场景3.用闭包模拟私有方法4.从性能角度考虑,非必要不使用闭包闭包简述 Mozilla 上这样解...
    99+
    2024-04-02
  • Web 2.0需要向SOA学习的五件大事是什么
    Web 2.0需要向SOA学习的五件大事是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。作为互联网的趋势,Web 2.0需要像SOA学习什...
    99+
    2024-04-02
  • 为什么 Java 开发者应该学习 Git 和 Apache?
    在当今数字化时代,软件开发已经成为了生产力和竞争力的关键所在。在这个过程中,Java 是最受欢迎和广泛使用的编程语言之一,而 Git 和 Apache 则是最受欢迎和广泛使用的工具之一。那么,本文将为您解答。 一、Git Git 是什么...
    99+
    2023-09-04
    git apache windows
  • 关于系统学习Linux云计算运维,应该怎么什么学?
      随着近年来经济的快速发展,企业对Linux人才的需求也越来越高。许多人认为,Linux是一个非常简单的行业,然而,Linux行业是一个综合了云计算、Linux运维、Linux开发、Linux编程等多方面专业知识的综合性行业。开始也许并不...
    99+
    2023-06-05
  • MySQL中什么是事件
    MySQL中什么是事件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在MySQL5.1中新增了一个特色功能事件调度器(Even...
    99+
    2024-04-02
  • 为什么 PHP 开发者应该学习 LeetCode 和 NPM 打包?
    随着互联网的快速发展,人们对于网站的要求越来越高,这也促进了网站开发技术的不断更新和升级。PHP 作为一门广泛应用于互联网开发的编程语言,其开发者们也需要不断学习新的知识和技能,以适应市场的需求。在这篇文章中,我们将会讨论为什么 PHP ...
    99+
    2023-08-15
    leetcode npm 打包
  • MySQL学习之临时表是什么
    这篇文章给大家分享的是有关MySQL学习之临时表是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。临时表临时表可以分为磁盘临时表和内存临时表,而临时文件,只会存在于磁盘上,不会...
    99+
    2024-04-02
  • 学习视频剪辑,最不应该错过的就是它!
    今天介绍的是一款好用的视频剪辑软件,可以帮助你实现无限创意,各种不同类型的创意思维,只要你轻轻一点,就能轻松实现哦~来看看今天整理的内容吧! https://www.macz.com/news/5099.h...
    99+
    2024-04-02
  • 0基础Python入门学习路线图应该是怎样的?
    Python因语法简洁功能强大,受到了很多初学者的喜爱,很多人奔着就业的目的自学Python,那么在自学之前,小优会首先建议同学先充分了解Python的岗位性质,工作内容,然后通过网课自学先试学一下,如果自己真的感兴趣,就可以规划自己的学习...
    99+
    2023-06-02
  • ASP 响应是什么?学习笔记分享!
    ASP响应是什么?学习笔记分享! ASP(Active Server Pages)是一种基于服务器端的Web应用程序开发技术。在ASP中,响应(Response)是指Web服务器向客户端发送数据的过程。在本文中,我们将介绍ASP响应的基本概...
    99+
    2023-10-18
    响应 学习笔记 分布式
  • robots.txt文件中应该屏蔽的目录是什么
    这篇文章将为大家详细讲解有关robots.txt文件中应该屏蔽的目录是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。你真的知道网站的robots.txt文件设置是否合理,哪些文件或者目录...
    99+
    2023-06-12
  • 为什么我们应该学习如何引入第三方框架的CSS
    学习CSS引入第三方框架的必要性,需要具体代码示例 引言:在开发网页时,为了更高效地实现各种样式和布局,使用CSS框架是非常常见的。而在选择CSS框架时,我们可以选择使用第三方框架,它们提供了强大的功能和丰富的样式库,可以帮助我...
    99+
    2024-01-16
    必要性 CSS学习 引入框架
  • Flutter事件监听与EventBus事件应用的方法是什么
    这篇文章主要介绍“Flutter事件监听与EventBus事件应用的方法是什么”,在日常操作中,相信很多人在Flutter事件监听与EventBus事件应用的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家...
    99+
    2023-07-06
  • mysql中Binlog事件的结构是什么
    今天就跟大家聊聊有关mysql中Binlog事件的结构是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、说明一个事件对象分为事件头和事件体。如果事件头的长度是x字节,那么事件体...
    99+
    2023-06-15
  • 前端开发人员在2020年应学习的10件事
    毫无疑问,前端开发将成为2020年技术领域最热门的学科之一。以前,前端空间的开发人员只要了解一些HTML,CSS,也许还有jQuery来创建交互式网站,就足够了。但是今天,他们面临着广泛且不断变化的开发技能生态系统;掌握的工具,库和框架;并...
    99+
    2023-06-03
  • 深度学习和机器学习的区别是什么
    深度学习是机器学习的一个分支,其主要区别在于模型的复杂性和层次结构。深度学习使用多层神经网络来学习复杂的特征,而机器学习通常使用较简...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作