Maison > Article > développement back-end > Quels sont les points de connaissances de base des bases de données en PHP ? Déclaration de base ? Concept de base ?
L'article précédent vous présentait "Quels sont les types de scopes en PHP ? Quelle zone est accessible par le scope ? 》, cet article continue de vous présenter quels sont les points de connaissances de base des bases de données en PHP ? Déclaration de base ? Concept de base ? Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
Concepts de base de la base de données
Terminateur de commande : "g" ou ";"
Support MySQL Données tapez :
Type numérique
Type entier
Tinyint, smallint, mediumint, int et bigint
Instruction Ddl (les commandes sont sensibles à la casse)
Créer une base de données
Create database 数据库名
Sélectionnez la base de données à exploiter : utiliser la base de données pour l'opération ; à effectuer Pour la base de données, nous devons utiliser use pour sélectionner
pour afficher toutes les tables de données de la base de données show tables
pour supprimer la base de données
Drop database 数据库名称
pour créer une table (dans un certain Pour créer une table dans la base de données, vous devez utiliser use pour sélectionner la base de données que vous souhaitez exploiter)
Créer une table nom de la table (
Nom du champ 1 Type du champ 1 Contraintes de colonne,
Nom du champ 2 Type du champ 2 Contraintes de colonne,
Après avoir créé le tableau, vous pouvez visualiser la définition du formulaire
Desc 表名;
Afficher l'instruction SQL pour créer la table
Show create table 表名\G(\G选项使得记录能按照字段竖向排列,一遍更好展示内容较长的记录,\G之后不需要加分号)
Supprimer la table
Drop table 表名;
Modifier le type de champ de la table
Alter table 表名 modify [colimn] 字段定义 [first|after字段名];
Ajouter un champ de table
Alter table 表名 add [colimn] 字段定义 [first|after字段名];
Supprimer des champs de table
Alter table 表名 change [colimn] 旧的字段名 字段定义 [first|after字段名];
Remarque : Changer et modifier peuvent modifier la définition de la table. ce changement nécessite deux noms de colonnes après le changement, ce qui n'est pas particulièrement pratique. L'avantage est que change
peut modifier le nom du champ
Modifier la disposition et le tri des champs
[. premier|après le nom du champ] Cette option peut être utilisée pour modifier la position du champ dans le tableau. La valeur par défaut pour les nouveaux champs est Chargé à la dernière position dans le tableau, et change/modify
ne changera pas la position du champ . par défaut
Remarque : ces mots-clés changent/premier|après que les noms de champs appartiennent à mysql sur l'extension SQL standard, peuvent ne pas être applicables à d'autres bases de données
Changer le nom de la table
After table 表名 rename [to] 新的表名 Dml语句
Insérer un enregistrement
Insérer dans le nom de la table (champ 1, champ 2, ..., champ n) des valeurs (valeur 1, valeur 2, .. . , valeur n);
n'a pas besoin de spécifier le nom du champ, mais l'ordre après values
doit être le même que Le tri des champs est cohérent
Insérez plusieurs enregistrements dans une fois
Insérer dans le nom de la table (champ 1, champ 2, ..., champ n)
Valeurs
(valeur 1, valeur 2,. .. , valeur n),
(valeur 1, valeur 2,... , valeur n)
;
Requête des enregistrements
select * from 表名 where 条件;(*代表你查询表里的所有字段,如果我们查询某一字段,只需要将*改成那一字段即可。)
Interroger des enregistrements uniques
Select distinct 字段1,字段2 from 表名;(只要字段1,字段2任何一个字段有不同就会被选择,一般用于distinct,只筛选一个字段)
Requête conditionnelle
Remarque : Symboles de comparaison de requête conditionnelle : =,95ec6993dc754240360e28e0de8de30a,>=,<=,!= et d'autres opérateurs de comparaison peuvent être triés à l'aide de ou et etc.
et restrictions
Tri :
asc : de bas en haut, également la valeur par défaut select * from table name order by field name asc;
desc : de haut en bas, sélectionnez * dans l'ordre des noms de table par nom de champ desc;
Tri de plusieurs champs sélectionnez * dans l'ordre des noms de table par nom de champ desc,id desc;
Le chiffre 1 représente quel enregistrement commencer à récupérer (en commençant à 0), et le chiffre 2 représente le nombre d'enregistrements à récupérer !
Agrégation
Les utilisateurs doivent effectuer certaines opérations récapitulatives, ce qui nécessite des opérations d'agrégation SQL.
①sum sum sélectionnez la somme (nom du champ) à partir du nom de la table
②count nombre total d'enregistrements sélectionnez le nombre (*|nom du champ) à partir du nom de la table
③valeur maximale maximale ; sélectionnez max (nom du champ) à partir du nom de la table;
④min valeur minimale sélectionnez min (nom du champ) à partir du nom de la table;
⑤GROUP BY agrégation de classification sélectionnez le département, somme (salaire) du groupe d'employés par département ;
⑥AVEC ROLLUP Les résultats après classification et agrégation sont récapitulés à nouveau, sélectionnez la somme (salaire) du groupe d'employés par département avec rollup ;
⑦HAVING
Remarque : La différence entre avoir et où est que avoir est le filtrage conditionnel des résultats de l'agrégation, tandis que où est le filtrage des enregistrements avant l'agrégation. Vous devez d'abord filtrer les enregistrements autant que possible !
select sum(salary) from employee group by department having sum(salary)>1000; 在一起使用:select sum(id),max(id),min(id),count(*) from a1;
Connexion à une table (peut être utilisée lors de l'affichage de champs dans plusieurs tables)
Classification des connexions
Jointure interne : Sélectionner Enregistrements qui correspondent dans les deux tables (sélectionnez table.field,.... à partir du nom de la table 1, du nom de la table 2,... où [conditions de correspondance telles que table 1. champ = table 2. champ] ;)
L'instruction select peut alias le champ ! Écrivez-la simplement directement après le champ qui doit être interrogé et affiché. Vous pouvez également alias la table
Connexion externe : non. ne sélectionne que deux enregistrements de pièces correspondantes, d'autres enregistrements sans correspondance seront également interrogés
jointure à gauche
包含左边表中的所有记录(包括右表中没有和它匹配的记录)select * from 表1 left join 表2 on 表1.字段=表2.字段;
包含右边表中的所有记录(包括左表中没有和它匹配的记录)
左连接和右连接是可以相互转换的!
子查询(一个查询需要另外一个查询的结果参与的时候)
用于子查询的关键字:
in在..里面(注意点 in后面的子语句必须只返回一个字段,若查询结果唯一(只有一条)可以使用=代替in,not in与in相反)
语法:select * from 表名1 where 字段1 in(select 字段2 from 表2);
Exists(后面那个子语句有没有查询出记录来,如果查询出记录来返回true,否则就是false,并且查询出来的记录的具体的值是NULL也可以,也是返回true.)
语法:select语句 where exists(select 语句);
not exits(与exists相反)
记录联合(我们常常会碰到需要将两个表或者多个表的数据按照一定的查询条件查询出来后,将结果合并到一起显示这是就需要用到记录联合)
多个select 语句用UNION或者UNION ALL隔开即可实现
区别: 前者会将多个查询结果合并后并且进行去除重复后返回,后者 则直接合并并不去除重复
联合的条件:查询的列个数要相等
更新记录
更新一个表
Update 表名 set 字段1=值1,字段2=值2,...,字段n=值n[where条件];
更新多个表中数据
Update 表1,表2,...表n set 表1.字段1=表达式1,...,表n.字段n=表达式n[where条件];
注:多表更新更多是用在根据一个标的字段来动态更新另一表的字段
推荐学习:php视频教程
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!