MySQL の追加、削除、変更、クエリステートメント 1. 練習シートを作成する
1.1 ユーザーテーブル(ユーザー) テーブル `user` を作成します ( `id` INT AUTO_INCREMENT PRIMARY KEY COMMENT 'ユーザーID(主キー)', `username` VARCHAR(50) COMMENT 'ユーザー名', `age` CHAR(3) COMMENT 'ユーザーの年齢' ); データの挿入 INSERT INTO USER VALUES(2,'小等',12); INSERT INTO USER VALUES(3,'张三',33); INSERT INTO USER VALUES(4,'李四',24); USER VALUES(5,'王五',17)に挿入します。 INSERT INTO USER VALUES(6,'赵六',36); USER VALUES(7,'七七',18)に挿入します。 完了後、テーブル名はuserになります 1.2 生徒用テーブル テーブル「学生」を作成します( `id` INT AUTO_INCREMENT PRIMARY KEY COMMENT '学生ID(主キー)', `name` VARCHAR(10) COMMENT '学生名', `grade` VARCHAR(10) COMMENT '学生の成績', `chinese` INT COMMENT '中国語スコア', `math` INT COMMENT '数学の結果', `english` INT COMMENT '英語のスコア' ); データの挿入 学生にVALUES(1,'学生熱巴','第二年生',100,100,100)をINSERT INTOします。 学生にVALUES(2,'Gulinaza','First Grade',99,88,98)を挿入します。 学生にVALUES(3,'Malzahar','Grade 3',46,20,99)を挿入します。 学生にVALUES(4,'Alibaba','First Grade',78,81,100)を挿入します。 学生にVALUES(5,'哈哈哈哈','六年級',20,10,5)をINSERT INTOします。 学生にVALUES(6,'著者','第2学年',100,100,100)を挿入します。 学生にVALUES(7,'嘻嘻哈哈','五年生',70,99,60)をINSERT INTOします。 学生にVALUES(8,'泣いている','4年生',33,15,54)をINSERT INTOします。
完了後、テーブル名はstudentsになります 2. クエリ 2.1 すべてをクエリする(ここではユーザーテーブルを使用) テーブル名から*を選択します。 ユーザーから*を選択します。 2.2 成人に達したユーザーをクエリする(WHERE条件クエリを使用)
SELECT * FROM USER WHERE age >= 18; 2.3 未成年ユーザーの名前を照会する SELECT フィールド名 FROM テーブル名 WHERE 条件; 年齢が 18 未満の USER からユーザー名を選択します。 2.4 エイリアスクエリの使用 asキーワードを使用する(asは省略可能) USER から u.* を選択します。 2.5 論理演算子を使用したクエリ 論理演算子 (and: and or && or or not: not or !) Xiaoer の名前と 12 歳の年齢を検索 (表示名と年齢) SELECT u.`username`,u.`age` FROM USER u WHERE u.`username`='小等' && u.`age`=12; 名前が張三で未成年の人を検索します(検索結果は空で、そのような人はいません) SELECT * FROM USER WHERE username='张三' && age < 18; 2.6 演算子を使用してクエリを実行する(ここでは students テーブルの使用を開始します) hahahaha の 3 つの科目の合計スコアの演算子の優先順位を照会します。 SELECT s.chinese + s.math + s.english FROM students s WHERE s.name = '哈哈哈哈'; 2.7 範囲クエリ(条件1と条件2の間)
中国語の成績が良い~中程度の生徒の名前を照会する 中国語が60〜80の学生から名前を選択してください。 数学で不合格になった生徒の名前を問い合わせる 二 フィールド (列名) が条件 1 と条件 2 の間にない。 数学の成績が 60 から 100 の範囲にない生徒から名前を選択します。 英語の成績が優秀な生徒の ID と名前を照会します。 三つ where !(条件 1 と条件 2 の間のフィールド名); SELECT s.`id`,s.`name` FROM students s WHERE !(s.`english` BETWEEN 0 AND 90); 2.8 1年生と2年生の情報を照会するコレクションクエリ 列名が (値1、値2、値3) の場合、 SELECT * FROM students WHERE grade IN ('First grade','Second grade'); ※1年生、2年生、3年生以外の生徒の照会情報 SELECT * FROM students WHERE grade NOT IN ('1年生','2年生','3年生'); 2.9 NULL値クエリ 注: 列の値がnullの場合、=を使用してクエリすることはできません。 名前が null の学生データを照会します (データが保存されていないため、何も存在しません) SELECT * FROM students WHERE `name` IS NULL; 2.10 あいまいクエリ(like)%は0からn文字を表す 列名が '%巴' のような場合、巴 で終わることを意味します。 列名が「巴%」のような場合、巴で始まることを意味します。 列名が「%巴巴%」のような場合、データに巴巴が含まれていることを意味します。 名前が「巴」で終わる生徒を検索します。 SELECT * FROM students WHERE `name` LIKE '%巴'; 名前がauthorで始まる生徒を検索します。 SELECT * FROM students WHERE `name` LIKE '作者%'; 名前にヒップホップが含まれる生徒を検索します。 SELECT * FROM students WHERE `name` LIKE '%嘻哈%'; _は文字を表し、複数回使用できます。 名前の最後から2番目の文字に「ha」が含まれる生徒を検索します SELECT * FROM students WHERE `name` LIKE '%哈_'; 2.11 結果の並べ替え 結果を行ごとに並べ替えます (クエリ結果を 1 つ以上の列で昇順または降順で並べ替えます。昇順は ASC、降順は DESC で、昇順がデフォルトです)。 中国語または中国語エイリアスの並べ替えは使用できませんのでご注意ください。 1 年生、2 年生、3 年生の生徒のデータを照会し、中国語のスコアの降順で並べ替えます。 SELECT * FROM students WHERE grade IN ('1年生','2年生','3年生') ORDER BY chinese DESC; 2.12 ページネーションクエリ ページネーション クエリ (beginIndex は開始するデータ数 (またはスキップするページ数) を示します。最初のページは 0 から始まります。pageSize はページあたりに表示されるデータの数を示します)。 ページング アルゴリズムの式 (現在のページ - 1) * pageSize; たとえば、1 ページあたり 10 ページあります。 select * from students; を使用する場合(最下位レベルの実行ステートメントは limit 0, 1000 をページ区切りします)に注意してください。 すべての生徒を照会、1ページあたり3件のレコード、最初のページ 学生から * を選択 LIMIT 0,3;
学生から * を選択し、 LIMIT 3,3 を実行します。 ページ 3 学生の制限6,3から*を選択します。 2.13 集計関数 データセットに作用し、そのデータセットの値を返します。
グループ化関数 group by に注意してください。グループ化されたデータをフィルタリングする場合は、having キーワードを使用し、条件を having の後に記述する必要があります。
練習に必要な都市テーブルを挿入します テーブル「city」を作成します( `id` INT AUTO_INCREMENT PRIMARY KEY COMMENT '主キー', `city_name` VARCHAR(100) COMMENT '都市名', `city_year` VARCHAR(4) COMMENT '年、yyyy'、 `city_gdp` ダブルコメント '今年度の都市の GDP (1 億元単位)', `city_population` ダブルコメント '豊作の今年の都市の総人口(10,000 人単位)' ); データを追加 都市にVALUES(1,'上海',2018,32679,2418)を挿入します。 都市に値(2,'北京',2018,30320,2171)を挿入します。 city VALUES(3,'深圳',2018,24691,1253) に INSERT INTO city VALUES(3,'深圳',2018,24691,1253); 都市にVALUES(4,'広州',2018,23000,1450)を挿入します。 INSERT INTO city VALUES(5,'重庆',2018,20363,3372); 都市にVALUES(6,'上海',2019,38155,2424)を挿入します。 都市に値を挿入します(7,'北京',2019,35371,2171); city VALUES(8,'深圳',2019,26927,1302) に INSERT INTO city VALUES(8,'深圳',2019,26927,1302); 都市にVALUES(9,'広州',2019,23628,1491)を挿入します。 INSERT INTO city VALUES(10,'重庆',2019,23605,3372); カウント city_year = '2019' の場合、count(*) を city から選択します。 マックス city_year = '2018' の場合、city から MAX(city_gdp) を選択します。 分 city_year = '2018' の場合、city から MIN(city_gdp) を選択します。 和 city_year = '2019' の場合、city から SUM(city_gdp) を選択します。 平均 city_year = '2019' の場合、city から AVG(city_gdp) を選択します。 3. 増加 テーブル名(フィールド1、フィールド2、フィールド3、...)値(値1、値2、値3、...)に挿入します。 学生のチンポを追加 学生に挿入(ID、名前、学年、中国語、数学、英語) VALUES(9,'鸡鸡鸡鸡','七年級',77,77,77); その他の挿入方法 INSERT INTO テーブル名 (フィールド 1、フィールド 2、フィールド 3) VALUES (値 1、値 2、値 3)、(値 1、値 2、値 3); -- 複数のデータを挿入します INSERT INTO テーブル名 VALUES (値 1、値 2); -- テーブルのすべてのフィールドを挿入します INSERT INTO テーブル名 (フィールド) SELECT フィールド FROM テーブル 2; -- クエリ結果を挿入します INSERT INTO テーブル名 SELECT フィールド FROM テーブル 2; -- クエリ結果、テーブル全体を挿入します 4. 更新 update table name set field = value where condition; -- 条件に従って指定されたデータを変更します。それ以外の場合はテーブル全体を変更します。 生徒「ハハハハ」の英語のスコアを10に変更します。 UPDATE students SET english = 10 WHERE `name` = '哈哈哈哈'; 5. 削除 delete from table name where condition; -- 条件に一致するデータを削除します。条件に一致しない場合は、テーブル内のすべてのデータを削除します。 生徒「鸡鸡鸡」を削除します。 DELETE FROM students WHERE `name` = '鸡鸡鸡鸡'; 6. ステートメントの実行順序 from -> on -> join -> where -> group by -> having -> select -> distinctive -> order by -> limit その他のMySQLの記事については、以下のリンクをご覧ください。 MySQL DDL ステートメント MySQL CRUD ステートメント MySQL 集計関数 MySQL マルチテーブルクエリ 終わり… これで、MySQL の詳細な単一テーブル CRUD ステートメントに関するこの記事は終了です。関連する MySQL CRUD ステートメントの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Tomcat maxPostSize設定実装プロセス分析
>>: フロントエンドフレームワーク Vue における親子コンポーネントデータの双方向バインディングの実装
目次序文解決:ステップ1ステップ2序文環境: VMware Workstation 上に Linux...
目次FormDataとは何ですか? vueとaxiosの協力による実践的な体験追加()セット()消去...
暗号化と復号化は、通信のセキュリティを確保するための重要な手段です。すでに多くの暗号化アルゴリズムが...
Vue2+elementui のホバー プロンプトは、外部と内部に分かれています。内部のものは el...
今日は、興味深いトピックについてお話ししましょう。データベースとテーブルを分割することを検討する前に...
MySQL操作情報のクエリ show status -- すべての MySQL 操作情報を表示します...
序文Sass は CSS3 言語の拡張機能です。Sass を使用すると、より良いスタイルシートをより...
ページ: ベース: <テンプレート> <div class="タブコンテ...
序文: Linux システムでの rm は元に戻せません。コマンドの設計自体に問題はありません。問題...
1. シナリオ表示Tomcat ログに次の例外情報が時々報告されます。何が起こっているのでしょうか...
ant-design-vue テーブルのスケーラブルな列の問題に対する完璧なソリューション。固定列と...
HTML構造 <本文> <div class="wrapper"...
この記事では、ウェブページのスネークゲームを実装するためのJavaScriptの具体的なコードを参考...
目次MySQL クライアント/サーバー プロトコルMySQL サーバーから高いパフォーマンスを得る必...
昨日、1年間使用していた Alibaba Cloud サーバーを購入しました。システムは Linux...