Maison > Article > base de données > Quelles sont les instructions de base pour l’ajout, la suppression, la modification et l’interrogation d’une base de données ?
Instructions de base pour l'ajout, la suppression, la modification et l'interrogation dans la base de données : "INSERT INTO table name field list VALUES (value list)", "DELETE FROM table name WHERE clause", "UPDATE table name SET column = valeur clause WHERE", "SELECT * FROM nom de la table".
(Tutoriel recommandé : Tutoriel vidéo MySQL)
Instructions de base pour l'ajout de bases de données, suppression, modification et requête
Ajouter des données à la base de données
Dans MySQL, vous pouvez utiliser l'instruction INSERT INTO pour insérer une ou plusieurs lignes de données de tuple dans une table existante dans la base de données.
Format de syntaxe :
INSERT INTO 表名 ( 列名1, 列名2,...列名N ) VALUES ( 值1, 值2,...值N );
Si les données sont de type caractère, vous devez utiliser des guillemets simples ou doubles, tels que : "valeur".
Nom de la table : Précisez le nom de la table sur laquelle opérer.
Nom de la colonne : spécifiez le nom de la colonne dans laquelle les données doivent être insérées. Si des données sont insérées dans toutes les colonnes de la table, tous les noms de colonnes peuvent être omis et INSERTccc43248daffbac9770dee47fdaff697VALUES(…) peut être utilisé directement.
Clause VALUE : Cette clause contient la liste des données à insérer. L'ordre des données dans la liste de données doit correspondre à l'ordre des colonnes.
Exemple : Insérez un nouvel enregistrement dans la table tb_courses, avec la valeur course_id sur 1, la valeur course_name sur "Network", la valeur course_grade sur 3 et la valeur d'information sur " Réseau informatique".
Avant d'effectuer l'opération d'insertion, vérifiez la table tb_courses
mysql> SELECT * FROM tb_courses; Empty set (0.00 sec)
Le résultat de la requête montre que le contenu actuel de la table est vide et qu'il n'y a pas de données. Ensuite, effectuez l'opération d'insertion de données. L'instruction SQL d'entrée et le processus d'exécution sont les suivants.
mysql> INSERT INTO tb_courses -> (course_id,course_name,course_grade,course_info) -> VALUES(1,'Network',3,'Computer Network'); Query OK, 1 rows affected (0.08 sec) mysql> SELECT * FROM tb_courses; +-----------+-------------+--------------+------------------+ | course_id | course_name | course_grade | course_info | +-----------+-------------+--------------+------------------+ | 1 | Network | 3 | Computer Network | +-----------+-------------+--------------+------------------+ 1 row in set (0.00 sec)
Vous pouvez voir que l'enregistrement a été inséré avec succès. Lors de l'insertion de données, tous les champs de la table tb_courses sont spécifiés, donc de nouvelles valeurs seront insérées pour chaque champ.
Remarque :
L'ordre des noms de colonnes après l'instruction INSERT n'a pas besoin d'être l'ordre lorsque la table tb_courses est définie, c'est-à-dire lors de l'insertion de données, il n'est pas nécessaire de l'insérer dans l'ordre défini par le tableau. Assurez-vous simplement que l'ordre des valeurs est le même que l'ordre des champs de la colonne.
Lorsque vous utilisez INSERT pour insérer des données, la liste de noms de colonnes column_list peut être vide. À ce stade, la liste de valeurs doit spécifier une valeur pour chaque champ de la table, et l'ordre des valeurs doit être le même que dans le tableau de données. Les champs sont définis dans le même ordre.
Remarque : Bien que le nom de colonne des données insérées puisse être ignoré lors de l'utilisation de INSERT pour insérer des données, si la valeur ne contient pas le nom de colonne, la valeur après VALEURS Le mot-clé doit non seulement être complet, mais aussi L'ordre doit être le même que l'ordre des colonnes lors de la définition de la table. Si la structure du tableau est modifiée et que des colonnes sont ajoutées, supprimées ou que leurs positions sont modifiées, ces opérations entraîneront une modification simultanée de l'ordre dans lequel les données sont insérées de cette manière. Si vous spécifiez des noms de colonnes, ils ne seront pas affectés par les modifications de la structure de la table.
Supprimer des données de la base de données
Dans MySQL, vous pouvez utiliser l'instruction DELETE pour supprimer une ou plusieurs lignes de données dans une table.
Le format de syntaxe est :
DELETE FROM 表名 [WHERE 子句] [ORDER BY 子句] [LIMIT 子句]
Supprimer les données spécifiées :
DELETE FROM 表名称 WHERE 列名称 = 值
La syntaxe est la suivante :
Nom de la table : spécifiez le nom de la table à partir de laquelle les données doivent être supprimées.
Clause ORDER BY : Facultatif. Indique que lors de la suppression, les lignes du tableau seront supprimées dans l'ordre spécifié dans la clause.
Clause WHERE : facultative. Indique que les conditions de suppression sont limitées pour l'opération de suppression. Si cette clause est omise, cela signifie la suppression de toutes les lignes de la table.
Clause LIMIT : Facultatif. Utilisé pour indiquer au serveur le nombre maximum de lignes à supprimer avant que la commande de contrôle ne soit renvoyée au client.
Remarque : Lorsque la condition WHERE n'est pas utilisée, toutes les données seront supprimées.
Exemple 1 : Supprimez toutes les données de la table
Supprimez toutes les données de la table tb_courses_new L'instruction SQL saisie et les résultats de l'exécution sont les suivants.
mysql> DELETE FROM tb_courses_new; Query OK, 3 rows affected (0.12 sec) mysql> SELECT * FROM tb_courses_new; Empty set (0.00 sec)
Exemple 2 : Supprimer les données de la table en fonction des conditions
Dans la table tb_courses_new, supprimez l'enregistrement avec course_id 4. L'instruction SQL saisie et les résultats d'exécution sont les suivants.
mysql> DELETE FROM tb_courses -> WHERE course_id=4; Query OK, 1 row affected (0.00 sec) mysql> SELECT * FROM tb_courses; +-----------+-------------+--------------+------------------+ | course_id | course_name | course_grade | course_info | +-----------+-------------+--------------+------------------+ | 1 | Network | 3 | Computer Network | | 2 | Database | 3 | MySQL | | 3 | Java | 4 | Java EE | +-----------+-------------+--------------+------------------+ 3 rows in set (0.00 sec)
Comme le montrent les résultats en cours, l'enregistrement avec course_id 4 a été supprimé.
Modifier les données dans la base de données
Dans MySQL, vous pouvez utiliser l'instruction UPDATE pour modifier et mettre à jour les données dans une ou plusieurs tables.
Le format de la syntaxe est :
UPDATE 表名 SET 字段=值 [WHERE 子句 ] [ORDER BY 子句] [LIMIT 子句]
Exemple :
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
La description de la syntaxe est la suivante :
Nom de la table : utilisé pour spécifier le nom de la table de mise à jour.
Clause SET : permet de préciser le nom de la colonne et sa valeur de colonne à modifier dans la table. Parmi elles, chaque valeur de colonne spécifiée peut être une expression ou la valeur par défaut correspondant à la colonne. Si une valeur par défaut est spécifiée, la valeur de la colonne peut être représentée par le mot-clé DEFAULT.
Clause WHERE : facultative. Utilisé pour limiter les lignes du tableau à modifier. Si non spécifié, toutes les lignes du tableau seront modifiées.
Clause ORDER BY : Facultatif. Utilisé pour limiter l'ordre dans lequel les lignes d'un tableau sont modifiées.
Clause LIMIT : Facultatif. Utilisé pour limiter le nombre de lignes modifiées.
注意:修改一行数据的多个列值时,SET 子句的每个值用逗号分开即可。
示例1:修改表中的数据
在 tb_courses_new 表中,更新所有行的 course_grade 字段值为 4,输入的 SQL 语句和执行结果如下所示。
mysql> UPDATE tb_courses_new -> SET course_grade=4; Query OK, 3 rows affected (0.11 sec) Rows matched: 4 Changed: 3 Warnings: 0 mysql> SELECT * FROM tb_courses_new; +-----------+-------------+--------------+------------------+ | course_id | course_name | course_grade | course_info | +-----------+-------------+--------------+------------------+ | 1 | Network | 4 | Computer Network | | 2 | Database | 4 | MySQL | | 3 | Java | 4 | Java EE | | 4 | System | 4 | Operating System | +-----------+-------------+--------------+------------------+ 4 rows in set (0.00 sec)
示例1:根据条件修改表中的数据
在 tb_courses 表中,更新 course_id 值为 2 的记录,将 course_grade 字段值改为 3.5,将 course_name 字段值改为“DB”,输入的 SQL 语句和执行结果如下所示。
mysql> UPDATE tb_courses_new -> SET course_name='DB',course_grade=3.5 -> WHERE course_id=2; Query OK, 1 row affected (0.13 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> SELECT * FROM tb_courses_new; +-----------+-------------+--------------+------------------+ | course_id | course_name | course_grade | course_info | +-----------+-------------+--------------+------------------+ | 1 | Network | 4 | Computer Network | | 2 | DB | 3.5 | MySQL | | 3 | Java | 4 | Java EE | | 4 | System | 4 | Operating System | +-----------+-------------+--------------+------------------+ 4 rows in set (0.00 sec)
注意:保证 UPDATE 以 WHERE 子句结束,通过 WHERE 子句指定被更新的记录所需要满足的条件,如果忽略 WHERE 子句,MySQL 将更新表中所有的行。
数据库查询数据
在 MySQL 中,可以使用 SELECT 语句来查询数据。查询数据是指从数据库中根据需求,使用不同的查询方式来获取不同的数据,是使用频率最高、最重要的操作。
SELECT 的语法格式如下:
SELECT {* | <字段列名>} [ FROM <表 1>, <表 2>… [WHERE <表达式> [GROUP BY <group by definition> [HAVING <expression> [{<operator> <expression>}…]] [ORDER BY <order by definition>] [LIMIT[<offset>,] <row count>] ]
其中,各条子句的含义如下:
{*|91f4a644069eb08f05815c14fcb8b2df}包含星号通配符的字段列表,表示所要查询字段的名称。
1db5ee5e96c8774919312b86ea1e4ece,e612022ea012f486e2b8f4eb394bb6e0…,表 1 和表 2 表示查询数据的来源,可以是单个或多个。
WHERE a8db8f1ba937e93d98acf65ecbbdce13是可选项,如果选择该项,将限定查询数据必须满足该查询条件。
GROUP BY628258a999ccbeb31a9b66d6d3301cc9,该子句告诉 MySQL 如何显示查询出来的数据,并按照指定的字段分组。
[ORDER BY628258a999ccbeb31a9b66d6d3301cc9],该子句告诉 MySQL 按什么样的顺序显示查询出来的数据,可以进行的排序有升序(ASC)和降序(DESC),默认情况下是升序。
[LIMIT[ab76cfca1a1dc7ff1291dcdf873f72ec,]bc984d207842008469e14f06321b6461],该子句告诉 MySQL 每次显示查询出来的数据条数。
下面先介绍一些简单的 SELECT 语句,关于 WHERE、GROUP BY、ORDER BY 和 LIMIT 等限制条件就不细说了。
1、查询表中所有字段
查询所有字段是指查询表中所有字段的数据。MySQL 提供了以下 2 种方式查询表中的所有字段。
SELECT 可以使用“*”查找表中所有字段的数据,语法格式如下:
SELECT * FROM 表名;
使用“*”查询时,只能按照数据表中字段的顺序进行排列,不能改变字段的排列顺序。
示例:从 tb_students_info 表中查询所有字段的数据,SQL 语句和运行结果如下所示。
mysql> use test_db; Database changed mysql> SELECT * FROM tb_students_info; +----+--------+---------+------+------+--------+------------+ | id | name | dept_id | age | sex | height | login_date | +----+--------+---------+------+------+--------+------------+ | 1 | Dany | 1 | 25 | F | 160 | 2015-09-10 | | 2 | Green | 3 | 23 | F | 158 | 2016-10-22 | | 3 | Henry | 2 | 23 | M | 185 | 2015-05-31 | | 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 | | 5 | Jim | 1 | 24 | M | 175 | 2016-01-15 | | 6 | John | 2 | 21 | M | 172 | 2015-11-11 | | 7 | Lily | 6 | 22 | F | 165 | 2016-02-26 | | 8 | Susan | 4 | 23 | F | 170 | 2015-10-01 | | 9 | Thomas | 3 | 22 | M | 178 | 2016-06-07 | | 10 | Tom | 4 | 23 | M | 165 | 2016-08-05 | +----+--------+---------+------+------+--------+------------+ 10 rows in set (0.26 sec)
结果显示,使用“*”通配符时,将返回所有列,数据列按照创建表时的顺序显示。
注意:一般情况下,除非需要使用表中所有的字段数据,否则最好不要使用通配符“*”。虽然使用通配符可以节省输入查询语句的时间,但是获取不需要的列数据通常会降低查询和所使用的应用程序的效率。使用“*”的优势是,当不知道所需列的名称时,可以通过“*”获取它们。
2、查询表中指定的字段
查询表中的某一个字段的语法格式为:
SELECT < 列名 > FROM < 表名 >;
示例:
查询 tb_students_info 表中 name 列所有学生的姓名,SQL 语句和运行结果如下所示。
mysql> SELECT name FROM tb_students_info; +--------+ | name | +--------+ | Dany | | Green | | Henry | | Jane | | Jim | | John | | Lily | | Susan | | Thomas | | Tom | +--------+ 10 rows in set (0.00 sec)
输出结果显示了 tb_students_info 表中 name 字段下的所有数据。
使用 SELECT 声明可以获取多个字段下的数据,只需要在关键字 SELECT 后面指定要查找的字段名称,不同字段名称之间用逗号“,”分隔开,最后一个字段后面不需要加逗号,语法格式如下:
SELECT <字段名1>,<字段名2>,…,<字段名n> FROM <表名>;
示例:
从 tb_students_info 表中获取 id、name 和 height 三列,SQL 语句和运行结果如下所示。
mysql> SELECT id,name,height -> FROM tb_students_info; +----+--------+--------+ | id | name | height | +----+--------+--------+ | 1 | Dany | 160 | | 2 | Green | 158 | | 3 | Henry | 185 | | 4 | Jane | 162 | | 5 | Jim | 175 | | 6 | John | 172 | | 7 | Lily | 165 | | 8 | Susan | 170 | | 9 | Thomas | 178 | | 10 | Tom | 165 | +----+--------+--------+ 10 rows in set (0.00 sec)
输出结果显示了 tb_students_info 表中 id、name 和 height 三个字段下的所有数据。
更多编程相关知识,请访问:编程视频!!
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!