MySQLの基本的な使い方(2) DCL文と集計関数
【関連する学習の推奨事項: 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ヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









MySQLは、インストールが簡単で、強力で管理しやすいため、初心者に適しています。 1.さまざまなオペレーティングシステムに適した、単純なインストールと構成。 2。データベースとテーブルの作成、挿入、クエリ、更新、削除などの基本操作をサポートします。 3.参加オペレーションやサブクエリなどの高度な機能を提供します。 4.インデックス、クエリの最適化、テーブルパーティション化により、パフォーマンスを改善できます。 5。データのセキュリティと一貫性を確保するために、バックアップ、リカバリ、セキュリティ対策をサポートします。

NAVICAT自体はデータベースパスワードを保存せず、暗号化されたパスワードのみを取得できます。解決策:1。パスワードマネージャーを確認します。 2。NAVICATの「パスワードを記憶する」機能を確認します。 3.データベースパスワードをリセットします。 4.データベース管理者に連絡してください。

NAVICATプレミアムを使用してデータベースを作成します。データベースサーバーに接続し、接続パラメーターを入力します。サーバーを右クリックして、[データベースの作成]を選択します。新しいデータベースの名前と指定された文字セットと照合を入力します。新しいデータベースに接続し、オブジェクトブラウザにテーブルを作成します。テーブルを右クリックして、データを挿入してデータを挿入します。

MySQLは、オープンソースのリレーショナルデータベース管理システムです。 1)データベースとテーブルの作成:createdatabaseおよびcreateTableコマンドを使用します。 2)基本操作:挿入、更新、削除、選択。 3)高度な操作:参加、サブクエリ、トランザクション処理。 4)デバッグスキル:構文、データ型、およびアクセス許可を確認します。 5)最適化の提案:インデックスを使用し、選択*を避け、トランザクションを使用します。

NAVICATがデータベースとそのソリューションに接続できない一般的な理由:1。サーバーの実行ステータスを確認します。 2。接続情報を確認します。 3.ファイアウォール設定を調整します。 4.リモートアクセスを構成します。 5.ネットワークの問題のトラブルシューティング。 6.許可を確認します。 7.バージョンの互換性を確保します。 8。他の可能性のトラブルシューティング。

NAVICATでSQLを実行する手順:データベースに接続します。 SQLエディターウィンドウを作成します。 SQLクエリまたはスクリプトを書きます。 [実行]ボタンをクリックして、クエリまたはスクリプトを実行します。結果を表示します(クエリが実行された場合)。

手順に従って、NAVICATで新しいMySQL接続を作成できます。アプリケーションを開き、新しい接続(CTRL N)を選択します。接続タイプとして「mysql」を選択します。ホスト名/IPアドレス、ポート、ユーザー名、およびパスワードを入力します。 (オプション)Advanced Optionsを構成します。接続を保存して、接続名を入力します。

and:mysql:Alter table_name add column_name data_type; postgresql:column column_name data_typeを変更するcolumn column_name datape; oracle:alter table_name add(column_name data_type);
