SQL (Structured Query Language) ステートメント、つまり構造化クエリ言語は、リレーショナル データベースを操作および検索するための標準言語です。 SQL ステートメントは一般に次のカテゴリに分類されます。
注: SQL ステートメントでは大文字と小文字が区別されないため、create と CREATE は同じです。 1. DCLステートメント DCL ステートメントは、ユーザー権限の承認と取り消しに使用されます。さまざまなユーザーの権限を制御し、データベースのセキュリティを強化し、データベースのメンテナンスを実行できます。通常、データベース管理者はスーパーユーザー root を使用して操作を実行します。 MySQL の権限付与コマンドは grant で、権限取り消しコマンドは revoke です。 1. 許可書の形式: library.table の権限リストを、"password" で識別される username@'ip' に付与します。 2. 権限を取り消す形式: library.table の権限リストを username@'ip' から取り消します。 2. DDLステートメント データベース オブジェクト: テーブル、データ ディクショナリ、制約、ビュー、インデックス、関数、ストアド プロシージャ、トリガー CREATE、ALTER、および DELETE キーワードは、それぞれデータベース オブジェクトの作成、変更、および削除に使用されます。ここでは、テーブルに対する最も一般的な操作を例として使用します。
1.作成:
例えば CREATE TABLEテスト( StuId VARCHAR(8) 主キー、 StuName VARCHAR(30) NOT NULL、 StuAge SMALLINT NOT NULL、 StuBirth 日時 ); 注: テーブル構造を表示します: DESCRIBE テーブル名; 2.変更: 1) 列を追加します。
例えば ALTER TABLE テスト 列 StuMajor を追加します。VARCHAR(20) NOT NULL AFTER StuName; 2) 列を変更する
例えば ALTER TABLE test CHANGE StuBirth 誕生日年を変更します。 3) 列を削除する
例えば ALTER TABLE テストで列 StuMajor を削除します。 4) テーブル名を変更する
例えば テーブル test を変更して、名前を student に変更します。 3.ドロップ
例えば DROP TABLE 学生; 4.切り捨て
例えば TRUNCATE TABLE 学生; 3. DMLステートメント 1. 挿入
例えば 学生に VALUES('001','Lisa',20,1997),('002','Rose',21,1996) を挿入します。 2.更新
たとえば、20 歳以上のすべての学生の年齢に 1 を加算します。 学生を更新します。SET StuAge = StuAge+1 WHERE StuAge>20; 3.削除
例: 1997年生まれの学生情報をすべて削除する 誕生日が 1997 である学生から削除します。 4. クエリステートメント 1. 単一テーブルクエリ: 列1、列2を選択... データソースから[WHERE条件] [GROUP BY 列名] [ORDER BY 列名 DESC|ASC] たとえば、コンピューターサイエンスを専攻する学生を選択し、学生 ID の降順で並べ替えて、学生名のみを表示します。 学生からStuNameを選択 StuMajor = 'CS'の場合 ORDER BY StuId DESC; 2. 複数テーブルクエリ: 1) 単純な外部結合方式 VALUE1[,VALUE2]を選択します... テーブル名1、テーブル名2から ここで、tableName1.column1 = tableName2.column2[AND ...]; WHEREの後に接続条件とクエリ条件が続きます 2) 自己とのつながり: 時には自分自身とつながることが必要であり、これを自己とのつながりと呼びます。 例えば 次の表があります テーブルempを作成します( id INT AUTO_INCRETMENT 主キー、 名前 VARCAHR(255)、 マネージャーID INT、 FOREIGN KEY(managerId) は temp(id) を参照します ); 記録は4つあります
テーブルをクエリします: SELECT employee.id、employee.name 従業員名、manager.name マネージャー名 FROM emp employee、emp manager ここで、 employee.managerId = manager.id; このクエリは、自己結合を使用して従業員と管理者の関係を表示します。
5. トランザクション処理 1. トランザクションは、1 つまたは複数のデータベース操作シーケンスで構成される論理実行単位です。 この一連の操作は、完全に実行するか、完全に中止する必要があります。プログラムとトランザクションはまったく異なる概念です。一般的に、プログラムには複数のトランザクションが含まれる場合があります。 MySQL には複数のエンジンがあり、最もよく使用される 2 つのエンジンは InnoDB と MyISAM です。InnoDB はトランザクションをサポートしますが、MyISAM はサポートしません。これらは config 構成ファイルで変更できます。 2. 取引の4つの特徴:
これら4つの特性はACID特性とも呼ばれます 3. データベース トランザクションは、DML ステートメント、DDL ステートメント、および DCL ステートメントのセットで構成されます。
4. 取引の提出:
MySQL はデフォルトでトランザクション (自動コミット) をオフにします。デフォルトでは、ユーザーが DML ステートメントを入力すると、操作がコミットされます。トランザクションをオンにするには、次のステートメントで自動コミットを設定できます。 SET AUTOCOMMIT = {0|1} 0 は自動コミットをオフにする(トランザクションを開く)、1 は自動コミットをオンにする(トランザクションを閉じる) 5. トランザクションのロールバック トランザクションに含まれるデータベース操作が失敗した場合、トランザクションはロールバックされ、トランザクション内のすべての操作は無効になります。 2つの方法:
6. 例: 一時的にトランザクションを開始するだけの場合は、start transaction または begin を使用して一時的なトランザクションを開始できます。その後の DML ステートメントは、トランザクションがコミットまたはロールバックされるまですぐには実行されません。 例1 始める; 学生にVALUES(NULL,'001','aaa')を挿入します。 学生にVALUES(NULL,'002','bbb')を挿入します。 学生にVALUES(NULL,'003','ccc')を挿入します。 学生から*を選択; ① ロールバック; 学生から*を選択; ② ① クエリステートメントの結果には、挿入されたデータが含まれます。ただし、この時点で別のコマンドラインウィンドウでステートメントを実行すると、上記の 3 つのデータは表示されません。これは、トランザクションの分離を反映しています。これらの 3 つのデータは、実際には物理データベースに書き込まれません。 ロールバック操作が実行されると、begin以降の3つのデータはクエリステートメントの結果に表示されなくなります② 例2 学生にVALUES(NULL,'001','aaa')を挿入します。 学生にVALUES(NULL,'002','bbb')を挿入します。 セーブポイント p; 学生にVALUES(NULL,'003','ccc')を挿入します。 学生から*を選択; ① p にロールバックします。 学生から*を選択; ② MySQLでは中間点を設定するためのキーワードSAVEPOINTも用意されており、これを使ってロールバック位置を設定することができます。①のクエリ文の結果には3つの挿入データの結果が含まれていますが、②のクエリ結果には中間点p以降に挿入されたデータは含まれていません。中間点へのロールバックではトランザクションは終了しないことに注意してください。 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。 以下もご興味があるかもしれません:
|
<<: React における同期および非同期 setState の問題のコード分析
>>: CentOS 8/RHEL 8 に Cockpit をインストールして使用する方法
この記事では、マウスがテーブルの行を通過するときにJavaScriptを使用して色ラベルを表示する方...
序文ブロガーはアイデアIDEを使用しています。アイデア公式が最近サードパーティのアクティベーションサ...
マウスをドラッグしてページのスクリーンショットを撮ります(指定した領域にスクリーンショットをドラッグ...
画面紹介Screen は、コマンドライン端末切り替え用に GNU プロジェクトによって開発されたフリ...
1. Dockerの紹介Docker は Linux オペレーティングシステムの一部の機能をベースに...
1. 圧縮と包装の概要一般的な圧縮ファイルウィンドウズ .rar .zip .7z Linux .z...
mysqlは指定された期間内の統計データを取得します年別統計 選択 カウント(*)、 DATE_FO...
目次1. 基本1.参照2. 参照3. 参照4. 最適な使い方2. 詳細な1. なぜrefが必要なのか...
目次序文1. ssコマンド2. Zabbix監視マシンの全体的なソケットステータス2.1. スクリプ...
この記事では、MySQL Workbenchのインストールと設定のチュートリアルを参考までに紹介しま...
DNSとはDNS の正式名称は Domain Name System で、ドメイン名解決システムを意...
毎日のjQueryプラグイン - ステップ進捗軸 ステップ進捗軸ツール系のサイトでは入門チュートリア...
今日は簡単な3Dルービックキューブを作ってみましょうまずはレンダリングを見てみましょう!これを学んだ...
1. VMware vSphere 導入の早期計画のポイント1. vSphereの利点(わずかに)...
目次序文主な実装コードHTMLコードJSコード序文南の友達の多くは、雪をほとんど見たことがない、ある...