【関連する学習の推奨事項: mysql チュートリアル(ビデオ)】
DCL
DCL は比較的単純で、主にデータベースへのアクセス許可の付与または取り消し、およびデータベース トランザクションのコミットとロールバックに使用されます。
権限の付与/取り消し
権限の付与を例に挙げて、新しいデータベースを作成した後、特定のユーザーにデータベースへのアクセス権と操作権限を付与したいとします(通常は実稼働環境で、セキュリティ上の理由から、いいえ (root ユーザーを通じてデータベースを操作します)、このためには、最初に test
などの特定のユーザーを作成する必要があります。一般に、DCL などの制御レベルの SQL ステートメントが実行されます。コマンドラインで、MySQL Docker コンテナに入ってデータベースに接続し、CREATE USER
ステートメントで新しい test
ユーザーを作成し、パスワードを test に設定します。
:
作成が完了すると、mysql.user
データ テーブルにこのユーザーが表示されます:
##Host フィールドは
% であり、
test ユーザーが任意のホストから MySQL サーバーに接続できることを意味します。
GRANT ステートメントを実行できます。 Grant
test ユーザーは
test データベースに対するすべての操作権限を持っています:
を実行する必要があります。フラッシュ権限; 権限を更新すると、
test データベースの権限リストにこのユーザーが表示されるようになります。現在のログイン状態、
test
test データベースのみが表示されます。これは、他のデータベースに対する操作権限がないためです。
権限を取り消すには、root として実行するか、権限リストからこのユーザーを削除するか、コマンドラインの
REVOKE
revoke all privideges on test.* from 'test'@'%'; flush privileges;

// 授予权限 grant select on test.* to 'user1'@'localhost'; /*给予查询权限*/ grant insert on test.* to 'user1'@'localhost'; /*添加插入权限*/ grant delete on test.* to 'user1'@'localhost'; /*添加删除权限*/ grant update on test.* to 'user1'@'localhost'; /*添加权限*/ // 收回权限 revoke select on test.* from 'jack'@'localhost'; revoke insert on test.* from 'jack'@'localhost'; revoke delete on test.* from 'jack'@'localhost'; revoke update on test.* from 'jack'@'localhost';
トランザクションの送信/ロールバック データベーストランザクション(Database Transaction)とは、単一の論理的な単位として実行される一連の操作を指します。完全に実行されたか、まったく実行されなかった作業 (データベースの追加、削除、変更、およびクエリに関連する操作 (1 つまたは複数の SQL ステートメントを含む)) のいずれか。
単一の SQL ステートメントの場合、データベース システムはそれをトランザクションとして自動的に実行します。このトランザクションは
暗黙的トランザクションと呼ばれます。
複数の SQL ステートメントをトランザクションとして手動で実行するには、
BEGINを使用してトランザクションを開き、COMMIT を使用してトランザクションを送信します。このトランザクションは # # と呼ばれます。 #明示的なトランザクション
。トランザクションの実行中にエラーまたは例外が発生した場合、ROLLBACK ステートメントを使用してトランザクションをロールバックできます。
コマンド ラインでのデータベース トランザクションの操作を簡単に示します。
トランザクションは
ステートメントを通じて開始しますが、実行中 複数のステートメントの後、トランザクションは
COMMIT を通じて送信されませんでした。これらの SQL ステートメントの実行をテストし、[参照] パネルに入って表示しました。新しいレコードが挿入されていないことがわかりました:
上記の SQL シーケンスの後に
ROLLBACK
を追加してトランザクションをロールバックしても、結果は同じになります:
BEGIN; INSERT INTO post (`title`, `content, `created_at`) VALUES ('这是一篇测试文章2', '测试内容哈哈哈', '2020-05-26 13:00:00'); INSERT INTO post (`title`, `content, `created_at`) VALUES ('这是一篇测试文章3', '测试内容哈哈哈', '2020-05-26 13:30:00'); ROLLBACK;
そして、最後に COMMIT
集計関数
一般的な SQL クエリと操作ステートメントに加えて、SQL には、データ クエリ中に結果の簡単で便利な統計を容易にするいくつかの組み込み集計関数もあります。ここでは、count
、sum
、avg
、max
、min
といういくつかの一般的な関数を紹介します。
COUNT
count
この関数は、クエリ結果の総数をカウントするために使用できます。この関数は通常、ページング クエリを実行するときに使用されます。結果を直接表示しやすくするために、コマンド ラインで次のように示します。
フィールドをクエリするときに読みやすさを向上させるために、 を使用して指定できます。 as
フィールド エイリアス。ここでは、post
テーブルには合計 3 つのレコードがあるため、クエリ結果は 3
になります。
SUM
sum
は、統計クエリ結果の特定のフィールドを合計するために使用できるため、数値タイプのフィールドにのみ使用できます。ここでは ## を使用します。 #post 新しいフィールド
views がテーブルに追加され、対応する記事レコードのビュー数を保存するために使用されます。
post テーブル構造で、
content フィールドの後にフィールドを追加することを選択し、[実行] をクリックします。フィールド名は
views
UNSIGNED INT に設定され、同時にデフォルト値は ## に設定されます。 #0
#[保存] をクリックしてこのフィールドを作成すると、テーブルに表示されます。構造:
にはデフォルト値があるため、現在すべてのレコードの
views 値は 0 です:
に「編集」関数を渡して、対応するシミュレーション値に設定できます。
##次に、結果を合計します。 sum
##AVG
avg
は、フィールドの平均値をカウントするために使用できます。クエリ結果と
同じことが数値型フィールドにも当てはまります。たとえば、すべての記事の平均ビュー数をカウントするために使用できます:
割り切れない数値の場合、平均値は小数点以下 4 桁まで正確になります。 MAX
は、クエリ結果の数値フィールドの最大値を取得するために使用できます。たとえば、最大数の記事情報を取得します。
MySQL コマンド ラインのデフォルトは中国語の文字化けです。エンコード タイプを
set を通じてutf8mb4 に設定できます。 utf8mb4;
という名前を付けると、正常に動作します。 中国語と絵文字の絵文字が表示されます。
さらに、ここでは subquery
MIN
max
min 関数は、クエリ結果の数値型フィールドの最小値を取得するために使用されます。参照番号が最も小さい記事情報を取得するには、次のようにすることができます。
概要それでは、基本的なクエリを簡単に紹介します。 MySQL データベースの操作と統計 ここで、MySQL とその操作についてはすでに基本を理解していると思います。次のチュートリアルでは、PHP で MySQL データベースに接続し、ページング、グループ化、接続クエリ、関連付け関係、インデックス設定などのより複雑な操作について、追加、削除、変更、クエリの操作を実行する方法を紹介します。とアプリケーションについては、後続のチュートリアルで説明します。具体的な例を使って説明します。
この記事は https://xueyuanjun.com/post/21656
その他の関連記事については、
php mysql に注目してください。 ###カラム!以上がMySQLの基本的な使い方(2) DCL文と集計関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

SublimeText3 中国語版
中国語版、とても使いやすい

Dreamweaver Mac版
ビジュアル Web 開発ツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター
