데이터 베이스 MySQL 튜토리얼 PHP中操作MySQL的需注意的问题_MySQL

PHP中操作MySQL的需注意的问题_MySQL

Jun 01, 2016 pm 01:52 PM
최대

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

  对于 MySQL ,第一件你必须牢记的是它的每一行命令都是用分号 (;) 作为结束的,但……没有完全绝对的事,在这儿也是一样,当一行 MySQL 被插入在 PHP 代码中时,最好把后面的分号省略掉,例如:

mysql_query ("INSERT INTO tablename (first_name, last_name) VALUES ('$first_name', $last_name')");

  这是因为 PHP 也是以分号作为一行的结束的,额外的分号有时会让 PHP 的语法分析器搞不明白,所以还是省略掉的好。在这种情况下,虽然省略了分号,但是 PHP 在执行 MySQL 命令时会自动的帮你加上的。

  另外还有一个不要加分号的情况。当你想把要字段的竖者排列显示下来,而不是像通常的那样横着排列时,你可以用 G 来结束一行 SQL 语句,这时就用不上分号了,例如:

SELECT * FROM PENPALS WHERE USER_ID = 1G

  2. 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 个值的集合,该怎么办呢?这时就需要定义多个集合来一起解决这个问题了。

  3. 通配符

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

SELECT * FROM dbname WHERE USER_ID LIKE '%';

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

  还有一个通配符,就是下划线“ _ ”,它代表的意思和上面不同,是用来匹配任何单个的字符的。

  4. NOT NULL 和空记录

  如果用户在没有填任何东西的情况下按了 submit 按钮,会怎样呢?如果你确实需要一个值,那么可以用客户端脚本或者服务器端脚本来进行数据验证,这一点在前面已经说过了。但是,在数据库中却是允许一些字段被空出来什么也不填。对此类纪录, MySQL 将要为之执行一些事情:插入值 NULL ,这是缺省的操作。

  如果你在字段定义中为之声明了 NOT NULL (在建立或者修改这个字段的时候), MySQL 将把这个字段空出来什么东西也不填。对于一个 ENUM 枚举类型的字段,如果你为之声明了 NOT NULL , MySQL 将把枚举集的第一个值插入到字段中。也就是说, MySQL 把枚举集的第一个值作为这个枚举类型的缺省值。

  一个值为 NULL 的纪录和一个空纪录是有一些区别的。 % 通配符可以匹配空纪录,但是却不能匹配 NULL 纪录。在某些时候,这种区别会造成一些意想不到的后果。就我的经验而言,任何字段都应该声明为 NOT NULL 。这样下面的 SELECT 查询语句就能够正常运转了:

if (!$CITY) {$CITY = "%";}

$selectresult = mysql_query ("SELECT * FROM dbname

WHERE FIRST_NAME = ' 柳 '

AND LAST_NAME = ' 如风 '

AND CITY LIKE '$CITY'

");

  在第一行中,如果用户没有指定一个 CITY 值,那么就会用通配符 % 来代入 CITY 变量,这样搜索时就会把任何的 CITY 值都考虑进去,甚至包括那些 CITY 字段为空的纪录。

  但是如果有一些纪录,它的 CITY 字段值是 NULL ,这时问题就出现了。上面的查询是不能够找到这些字段的。问题的一个解决办法可以是这样:

if (!$CITY) { $CITY = "%"; }

$selectresult = mysql_query ("SELECT * FROM dbname

WHERE FIRST_NAME = ' 柳 '

AND LAST_NAME = ' 如风 '

AND (CITY LIKE '$CITY' OR CITY IS NULL)

");

  注意在搜索 NULL 时,必须用“ IS ”关键字,而 LIKE 时不会正常工作的。

  在最后要提到的是,如果你在加入或者修改一个新的字段之前,数据库中已经有了一些记录了,这时新加入的字段在原来的纪录中的值,可能是 NULL ,也可能为空。这也算是 MySQL 的一个 Bug 吧,所以在这种情况下,使用 SELECT 查询要特别的小心。

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

가성비 좋은 1155핀 CPU 추천해주세요 가성비 좋은 1155핀 CPU 추천해주세요 Jan 14, 2024 pm 01:30 PM

현재 성능이 가장 좋은 1155핀 CPU는 인텔 Corei7-3770K 추천해주세요. 4코어 8스레드, 기본 주파수 3.5GHz, 최대 3.9GHz까지 도달할 수 있는 TurboBoost2.0 기술을 지원합니다. 또한 8MB의 레벨 3 캐시를 탑재하고 있으며 Intel Core i73770K 중 가장 강력한 CPU인 LGA1155 핀을 탑재한 뛰어난 프로세서입니다. LGA1155 인터페이스는 2세대 및 3세대 Core 프로세서에서 사용되는 인터페이스 유형입니다. 이 프로세서의 매개변수는 다음과 같습니다. 1. 적용 가능한 유형: 데스크탑, Core i7; .

NEAR 프로토콜 코인이란 무엇입니까? NEAR 프로토콜 통화의 특징은 무엇입니까? NEAR 프로토콜 코인이란 무엇입니까? NEAR 프로토콜 통화의 특징은 무엇입니까? Mar 04, 2024 pm 11:20 PM

NEARProtocol: 확장 가능하고 사용자 친화적인 블록체인 플랫폼 NEARProtocol은 확장성, 사용자 친화성 및 보안 측면에서 블록체인 기술이 직면한 문제를 해결하도록 설계된 샤딩 기술을 사용하는 블록체인 플랫폼입니다. 개발자에게 분산형 애플리케이션(dApp)을 쉽게 구축하고 배포할 수 있는 효율적이고 사용자 친화적인 플랫폼을 제공합니다. NEARProtocol은 높은 수준의 효율성과 보안을 제공하면서 블록체인 개발 장벽을 낮추도록 설계되었습니다. NEARProtocol은 샤딩 기술을 채택함으로써 대규모 거래를 더 잘 처리하고 사용자에게 더 빠른 거래 확인 시간을 제공할 수 있습니다. 전반적으로 NEARProtocol은 다음을 제공하도록 설계되었습니다.

어떤 그래픽 카드 인터페이스가 가장 잘 작동합니까? 어떤 그래픽 카드 인터페이스가 가장 잘 작동합니까? Feb 22, 2024 am 10:51 AM

컴퓨터 기술의 급속한 발전과 함께 그래픽 카드는 컴퓨터의 중요한 구성 요소 중 하나로 게임, 그래픽 디자인 및 기타 분야에서 중추적인 역할을 하고 있습니다. 그래픽 카드 인터페이스는 그래픽 카드와 마더보드를 연결하는 브리지로, 그래픽 카드의 성능과 효과에 영향을 미칩니다. 그렇다면 어떤 그래픽 카드 인터페이스가 가장 잘 작동할까요? 현재 시장에는 PCI, AGP 및 PCIe의 세 가지 일반적인 그래픽 카드 인터페이스가 있습니다. 그중 PCI 인터페이스는 초기 표준 인터페이스이며 상대적으로 오래되었습니다. 일부 오래된 컴퓨터 또는 단순한 사무실 요구 사항의 경우

Antec 650 전원 공급 장치 마더보드 케이블 인터페이스의 핀 수는 몇 개입니까? (Antec 650 전원 배선도) Antec 650 전원 공급 장치 마더보드 케이블 인터페이스의 핀 수는 몇 개입니까? (Antec 650 전원 배선도) Jan 03, 2024 am 10:46 AM

Antec 650w 마더보드 케이블에는 몇 개의 핀이 있습니까? Antec 650W 전원 공급 장치 마더보드의 전원 케이블은 일반적으로 마더보드에서 가장 큰 전원 인터페이스인 24핀입니다. 그 기능은 마더보드와 전원 공급 장치를 연결하여 마더보드와 기타 시스템 구성 요소에 전원을 공급하는 것입니다. 또한 Antec 650W 전원 공급 장치에는 CPU 및 독립 그래픽 카드와 같은 다른 구성 요소를 연결하기 위한 CPU8핀, PCIe6+2핀 등과 같은 다른 유형의 전원 인터페이스도 포함될 수 있습니다. 마더보드 라우팅 튜토리얼 마더보드 라우팅은 마더보드를 설계할 때 다양한 전자 부품 간에 회로를 연결하는 프로세스입니다. 이 과정에서는 회로 안정성, 신호 전송 속도, 정확도 등의 요소를 고려해야 합니다. 회로도에 따라 배선을 배선할 때 레이아웃에 주의하고 적절한 선 폭과 거리를 선택하여 피하십시오.

최고의 Python 리소스는 무엇입니까? 최고의 Python 리소스는 무엇입니까? Sep 16, 2023 pm 02:29 PM

모든 프로그래밍 언어에 대한 리소스에는 비디오 강의, 노트, 전자책이 포함됩니다. 여기에서는 Python에 대한 최고의 리소스를 나열하겠습니다. Python 공식 문서 많은 웹사이트에서 Python 리소스를 제공하지만 공식 문서가 가장 좋습니다. 그들이 제공하는 리소스를 살펴보겠습니다. Python 초보자 가이드 - https://wiki.python.org/moin/BeginnersGuide Python 개발자 가이드 - https://devguide.python.org/무료 Python 책 − https://wiki.python.org/moin/PythonBooksPyth

최고의 공냉식 라디에이터는 무엇입니까? 최고의 공냉식 라디에이터는 무엇입니까? Jan 25, 2024 am 11:06 AM

컴퓨터를 선택할 때 대부분의 사용자는 열 방출 문제에 주의를 기울입니다. 따라서 현재 공냉식 라디에이터는 저렴하고 비용 효율적이기 때문에 매우 인기가 있습니다. 그러나 대부분의 사용자는 어느 것이 가장 좋은지 잘 이해하지 못합니다. 현 상황에서는 발키리가 제일 좋습니다. 어떤 공냉식 라디에이터가 가장 좋은가요? A: 현재 래더 차트에 따르면 가장 좋은 것은 Valkyrie의 "vk Star Ring GL360"입니다. 이 수냉식 쿨러의 성능은 폭발적이며, 가격도 매우 좋아서 초보 사용자에게는 절대 부담이 되지 않을 것입니다. vk Starring GL360 관련 소개: 1. 이 수냉식 제품은 보기에도 좋고 설치도 비교적 간단합니다. 초보자도 작동하기 매우 편리합니다. 2. 부채는 전체적으로 매우 단순합니다. 로고에도 회전하는 원이 있어 지루합니다.

win10을 다운로드하기에 가장 좋은 웹사이트는 어디인가요? win10을 다운로드하기에 가장 좋은 웹사이트는 어디인가요? Jun 29, 2023 pm 07:33 PM

win10을 다운로드하기에 가장 좋은 웹사이트는 어디입니까? 요즘에는 많은 친구들이 시스템을 온라인으로 다운로드하고 설치하거나 다시 설치하는 것을 좋아합니다. 그러면 어떤 웹사이트가 win10 시스템을 다운로드하는 데 좋은가요? 아래의 win10 시스템용 웹사이트를 다운로드하세요. 좋은 소개입니다. 관심이 있으시면 편집자를 따라 아래를 읽어보세요! win10 시스템 다운로드 웹사이트에 대한 좋은 소개 답변: 시스템 520이 최고입니다. 여기의 시스템은 안전하고 신뢰할 수 있으며 설치 방법도 매우 간단하여 모든 사용자에게 적합합니다. 1. 이 시스템에는 여러 가지 이점이 있습니다. 2. 우선, 모든 시스템이 오류 없이 정상적으로 설치될 수 있도록 안전성과 신뢰성을 보장합니다. 3. 둘째, 설치 작업이 매우 간단하며 원클릭으로 시스템이 설치됩니다.

최상의 컴퓨터 구성을 선택하는 방법 최상의 컴퓨터 구성을 선택하는 방법 Feb 21, 2024 am 11:18 AM

최고의 컴퓨터 구성을 선택하는 방법 지속적인 기술 발전으로 컴퓨터는 우리의 업무 요구를 충족할 뿐만 아니라 오락과 여가를 제공하는 우리 삶의 필수적인 부분이 되었습니다. 컴퓨터를 선택할 때 우수한 구성이 매우 중요합니다. 이 기사에서는 컴퓨터 구성 구매 시 몇 가지 중요한 요소와 팁을 소개합니다. 첫째, 우리는 우리 자신의 필요를 고려해야 합니다. 사람들은 각기 다른 목적으로 컴퓨터를 사용합니다. 어떤 사람들은 주로 일상적인 사무 작업과 인터넷 브라우징을 위해 컴퓨터를 사용하는 반면, 어떤 사람들은 고성능 게임이나 전문적인 용도로 컴퓨터를 필요로 할 수도 있습니다.

See all articles