前回の記事では「PHPのスコープの種類とは?」についてご紹介しました。スコープでアクセスできる領域は何ですか?》ということで、この記事では引き続き、PHPにおけるデータベースの基礎知識とは何か?基本的な発言?基本コンセプトは?一定の参考値があるので、困っている友達が参考になれば幸いです。
データベースの基本概念
コマンド ターミネータ: "\g" または ";"
Mysql サポートデータ型:
数値型
整数型
Tinyint、smallint、mediumint、intおよび bigint
Ddl ステートメント (コマンドでは大文字と小文字が区別される場合があります)
データベースの作成
Create database 数据库名
操作するデータベースを選択します。データベースを使用します。オペレーティング データベースを選択するには use を使用する必要があります。
データベース内のすべてのデータ テーブルを表示します。テーブルを表示します。
データベースを削除します。
Drop database 数据库名称
テーブルを作成します。 (あるデータベースにテーブルを作成するには、まず use を使用して操作するデータベースを選択する必要があります)
テーブルの作成 テーブル名 (
フィールド 1 の名前 フィールド1 タイプ 列制約、
フィールド 2 名 フィールド 2 タイプ 列制約、
テーブルを作成した後、フォーム定義を表示できます
Desc 表名;
SQL を表示しますテーブルを作成したステートメント
Show create table 表名\G(\G选项使得记录能按照字段竖向排列,一遍更好展示内容较长的记录,\G之后不需要加分号)
テーブルの削除
Drop table 表名;
テーブル フィールド タイプの変更
Alter table 表名 modify [colimn] 字段定义 [first|after字段名];
テーブル フィールドの追加
Alter table 表名 add [colimn] 字段定义 [first|after字段名];
テーブル フィールドの削除
Alter table 表名 change [colimn] 旧的字段名 字段定义 [first|after字段名];
注: 変更と変更の両方でテーブルの定義を変更できます。違いは、変更には後に 2 つの列名が必要であることです。利点は、変更
フィールド名を変更できることです
フィールドの配置と並べ替えを変更できることです
[最初|フィールド名の後] この選択を使用して、テーブル内のフィールドの位置を変更できます。デフォルトでは、新しいフィールドはテーブルの最後の位置にロードされ、change/modify
では # は変更されません##デフォルトのフィールド位置
テーブル名の変更
After table 表名 rename [to] 新的表名 Dml语句
テーブル名に挿入 (フィールド 1、フィールド 2、...、フィールド n) 値 (値 1、値) 2, ..., value n);フィールド名を指定する必要はありませんが、
valuesの後の順序はフィールドの並べ替え
と一致する必要があります。
テーブル名に挿入 (フィールド 1、フィールド 2、...、フィールド n) Values (値 1,値 2,... ,値 n), (値 1,値 2,... . , 値 n) ;
レコードのクエリ
select * from 表名 where 条件;(*代表你查询表里的所有字段,如果我们查询某一字段,只需要将*改成那一字段即可。)
一意のレコードのクエリ
Select distinct 字段1,字段2 from 表名;(只要字段1,字段2任何一个字段有不同就会被选择,一般用于distinct,只筛选一个字段)
条件付きクエリ
注: 条件付きクエリの比較記号: =、<、>、>=、<=、!= およびその他の比較演算子、複数条件間で or などを使用できます。#ソートと制限
Sort:
ユーザーは、SQL 集計操作を必要とするいくつかの要約操作を実行する必要があります。
①sum sum テーブル名から sum(フィールド名) を選択; ②count レコードの総数をテーブル名から選択 count(*|フィールド名); ③maxmax select max(フィールド名) テーブル名から; ④最小最小値テーブル名から min(フィールド名) を選択; ⑤GROUP BY 分類集計部門を選択し、部門別の従業員グループから合計 (給与)#⑥WITH ROLLUP 分類・集計後の結果を再度集計し、ロールアップで部門別従業員グループから合計(給与)を選択;
⑦HAVING
注: ## 違い#having と where は集計結果の条件付きフィルタリングであり、where は集計前のレコードのフィルタリングです。できるだけ最初にレコードをフィルタリングする必要があります。select sum(salary) from employee group by department having sum(salary)>1000; 在一起使用:select sum(id),max(id),min(id),count(*) from a1;
接続分類
内部結合:Select 2 つのテーブルで一致するレコード (select table.field,.... from table 1 name, table 2 name,... where [テーブル 1. フィールド = テーブル 2. フィールドなどの一致条件];)
select ステートメントはフィールドにエイリアスを与えることができます! クエリで表示する必要があるフィールドの直後にステートメントを記述するだけです。テーブルにエイリアスを与えることもできます。外部結合:
2 つの一致するフィールド レコードを選択するだけでなく、他の一致しないレコードもクエリされます左結合
包含左边表中的所有记录(包括右表中没有和它匹配的记录)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视频教程
以上がPHPにおけるデータベースの基礎知識は何ですか?基本的な発言?基本コンセプトは?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。