我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

本篇内容介绍了“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件事是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

robots.txt文件中应该屏蔽的目录是什么

这篇文章将为大家详细讲解有关robots.txt文件中应该屏蔽的目录是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。你真的知道网站的robots.txt文件设置是否合理,哪些文件或者目录
2023-06-12

为什么我们应该学习如何引入第三方框架的CSS

学习CSS引入第三方框架的必要性,需要具体代码示例引言:在开发网页时,为了更高效地实现各种样式和布局,使用CSS框架是非常常见的。而在选择CSS框架时,我们可以选择使用第三方框架,它们提供了强大的功能和丰富的样式库,可以帮助我们快速构建出
为什么我们应该学习如何引入第三方框架的CSS
2024-01-16

Flutter事件监听与EventBus事件应用的方法是什么

这篇文章主要介绍“Flutter事件监听与EventBus事件应用的方法是什么”,在日常操作中,相信很多人在Flutter事件监听与EventBus事件应用的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家
2023-07-06

mysql中Binlog事件的结构是什么

今天就跟大家聊聊有关mysql中Binlog事件的结构是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、说明一个事件对象分为事件头和事件体。如果事件头的长度是x字节,那么事件体
2023-06-15

docker在深度学习任务中的应用是什么

本篇内容主要讲解“docker在深度学习任务中的应用是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“docker在深度学习任务中的应用是什么”吧!1 软件安装之痛Docker是一种容器技术,
2023-06-19

云计算教程学习入门视频课件:云应用是什么?

云计算作为当今IT技术当中比较核心发展一项技术方面,开始被越来越多的企业所关注,我们都知道,任何云计算服务都是需要建立一个十分强大的基础设施,这些技术设施其实就是由众多的硬件设备,比如服务器、防火墙等硬件设备组成的,成千上万台服务器所组成的
2023-06-04

Go 协程在人工智能和机器学习中的应用是什么?

go 协程在人工智能和机器学习领域的应用包括:实时训练和预测:并行处理任务,提高性能。并行超参数优化:同时探索不同设置,加快训练。分布式计算:轻松分布任务,利用云或集群优势。Go 协程在人工智能和机器学习中的应用Go 协程是一种轻量级线程
Go 协程在人工智能和机器学习中的应用是什么?
2024-05-21

并发编程在人工智能和机器学习中的应用是什么?

并发编程在人工智能和机器学习中的应用并发编程是指允许多个任务或线程同时执行的能力。在人工智能(AI)和机器学习(ML)领域,并发编程至关重要,因为它允许同时执行多个计算密集型任务,从而显著提升性能和效率。实战案例:并行神经网络训练神经
并发编程在人工智能和机器学习中的应用是什么?
2024-05-07

lambda 表达式在 GUI 编程和事件处理中的应用是什么?

lambda 表达式在 gui 编程和事件处理中,可用于简洁地定义内联函数,以方便:为小部件分配事件处理程序(如按钮单击事件);将回调函数传递给事件循环(如键盘按下事件)。例如,在 gui 编程中,lambda 表达式可用于为一个按钮创建单
lambda 表达式在 GUI 编程和事件处理中的应用是什么?
2024-04-25

6年全栈工程师回答:web前端的主要学习什么,现在还有前途吗?一般工资是多少?

首选我不明白你为啥没有对前端工程师这个行业在有一定了解之后再展开学习,下面备注是说正在学习这个,我就一脸问号了(?????) 可能你还是大学生吧,对于工资多少,不同地区,一线二线,三线四线城市都是有差异的,你可以通过招聘网站去看,眼见为实嘛
2023-06-03

编程热搜

目录