-
SELECTを使用して、テーブルを参照せずに、MySQLで式を計算するにはどうすればよいですか?
次のMySQLステートメントを使用して、SELECTを使用して式を計算できます- SELECT expression; 上記のステートメントには、どのテーブルへの参照もありません。以下はいくつかの例です- mysql> Select 10 DIV 5; +----------+ | 10 DIV 5 | +----------+ | 2 | +----------+ 1 row in set (0.06 sec) mysql> Select 10*5; +------+ | 10*5 | +------+ |
-
MySQLトリガーを作成して使用するにはどうすればよいですか?
新しいトリガーを作成するには、CREATETRIGGERステートメントを使用する必要があります。その構文は次のとおりです- CREATE TRIGGER trigger_name trigger_time trigger_event ON table_name FOR EACH ROW BEGIN ... END; ここで Trigger_name CREATETRIGGERステートメントの後に配置する必要があるトリガーの名前です。 trigger_nameの命名規則は、[トリガー時間]_[テーブル名]_[トリガーイベント]のようになります。たとえば、before_student_u
-
処理の途中でMySQLステートメントを破棄するにはどうすればよいですか?
\ cコマンドを使用すると、処理の途中でMySQLステートメントを破棄できます。ステートメントの途中でそれを破棄したい次の例を考えてみましょう。次に、\cオプションを使用します- mysql> Select * -> from\c mysql> 上記のクエリは、\ cオプションを使用した後、MySQLがステートメントを破棄し、プロンプトに戻ることを示しています。
-
MySQLトリガーを使用することの長所、短所、および制限は何ですか?
MySQLトリガーを効果的に使用するには、MySQLトリガーを使用することの長所、短所、および制限を理解する必要があります。 利点 MySQLトリガーを使用する利点は次のとおりです- 完全性 データ- MySQLトリガーの助けを借りて、テーブル内のデータの整合性をチェックできます。つまり、MySQLトリガーは、データの整合性をチェックするための代替方法です。 エラーをキャッチするのに便利です- MySQLトリガーは、データベースレイヤーのビジネスロジックのエラーをキャッチできます。 代替 スケジュールされたタスクを実行する方法- 実際には、MySQLトリガーを使用することで、テーブル内のデー
-
MySQLクエリでのLIMITキーワードの使用は何ですか?
MySQLのLIMITキーワードは、出力で返されるレコードの数を指定できます。 LIMIT句は、返される行数を制限します。次の例の助けを借りて理解することができます- 例 mysql> Select * from Student_info; +------+---------+------------+------------+ | id | Name | Address | Subject | +------+---------+------------+------------+ | &nbs
-
MySQL結果セットの「空のセット」の意味は何ですか?
MySQLクエリの結果セットに「空のセット」がある場合は、MySQLが行を返さず、クエリでもエラーがないことを意味します。次の例の助けを借りて理解することができます- mysql> Select * from Student_info WHERE Name = 'ABCD'; Empty set (0.00 sec) 空のセットと実行時間が出力として表示されます。これは、クエリは正しいが、MySQLテーブルの名前が「ABCD」ではないことを意味します。
-
そのトランザクションの途中でDDLステートメントが実行された場合、MySQLの現在のトランザクションはどうなりますか?
現在のMySQLトランザクションは、CREATEまたはDROPデータベース、Create、ALTER、DROPテーブル、または保存されたルーチンなどのDDLステートメントのいずれかが現在の途中で実行されるとコミットおよび終了します。取引。現在のトランザクションで行われたすべてのデータベースの変更は永続的になり、ロールバックできません。 例 mysql> START TRANSACTION; Query OK, 0 rows affected (0.00 sec) mysql> INSERT INTO MARKS Values(6,'Manak','Hist
-
現在のトランザクションの途中でSTARTTRANSACTIONコマンドを実行すると、現在のMySQLトランザクションはどうなりますか?
現在のトランザクションの途中でSTARTTRANSACTIONが実行されると、現在のトランザクションがコミットされて終了します。現在のトランザクションで行われたすべてのデータベース変更は永続的になります。これは、STARTTRANSACTIONコマンドによる暗黙的なコミットと呼ばれます。 例 テーブル「マーク」に次の値があるとします mysql> select * from marks; +------+---------+-----------+-------+ | Id | Name | Subject | Marks | +-
-
MySQLで、NULLで「=」、「<」、「<>」などの算術演算子を使用できないのはなぜですか?
その背後にある理由は、「=」、「<」、「<>」などの比較演算子でNULLを使用すると、比較から意味のある結果が得られないためです。この概念を示す次の例を考えてみましょう- mysql> Select 10 = NULL, 10< NULL, 10<>NULL; +-----------+----------+----------+ | 10 = NULL | 10< NULL | 10<>NULL | +-----------+----------+----------+ | NULL | &nbs
-
MySQLの「ISNULL」と「ISNOTNULL」の利点は何ですか?
比較演算子でNULLを使用していると、意味のある結果セットが得られないことがわかっています。このような種類の比較から意味のある結果を得るには、「ISNULL」と「ISNOTNULL」を使用できます。 例 mysql> Select 10 IS NULL; +------------+ | 10 IS NULL | +------------+ | 0 | +------------+ 1 row in set (0.00 sec) mysql> Select 10 IS NOT NULL; +----------
-
NOT NULLとして定義されているMySQL列にゼロまたは空の文字列を挿入するにはどうすればよいですか?
列「NOTNULL」を宣言することは、この列がNULL値ではなくゼロ(0)を受け入れ、空の文字列自体が値であることを意味します。したがって、NOT NULLとして定義されているMySQL列にゼロまたは空の文字列を挿入する場合、問題はありません。 0と空の文字列をNULLと比較すると、明らかになります- mysql> Select 0 IS NULL, 0 IS NOT NULL; +-----------+---------------+ | 0 IS NULL | 0 IS NOT NULL | +-----------+---------------+ |
-
NOT NULLとして宣言されているMySQL列に空の文字列を挿入するたびに、空の文字列ではなく0が表示されるのはなぜですか?
空の文字列を挿入するということは、NULLではなく値を挿入することを意味するためです。空の文字列は、整数としてゼロにマップされているようです。つまり、空の文字列を挿入することで、INT 0として整数表現を持つ値をMySQLに提供していると言えます。空の文字列を挿入し、MySQLによって0にマップされた次の例を考えてみます。 mysql> create table test(id int NOT NULL, Name Varchar(10)); Query OK, 0 rows affected (0.19 sec) mysql> Insert into test(id, name
-
現在のMySQLトランザクション分離レベルを確認するにはどうすればよいですか?
SELECT @@ TX_ISOLATIONを実行する コマンドは、現在のMySQLトランザクション分離レベルを確認できます。 例 mysql> SELECT @@TX_ISOLATION; +-----------------+ | @@TX_ISOLATION | +-----------------+ | REPEATABLE-READ | +-----------------+ 1 row in set (0.00 sec)
-
NOT NULLとして宣言されているMySQL列に空の文字列を挿入すると、データ型はどのような役割を果たしますか?
結果セットでの空の文字列の表現は、NOTNULLとして宣言されているMySQL列に空の文字列を挿入するときのデータ型によって異なります。空の文字列を挿入すると、INT0として整数表現を持つMySQLに値が提供されることがわかっています。 これで、その列のデータ型がINTEGERの場合、空の文字列が整数としてゼロにマップされているため、MySQLは結果セットに0を表示します。 例 mysql> create table test(id int NOT NULL, Name Varchar(10)); Query OK, 0 rows affected (0.19 sec) mysql&
-
1つのクエリから複数のMySQLテーブルの出力を取得するにはどうすればよいですか?
クエリには、複数のMySQLステートメントとそれに続くセミコロンを含めることができることがわかっています。複数のテーブルから結果を取得する場合は、次の例を検討して、単一のクエリを記述して「Student_info」と「Student_detail」から結果セットを取得するとします- mysql> Select Name, Address from Student_info; Select Studentid, Address from Student_detail; +---------+------------+ | Name | Address
-
FROM句なしでMySQLSELECTを使用するにはどうすればよいですか?
SELECTの後のFROM句は、テーブルへの参照を示します。ただし、テーブルへの参照がない場合は、FROM句なしでSELECTを使用できます。つまり、SELECTを使用すると、テーブルを参照せずに計算された行を取得できると言えます。次のステートメントを検討してください- mysql> Select concat_ws(" ","Hello", "World"); +---------------------------------+ | concat_ws(" ","Hello", &qu
-
現在のトランザクションで行われた変更をMySQLデータベースに永続的に記録するにはどうすればよいですか?
COMMITコマンドを使用して、現在のトランザクションで行われた変更をMySQLデータベースに永続的に記録することができます。いくつかのDMLステートメントを実行し、それがいくつかのデータオブジェクトを更新すると、COMMITコマンドはこれらの更新をデータベースに永続的に記録するとします。 例 mysql> START TRANSACTION; Query OK, 0 rows affected (0.00 sec) mysql> INSERT INTO Marks Values(1, 'Aarav','Maths',50); Query OK,
-
現在のトランザクションで行われた変更をMySQLデータベースから完全に削除するにはどうすればよいですか?
ROLLBACKコマンドを使用して、現在のトランザクションで行われた変更をMySQLデータベースから永続的に削除できます。いくつかのDMLステートメントを実行し、それがいくつかのデータオブジェクトを更新すると、ROLLBACKコマンドはこれらの更新をデータベースから完全に削除するとします。 例 テーブル「marks」に次のデータがあり、トランザクションとROLLBACKコマンドを次のように適用したとします- mysql> SELECT * FROM Marks; +------+---------+---------+-------+ | Id | Name | Subje
-
1つのMySQLステートメントで\Gとセミコロン(;)の両方の終了記号を使用するとどうなりますか?
\ Gオプションはコマンドを実行のためにMySQLサーバーに送信し、セミコロン(;)を使用してMySQLがステートメントの終わりを決定します。どちらも結果セットの形式が異なることも知られています。 これで、MySQLステートメントで両方を使用する場合、出力は、MySQLが最初に遭遇したものに基づいて生成されます。その他の場合、MySQLはエラーを生成します。次の例の助けを借りて理解することができます- mysql> Select CURDATE();\G +------------+ | CURDATE() | +------------+ | 2017-11-06 | +-
-
MySQLステートメントの実行に使用される組み込みコマンド(\gおよび\G)と終了記号のセミコロン(;)を組み合わせて、エラーなしで出力を取得するにはどうすればよいですか?
組み込みコマンド(\Gおよび\g)は、実行のためにコマンドをMySQLサーバーに送信し、セミコロン(;)を使用してMySQLが終了を決定します。声明。どちらも結果セットの形式が異なることも知られています。それらを組み合わせてエラーなしで結果を得るには、2つのクエリを記述する必要があります。1つは\Gまたは\gのいずれかで、もう1つは最後にセミコロン(;)を付けたクエリです。 例 \ Gとセミコロン(;)の組み合わせ- mysql> Select * from student\G select * from ratelist; ***************************