mysql ストアド プロシージャにはどのような変数タイプがありますか?
mysql ストアド プロシージャの変数タイプ: 1. ローカル変数、定義構文は「DECLARE 変数名のデータ型」です; 2. ユーザー変数、定義構文は「set @variable name:=...」です。 ; 3 、システム変数。グローバル変数「@@global」とセッション変数「@@session」に分けられます。
このチュートリアルの動作環境: Windows10 システム、mysql8.0.22 バージョン、Dell G3 コンピューター。
mysql ストアド プロシージャの変数タイプとは何ですか?
MySQL ストアド プロシージャの一般的な変数: ローカル変数、ユーザー変数、システム変数
1 . ローカル変数
プロセス本体で、一部の値を一時的に保存するローカル変数を宣言できます。
1. ローカル変数を定義するための構文:
DECLARE var_name[, var_name] ... type [DEFAULT value];
このうち、type は、int、float、date、varchar(length)
## などの MySQL のデータ型です。 #Note:①DECLARE はローカル変数の宣言に使用され、DECLARE は BEGIN ... END 複合ステートメントでのみ使用され、複合ステートメントの先頭、他のステートメントの前になければなりません。同じ名前の変数を宣言するブロックを除き、ネストされたブロックで使用されます。 ② 変数にデフォルト値を指定する場合は、DEFAULT 句を使用します (値は定数または式として指定できます)。DEFAULT 句がない場合、初期値は NULL です。 2. 基本形式:CREATE PROCEDURE sp_name ([proc_parameter[,...]]) BEGIN DECLARE var_name1 type [DEFAULT value]; DECLARE var_name2 type [DEFAULT value]; DECLARE……; [characteristic ...];
mysql>delimiter $$ mysql> create procedure test1(out num1 int)->begin-> declare num2 int default 100;-> set num1=num2;->end->$$ mysql>delimiter ; mysql>call test1(@num); mysql> select@num;+------+ | @num | +------+ | 100 | +------+
test1 ストアド プロシージャを作成します: 出力は num1 変数の値です。ローカル変数 num2 を int 型であるように宣言し、デフォルト値は 100 です。set を使用して num2 の値を割り当てます (処理されない場合、デフォルト値) to num1; Call test1: ユーザー変数 num を使用して、ストアド プロシージャの出力値 num1 を受け取ります...リテラル値に加えて、デフォルト値も使用できます。スカラー サブクエリを含む複雑な式である必要があります。例 2: すべてのプレーヤーの数を使用して変数を初期化する作成プロセス
mysql>delimiter $$ mysql> create procedure test2(out num1 int)->begin-> declare num2 int default(select count(*) fromPLAYERS);-> set num1=num2;->end$$mysql>delimiter ; mysql>call test2(@num);mysql> select@num;+------+ | @num | +------+ | 14 | +------+
2. ユーザー変数
>ユーザー変数はデータベース接続に関連しています: 現在の接続で宣言された変数は、接続が切断されると消えます; で宣言された変数この接続を別の接続で使用することはできません。 >@ 記号はユーザー変数を表します。 1. ユーザー変数の定義 (set、select): 1) set ステートメントはユーザー変数に値を割り当てます: 「=」または「代入文字として「:=」; 各変数に代入される expr は、整数、実数、文字列、または NULL 値にすることができます;mysql> set @zjc:=999; mysql> select@zjc;+------+ | @zjc | +------+ | 999 | +------+
mysql> select @abc:=123;+-----------+ | @abc:=123 | +-----------+ | 123 | +-----------+mysql> select@abc;+------+ | @abc | +------+ | 123 | +------+
① ユーザー変数はどこでも使用可能 定義されていればどこでも使用でき、定義されていない場合は直接使用できます (値のデフォルトは null)。 ②ユーザー変数の変数名の形式: @var_name に @ 記号を付けます。 ③ユーザー変数を乱用すると、プログラムの理解と管理が困難になります。 拡張変数の割り当て: set 構文MySQL の変数はデータ型を厳密に制限しません。変数のデータ型は、変数に割り当てられた値に応じていつでも変わります。
SET variable_assignment [, variable_assignment] ... variable_assignment: user_var_name=expr|[GLOBAL | SESSION] system_var_name =expr|[@@global. | @@session. | @@] system_var_name = expr
3. MySQL 変数のユーザー変数とシステム変数
1. ユーザー変数は上記の通り@var_name (@ 記号)①ユーザー変数はデータベース接続に関連しています。変数は接続後に宣言され、接続が切断されると自動的に消えます。②割り当てなしでユーザー変数を選択し、NULL (値なし) を返します。Mysql 変数は動的言語に似ており、変数の値は割り当てられる値のタイプに応じて変化します。
2. システム変数: システム変数はスコープに応じて、グローバル変数とセッション変数 (@ 記号 2 つ) に分けられます
①グローバル変数 (@@global.)
MySQL が起動すると、サーバーはグローバル変数をデフォルト値に自動的に初期化します;
グローバル変数のデフォルト値は、MySQL 構成ファイル (my.ini、my.cnf) を変更することで変更できます。 )。
②セッション変数 (@@session.)
新しい接続が確立されるたびに、MySQL によって初期化されます;
MYSQL は現在のすべてのグローバル変数を保存します 値をコピーしますセッション変数として(つまり、セッションの確立後にセッション変数とグローバル変数の値が手動で変更されない場合、これらすべての変数の値は同じになります)。
#グローバル変数とセッション変数の違い: グローバル変数への変更はサーバー全体に影響しますが、セッション変数への変更は現在のセッションにのみ影響します。
推奨学習: mysql ビデオ チュートリアル
以上がmysql ストアド プロシージャにはどのような変数タイプがありますか?の詳細内容です。詳細については、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つがある場合)。同じインデックスを作成します。同じトリガーを作成します(元のテーブルに1つがある場合)。同じストアドプロシージャまたは関数を作成します(元のテーブルが使用されている場合)。

次のコマンドでmysqlデータベースを表示します。サーバーに接続します:mysql -u username -pパスワードrun showデータベース。すべての既存のデータベースを取得するコマンド[データベース]を選択します。データベース名を使用します。テーブルを表示:表を表示します。テーブル構造を表示:テーブル名を説明してください。データを表示:[テーブル名]から[ *]を選択します。

Passwordが暗号化された形式で保存されているため、MariadbのNavicatはデータベースパスワードを直接表示できません。データベースのセキュリティを確保するには、パスワードをリセットするには3つの方法があります。NAVICATを介してパスワードをリセットし、複雑なパスワードを設定します。構成ファイルを表示します(推奨されていない、高リスク)。システムコマンドラインツールを使用します(推奨されません。コマンドラインツールに習熟する必要があります)。

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

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