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

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

本文介绍了“MySQL应该学习的六件事是什么?”很多人在实际案例的操作中会遇到这样的困难。接下来,让边肖带领大家学习如何应对这些情况!希望大家认真阅读,学点东西!

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

对于MySQL,* * *,您必须记住它的每一行命令都是用分号(;)作为结尾,但是当一行MySQL被插入到PHP代码中时,* * *省略了它后面的分号,例如:

MySQL _ query(' INSERT INTO tablename(first _ name,last _ name)VALUES($ first _ name ',$ last _ name ')));

这是因为PHP也以分号作为行尾,多余的分号有时会让PHP的解析器感到困惑,所以最好省略掉它们。在这种情况下,虽然省略了分号,但是在执行MySQL命令时,PHP会自动为您添加分号。

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

请看下面的例子:

$ connection=MySQL _ connect(' localhost ',' albert ',' shhh ');mysql_select_db('winestore ',$ connection);$ result=MySQL _ query(' SELECTcust _ id,姓氏,firstnameFROMcustomer ',$ connection);while($ row=MySQL _ fetch _ array($ result)){ echo ' id :t { $ row[' cust _ id ']} n ';echo'Surnamet{$row['姓氏']} n ';echo ' first name :t { $ row[' first name ']} nn ';mysql _ fetch _ array()函数将一行查询结果放入一个数组中,可以用两种方式同时引用。例如,cust_id可以同时以以下两种方式使用:$row['cust_id']或$row[0]。显然,前者的可读性要比后者好得多。

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

选择酒厂.名称名称名称,地区.名称名称,来自酒厂,地区所在酒厂.地区_ id=地区.地区_ id;列的引用是:$row['wname']和$ row[' rname ']在指定表名和列名的情况下,只引用列名:.

选择酿酒厂列名的引用。区域_ idfromcountry为:$ row[' region _ id ']聚集函数的引用就是引用名: .

从客户中选择计数(*);列名的引用是:$ row[' count(*)]3. TEXT、DATE、和 SET 数据类型 .

MySQL数据表的字段必须定义数据类型。大概有25个选项,大部分都很直白,不要白费口舌。但是有几个需要提一下。

文本不是一种数据类型,尽管有些书可能会这么说。它实际上应该是“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件事是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/133168.html

(0)

相关推荐

  • Python如何移植到IMX6ULL开发板上

    技术Python如何移植到IMX6ULL开发板上这篇文章主要讲解了“ Python如何移植到IMX6ULL开发板上”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ Pyth

    攻略 2021年11月23日
  • Scrapy框架使用代理IP要点是什么

    技术Scrapy框架使用代理IP要点是什么Scrapy框架使用代理IP要点是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。scrapy框架通过模块化

    攻略 2021年10月28日
  • C#泛型委托是什么

    技术C#泛型委托是什么本篇内容主要讲解“C#泛型委托是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#泛型委托是什么”吧!C# 泛型委托学习之前首先来看看什么是C# 委

    攻略 2021年12月2日
  • 抖音如何刷粉,抖音刷粉可以上热门吗?

    技术抖音如何刷粉,抖音刷粉可以上热门吗?抖音上热门原理,绝大部分是依据抖音作品赞的数量,作品赞越多,说明作品质量越好,那么上热门的几率当然大大的提高。通过代刷网在线刷的双击都是真人点击,可有效提高作品质量,增加上热门几率

    测评 2021年10月26日
  • 上下渐变的css如何实现

    技术上下渐变的css如何实现小编给大家分享一下上下渐变的css如何实现,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

    攻略 2021年11月18日
  • 如何加速Hibernate应用程序开发

    技术如何加速Hibernate应用程序开发本篇内容主要讲解“如何加速Hibernate应用程序开发”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何加速Hibernate应用

    攻略 2021年12月4日