Datenbanknamen VERWENDEN
mysql> USE D1; Database changed
Verwenden Sie VERWENDEN Sie D1; Datenbank D1, wir können die aktuell geöffnete Datenbank über SELECT DATABASE(); anzeigen:
mysql> SELECT DATABASE(); +------------+ | DATABASE() | +------------+ | d1 | +------------+1 row in set (0.00 sec)
TABELLE ERSTELLEN [ IF NOT EXISTS] table_name (
column_name datatype,
...
)
Diese Struktur ist sehr einfach, für [IF NOT EXISTS] war sie es im ersten Artikel „MySQL-Grundoperationen“ erläutert und wird hier nicht wiederholt.
Erstellen wir eine Datentabelle Tabelle1:
mysql> CREATE TABLE table1( -> username VARCHAR(20), -> age TINYINT UNSIGNED, -> salary FLOAT(8,2) UNSIGNED -> ); Query OK, 0 rows affected (0.74 sec)
Beachten Sie, dass UNSIGNED hier einen vorzeichenlosen Wert darstellt, der eine positive Zahl ist. Sie können die „MySQL-Basis“ überprüfen Datentypen“ ” Ansicht, TINYINT UNSIGNED stellt einen Wert zwischen 0 und 255 dar.
Dies zeigt an, dass die Erstellung erfolgreich war:
SHOW TABLES [FROM db_name][LIKE 'pattern' |]
mysql> SHOW TABLES FROM D1; +--------------+ | Tables_in_d1 | +--------------+ | table1 | +--------------+1 row in set (0.00 sec)
Hier können wir sehen, dass Tabelle1 erstellt wurde.
Spalten aus Tabellenname anzeigen
mysql> SHOW COLUMNS FROM table1; +----------+---------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+---------------------+------+-----+---------+-------+ | username | varchar(20) | YES | | NULL | | | age | tinyint(3) unsigned | YES | | NULL | | | salary | float(8,2) unsigned | YES | | NULL | | +----------+---------------------+------+-----+---------+-------+3 rows in set (0.10 sec)
Nach dem Erstellen der Tabelle schreiben Geben Sie die Daten ein und fügen Sie den Datensatz mit der folgenden Anweisung ein:
INSERT [INTO] tbl_name [(col_name,...)] VALUE(val,...)
Hier ist [(col_name,...)] optional. Wenn es nicht hinzugefügt wird, müssen die Werte in VALUE einzeln den Feldern der Datentabelle entsprechen, andernfalls kann dies nicht der Fall sein Werfen wir einen Blick darauf:
mysql> INSERT table1 VALUE("LI",20,6500.50); Query OK, 1 row affected (0.14 sec)
Die VALUE-Klammern hier entsprechen eins zu eins den Feldern von Tabelle1, nämlich Benutzername = „LI“, Alter = 20, Gehalt = 6500,50
Als nächstes fügen wir ein weiteres Datenelement ein, aber es gibt keine Übereinstimmung:
mysql> INSERT table1 Value("Wang",25); ERROR 1136 (21S01): Column count doesn't match value count at row 1
kann nicht eingefügt werden, da kein Gehaltswert angegeben ist.
Durch das Hinzufügen von [(col_name,...)] können Sie Daten flexibel einfügen:
mysql> INSERT table1(username,age) VALUE("Wang",25); Query OK, 1 row affected (0.11 sec)
Tabelle1 entspricht VALUE eins zu eins.
Zuvor wurden zwei Datenelemente eingefügt. Sie können Tabellendaten mit der folgenden Anweisung nachschlagen:
SELECT expr,.. . FROM tbl_name
Für die Datenbanksuchanweisung SELECT gibt es eine Menge Inhalt. Wir verwenden eine einfache Anweisung, um den Inhalt der Tabelle zu finden >
mysql> SELECT * FROM table1 -> ; +----------+------+---------+ | username | age | salary | +----------+------+---------+ | LI | 20 | 6500.50 | | Wang | 25 | NULL | +----------+------+---------+2 rows in set (0.00 sec)
Tabelle2:
mysql> CREATE TABLE table2( -> username VARCHAR(20) NOT NULL, -> age TINYINT UNSIGNED NULL, -> salary FLOAT(8,2) -> );
mysql> SHOW COLUMNS FROM table2; +----------+---------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+---------------------+------+-----+---------+-------+ | username | varchar(20) | NO | | NULL | | | age | tinyint(3) unsigned | YES | | NULL | | | salary | float(8,2) | YES | | NULL | | +----------+---------------------+------+-----+---------+-------+3 rows in set (0.01 sec)
AUTO_INCREMENTAuto_Inkrement, automatisch, Inkrement bedeutet Erhöhung. In Kombination bedeutet es automatische Erhöhung, das heißt, es kann automatisch erfolgen Erhöhen Sie sich entsprechend der höchsten fortlaufenden Nummer.
mysql> CREATE TABLE table3( -> id SMALLINT UNSIGNED AUTO_INCREMENT, -> username VARCHAR(20) -> ); ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key
PRIMÄRSCHLÜSSEL
mysql> CREATE TABLE table3( -> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, -> username VARCHAR(20) -> ); Query OK, 0 rows affected (0.42 sec)
mysql> INSERT table3(username) VALUES("Zhang"); Query OK, 1 row affected (0.09 sec) mysql> INSERT table3(username) VALUES("Weng"); Query OK, 1 row affected (0.07 sec) mysql> INSERT table3(username) VALUES("Chen"); Query OK, 1 row affected (0.09 sec) mysql> SELECT * FROM table3; +----+----------+ | id | username | +----+----------+ | 1 | Zhang | | 2 | Weng | | 3 | Chen | +----+----------+3 rows in set (0.00 sec)
EINZIGARTIGER SCHLÜSSEL
mysql> CREATE TABLE table4( -> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, -> username VARCHAR(20) UNIQUE KEY, -> age TINYINT UNSIGNED -> ); Query OK, 0 rows affected (0.43 sec) mysql> INSERT table4(username) VALUE("Li"); Query OK, 1 row affected (0.11 sec) mysql> INSERT table4(username) VALUE("Li"); ERROR 1062 (23000): Duplicate entry 'Li' for key 'username' mysql> INSERT table4(username) VALUE("Chen"); Query OK, 1 row affected (0.10 sec)
DEFAULT fest. Wenn beim Einfügen von Daten kein entsprechender Wert angegeben wird, wird der Standardwert verwendet besteht darin, den Standardwert der Zahl auf 3 festzulegen. Beim Einfügen von Daten ist der Standardwert 3, da die Zahl nicht angegeben ist.
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der MySQL-Datentabellenoperationen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!