Heim > Backend-Entwicklung > PHP-Tutorial > Grundlegendes Tutorial zu PHP und MySQL (4)

Grundlegendes Tutorial zu PHP und MySQL (4)

黄舟
Freigeben: 2023-03-03 15:32:02
Original
1426 Leute haben es durchsucht

Der Inhalt dieses Artikels befasst sich mit dem grundlegenden Tutorial von PHP und MySQL (IV). Ich hoffe, dass er für Freunde hilfreich ist.

SQL in MySQL

Bei MySQL müssen Sie sich als Erstes daran erinnern, dass jeder Befehlszeile ein Semikolon (;) vorangestellt ist. Es ist das Ende , aber... nichts ist absolut absolut, und das ist auch hier so.

Ich habe bereits erwähnt, dass es am besten ist, das folgende Semikolon wegzulassen, wenn eine MySQL-Zeile in den PHP-Code eingefügt wird, zum Beispiel:

mysql_query ("INSERT INTO tablename (first_name, last_name) 
VALUES ('$first_name', '$last_name') 
");
Nach dem Login kopieren

Das liegt an PHP Außerdem endet eine Zeile mit einem Semikolon. Manchmal verwirren zusätzliche Semikolons den PHP-Parser, daher ist es besser, sie wegzulassen. In diesem Fall wird das Semikolon zwar weggelassen, PHP fügt es jedoch automatisch für Sie hinzu, wenn Sie den MySQL-Befehl ausführen.

Es gibt eine andere Situation, in der Sie kein Semikolon hinzufügen müssen. Wenn Sie die gewünschte vertikale Anordnung der Felder anstelle der üblichen horizontalen Anordnung anzeigen möchten, können Sie eine Zeile mit SQL-Anweisungen mit G beenden. In diesem Fall ist kein Semikolon erforderlich, zum Beispiel:

SELECT * FROM PENPALS 
WHERE USER_ID = 1G
Nach dem Login kopieren

TEXT-, DATE- und SET-Datentypen

Für die Felder der MySQL-Datentabelle muss ein Datentyp definiert sein. Es gibt etwa 25 Optionen, von denen die meisten unkompliziert sind und keiner weiteren Erklärung bedürfen. Aber es gibt einige, die erwähnt werden müssen.

TEXT ist kein Datentyp, auch wenn dies in manchen Büchern behauptet wird. Es sollte eigentlich „LONG VARCHAR“ oder „MEDIUMTEXT“ sein. Das Format des Datentyps

DATE ist JJJJ-MM-TT, zum Beispiel: 1999-12-08. Sie können die Datumsfunktion ganz einfach verwenden, um die aktuelle Systemzeit in diesem Format zu erhalten:

date("Y-m-d")
Nach dem Login kopieren

Und Sie können zwischen DATA-Datentypen subtrahieren, um den Zeitunterschied in Tagen zu erhalten:

$age = ($current_date - $birthdate);
Nach dem Login kopieren

Das Set SET ist ein nützlicher Datentyp. Es ähnelt in gewisser Weise der Enumeration ENUM, außer dass SET mehrere Werte speichern kann und ENUM nur einen Wert speichern kann. Darüber hinaus kann der SET-Typ nur maximal 64 vordefinierte Werte haben, während der ENUM-Typ maximal 65.535 vordefinierte Werte verarbeiten kann. Und was ist, wenn wir eine Sammlung mit mehr als 64 Werten benötigen? Zu diesem Zeitpunkt müssen Sie mehrere Sammlungen definieren, um dieses Problem gemeinsam zu lösen.

Platzhalter

Es gibt zwei Arten von Platzhalterzeichen in SQL: „*“ und „%“. Wird in verschiedenen Situationen verwendet. Beispiel: Wenn Sie alle Inhalte der Datenbank sehen möchten, können Sie wie folgt abfragen:

SELECT * FROM dbname 
WHERE USER_ID LIKE '%';
Nach dem Login kopieren

Hier werden beide Platzhalter verwendet. Sie bedeuten dasselbe – sie stimmen beide mit einer beliebigen Zeichenfolge überein –, werden jedoch in unterschiedlichen Kontexten verwendet. „*“ wird zum Abgleichen von Feldnamen und „%“ zum Abgleichen von Feldwerten verwendet. Eine weitere Sache, die nicht leicht zu bemerken ist, ist, dass das Platzhalterzeichen „%“ zusammen mit dem Schlüsselwort LIKE verwendet werden muss.

Es gibt auch ein Platzhalterzeichen, nämlich den Unterstrich „_“. Er hat eine andere Bedeutung als oben und wird für die Übereinstimmung mit jedem einzelnen Zeichen verwendet.

NICHT NULL und leere Datensätze

Was passiert, wenn der Benutzer auf die Schaltfläche „Senden“ klickt, ohne etwas auszufüllen? Wenn Sie wirklich einen Wert benötigen, können Sie, wie bereits erwähnt, ein clientseitiges Skript oder ein serverseitiges Skript zur Datenvalidierung verwenden. In der Datenbank dürfen jedoch einige Felder leer bleiben und mit nichts gefüllt werden. Für solche Datensätze führt MySQL einige Dinge aus:

Fügen Sie den Wert NULL ein, was die Standardoperation ist.

Wenn Sie in der Felddefinition (beim Erstellen oder Ändern dieses Felds) dafür NOT NULL deklarieren, lässt MySQL dieses Feld leer und füllt es mit nichts.
Wenn Sie für ein Feld vom Typ ENUM-Aufzählung NOT NULL dafür deklarieren, fügt MySQL den ersten Wert des Aufzählungssatzes in das Feld ein. Mit anderen Worten: MySQL verwendet den ersten Wert im Aufzählungssatz als Standardwert für diesen Aufzählungstyp.

Es gibt einige Unterschiede zwischen einem Datensatz mit dem Wert NULL und einem leeren Datensatz. Das Platzhalterzeichen % kann mit leeren Datensätzen übereinstimmen, jedoch nicht mit NULL-Datensätzen. Irgendwann kann diese Unterscheidung unbeabsichtigte Folgen haben. Meiner Erfahrung nach sollte jedes Feld als NOT NULL deklariert werden. Auf diese Weise kann die folgende SELECT-Abfrageanweisung normal ausgeführt werden:

if (!$CITY) {$CITY = "%";} 
$selectresult = mysql_query ("SELECT * FROM dbname 
WHERE FIRST_NAME = ' 柳 ' 
AND LAST_NAME = ' 如风 ' 
AND CITY LIKE '$CITY' 
");
Nach dem Login kopieren

Wenn der Benutzer in der ersten Zeile keinen CITY-Wert angibt, wird als Ersatz das Platzhalterzeichen % verwendet die CITY-Variable, sodass jeder CITY-Wert bei der Suche berücksichtigt wird, auch Datensätze mit einem leeren CITY-Feld.

Aber wenn es einige Datensätze gibt, deren CITY-Feldwert NULL ist, dann entsteht ein Problem. Die obige Abfrage kann diese Felder nicht finden. Eine Lösung für das Problem kann wie folgt aussehen:

if (!$CITY) {$CITY = "%";} 
$selectresult = mysql_query ("SELECT * FROM dbname 
WHERE FIRST_NAME = ' 柳 ' 
AND LAST_NAME = ' 如风 ' 
AND (CITY LIKE '$CITY' OR CITY IS NULL) 
");
Nach dem Login kopieren

Beachten Sie, dass Sie bei der Suche nach NULL das Schlüsselwort „IS“ verwenden müssen und LIKE nicht ordnungsgemäß funktioniert.

Als letztes ist zu erwähnen, dass der Wert des neu hinzugefügten Felds im ursprünglichen Datensatz möglicherweise auch leer ist, wenn Sie bereits einige Datensätze in der Datenbank haben, bevor Sie ein neues Feld hinzufügen oder ändern. Dies kann als Fehler von MySQL angesehen werden, daher müssen Sie in diesem Fall besonders vorsichtig sein, wenn Sie SELECT-Abfragen verwenden.

Das Obige ist der Inhalt des PHP- und MySQL-Basis-Tutorials (4). Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!

Verwandte Empfehlungen:

Zusammenfassung der Grundkenntnisse von MySQL

Grundlegendes Tutorial zu PHP und MySQL (1)

Grundlegendes Tutorial zu PHP und MySQL (2)

Grundlegendes Tutorial zu PHP und MySQL (3)

Grundlegendes Tutorial zu PHP und MySQL Tutorial (4)

MySQL-Handbuch-Tutorial: http://www.php.cn/course/37.html

MySQL-Video-Tutorial: http://www.php.cn/course/list/51.html

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage