ホームページ データベース mysql チュートリアル データベースの追加、削除、変更、クエリの基本的なステートメントは何ですか?

データベースの追加、削除、変更、クエリの基本的なステートメントは何ですか?

Nov 04, 2020 am 10:03 AM
mysql 追加、削除、変更、確認 データベース

データベースの追加、削除、変更、およびクエリの基本的なステートメント: 「INSERT INTO テーブル名フィールド リスト VALUES (値リスト)」、「DELETE FROM テーブル名 WHERE 句」、「UPDATE テーブル名 SET カラム =値 WHERE 句」、「SELECT * FROM テーブル名」。

データベースの追加、削除、変更、クエリの基本的なステートメントは何ですか?

(推奨チュートリアル: mysql ビデオ チュートリアル )

データベース追加の基本的なステートメント、削除、変更、クエリ

データベースへのデータの追加

MySQL では、INSERT INTO ステートメントを使用して 1 つ以上の行を挿入できます。タプル データをデータベース内の既存のテーブルに追加します。

文法形式:

INSERT INTO 表名 ( 列名1, 列名2,...列名N )
                 VALUES
                 ( 值1, 值2,...值N );
ログイン後にコピー

データが文字型の場合は、"value" のように一重引用符または二重引用符を使用する必要があります。

  • テーブル名: 操作対象のテーブルの名前を指定します。

  • 列名: データを挿入する必要がある列名を指定します。テーブル内のすべての列にデータを挿入する場合、すべての列名を省略でき、INSERT<テーブル名>VALUES(…) を直接使用できます。

  • VALUE 句: この句には、挿入されるデータのリストが含まれます。データ リスト内のデータの順序は、列の順序に対応している必要があります。

例: tb_courses テーブルに新しいレコードを挿入します。course_id 値は 1、course_name 値は「Network」、course_grade 値は 3、info 値は「Computer」です。通信網"。

挿入操作を実行する前に、tb_courses テーブルを確認してください

mysql> SELECT * FROM tb_courses;
Empty set (0.00 sec)
ログイン後にコピー

クエリの結果は、現在のテーブルの内容が空でデータがないことを示しています。次に、データの挿入操作を実行します。 SQL文と実行処理は以下のようになります。

mysql> INSERT INTO tb_courses
    -> (course_id,course_name,course_grade,course_info)
    -> VALUES(1,&#39;Network&#39;,3,&#39;Computer Network&#39;);
Query OK, 1 rows affected (0.08 sec)

mysql> SELECT * FROM tb_courses;
+-----------+-------------+--------------+------------------+
| course_id | course_name | course_grade | course_info      |
+-----------+-------------+--------------+------------------+
|         1 | Network     |            3 | Computer Network |
+-----------+-------------+--------------+------------------+
1 row in set (0.00 sec)
ログイン後にコピー

レコードが正常に挿入されたことがわかります。データを挿入する場合、tb_courses テーブルのすべてのフィールドが指定されるため、フィールドごとに新しい値が挿入されます。

注:

  • INSERT ステートメントの後の列名の順序は、tb_courses テーブルが定義されているとき、つまりデータを挿入するときの順序ではない場合があります。テーブルで定義された順序で挿入する必要はありません。値の順序が列フィールドの順序と同じであることを確認してください。

  • INSERT を使用してデータを挿入する場合、列名リストの column_list を空にすることができます。このとき、値リストではテーブルの各フィールドの値を指定する必要があります。値の順序はデータ テーブル内と同じである必要があり、フィールドは同じ順序で定義されます。

注: INSERT を使用してデータを挿入する場合、挿入されたデータの列名は無視できますが、値に列名が含まれていない場合は、VALUES の後の値がキーワードは完全であるだけでなく、順序もテーブルが定義されたときの列の順序と同じである必要があります。テーブルの構造を変更し、列の追加、削除、位置の変更を行うと、同時にデータの挿入順序も変更されます。列名を指定した場合、テーブル構造の変更による影響を受けません。

データベースの削除

MySQL では、DELETE ステートメントを使用してテーブル内の 1 つ以上のデータ行を削除できます。

構文形式は次のとおりです:

DELETE FROM 表名 [WHERE 子句] [ORDER BY 子句] [LIMIT 子句]
ログイン後にコピー

指定されたデータを削除します:

DELETE FROM 表名称 WHERE 列名称 = 值
ログイン後にコピー

構文の説明は次のとおりです:

  • # #テーブル名: データを削除するテーブル名を指定します。

  • ORDER BY 句: オプション。削除時に、テーブル内の行が句で指定された順序で削除されることを示します。

  • WHERE 句: オプション。削除操作の削除条件を制限することを示します。この句を省略すると、表内のすべての行が削除されます。

  • LIMIT 句: オプション。制御コマンドがクライアントに返される前に削除する最大行数をサーバーに伝えるために使用されます。

注: WHERE 条件を使用しない場合、すべてのデータが削除されます。

例 1: テーブル内のデータをすべて削除する

tb_courses_new テーブル内のデータをすべて削除する 入力した SQL 文と実行結果は以下のとおりです。

mysql> DELETE FROM tb_courses_new;
Query OK, 3 rows affected (0.12 sec)
mysql> SELECT * FROM tb_courses_new;
Empty set (0.00 sec)
ログイン後にコピー

例 2: 条件に基づいてテーブル内のデータを削除する

tb_courses_new テーブルで、course_id 4 のレコードを削除します。入力した SQL 文と実行結果は次のとおりです。

mysql> DELETE FROM tb_courses
    -> WHERE course_id=4;
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM tb_courses;
+-----------+-------------+--------------+------------------+
| course_id | course_name | course_grade | course_info      |
+-----------+-------------+--------------+------------------+
|         1 | Network     |            3 | Computer Network |
|         2 | Database    |            3 | MySQL            |
|         3 | Java        |            4 | Java EE          |
+-----------+-------------+--------------+------------------+
3 rows in set (0.00 sec)
ログイン後にコピー

実行結果から、course_id 4 のレコードが削除されたことがわかります。

データベース変更データ

MySQL では、UPDATE ステートメントを使用して 1 つ以上のテーブルのデータを変更および更新できます。

構文形式は次のとおりです:

UPDATE 表名 SET 字段=值 [WHERE 子句 ]
[ORDER BY 子句] [LIMIT 子句]
ログイン後にコピー

例:

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
ログイン後にコピー

構文の説明は次のとおりです:

  • テーブル名: used更新テーブル名を指定します。

  • SET 句: テーブル内で変更する列名とその列値を指定するために使用されます。このうち、指定された各列の値は、式または列に対応するデフォルト値になります。デフォルト値が指定されている場合、列の値はキーワード DEFAULT で表すことができます。

  • WHERE 句: オプション。テーブル内の変更する行を制限するために使用されます。指定しない場合、テーブル内のすべての行が変更されます。

  • ORDER BY 句: オプション。テーブル内の行が変更される順序を制限するために使用されます。

  • LIMIT 句: オプション。変更される行数を制限するために使用されます。

注意:修改一行数据的多个列值时,SET 子句的每个值用逗号分开即可。

示例1:修改表中的数据

在 tb_courses_new 表中,更新所有行的 course_grade 字段值为 4,输入的 SQL 语句和执行结果如下所示。

mysql> UPDATE tb_courses_new
    -> SET course_grade=4;
Query OK, 3 rows affected (0.11 sec)
Rows matched: 4  Changed: 3  Warnings: 0

mysql> SELECT * FROM tb_courses_new;
+-----------+-------------+--------------+------------------+
| course_id | course_name | course_grade | course_info      |
+-----------+-------------+--------------+------------------+
|         1 | Network     |            4 | Computer Network |
|         2 | Database    |            4 | MySQL            |
|         3 | Java        |            4 | Java EE          |
|         4 | System      |            4 | Operating System |
+-----------+-------------+--------------+------------------+
4 rows in set (0.00 sec)
ログイン後にコピー

示例1:根据条件修改表中的数据

在 tb_courses 表中,更新 course_id 值为 2 的记录,将 course_grade 字段值改为 3.5,将 course_name 字段值改为“DB”,输入的 SQL 语句和执行结果如下所示。

mysql> UPDATE tb_courses_new
    -> SET course_name=&#39;DB&#39;,course_grade=3.5
    -> WHERE course_id=2;
Query OK, 1 row affected (0.13 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> SELECT * FROM tb_courses_new;
+-----------+-------------+--------------+------------------+
| course_id | course_name | course_grade | course_info      |
+-----------+-------------+--------------+------------------+
|         1 | Network     |            4 | Computer Network |
|         2 | DB          |          3.5 | MySQL            |
|         3 | Java        |            4 | Java EE          |
|         4 | System      |            4 | Operating System |
+-----------+-------------+--------------+------------------+
4 rows in set (0.00 sec)
ログイン後にコピー

注意:保证 UPDATE 以 WHERE 子句结束,通过 WHERE 子句指定被更新的记录所需要满足的条件,如果忽略 WHERE 子句,MySQL 将更新表中所有的行。

数据库查询数据

在 MySQL 中,可以使用 SELECT 语句来查询数据。查询数据是指从数据库中根据需求,使用不同的查询方式来获取不同的数据,是使用频率最高、最重要的操作。

SELECT 的语法格式如下:

SELECT
{* | <字段列名>}
[
FROM <表 1>, <表 2>…
[WHERE <表达式>
[GROUP BY <group by definition>
[HAVING <expression> [{<operator> <expression>}…]]
[ORDER BY <order by definition>]
[LIMIT[<offset>,] <row count>]
]
ログイン後にコピー

其中,各条子句的含义如下:

  • {*|<字段列名>}包含星号通配符的字段列表,表示所要查询字段的名称。

  • <表 1>,<表 2>…,表 1 和表 2 表示查询数据的来源,可以是单个或多个。

  • WHERE <表达式>是可选项,如果选择该项,将限定查询数据必须满足该查询条件。

  • GROUP BY< 字段 >,该子句告诉 MySQL 如何显示查询出来的数据,并按照指定的字段分组。

  • [ORDER BY< 字段 >],该子句告诉 MySQL 按什么样的顺序显示查询出来的数据,可以进行的排序有升序(ASC)和降序(DESC),默认情况下是升序。

  • [LIMIT[,]],该子句告诉 MySQL 每次显示查询出来的数据条数。

下面先介绍一些简单的 SELECT 语句,关于 WHERE、GROUP BY、ORDER BY 和 LIMIT 等限制条件就不细说了。

1、查询表中所有字段

查询所有字段是指查询表中所有字段的数据。MySQL 提供了以下 2 种方式查询表中的所有字段。

SELECT 可以使用“*”查找表中所有字段的数据,语法格式如下:

SELECT * FROM 表名;
ログイン後にコピー

使用“*”查询时,只能按照数据表中字段的顺序进行排列,不能改变字段的排列顺序。

示例:从 tb_students_info 表中查询所有字段的数据,SQL 语句和运行结果如下所示。

mysql> use test_db;
Database changed
mysql> SELECT * FROM tb_students_info;
+----+--------+---------+------+------+--------+------------+
| id | name   | dept_id | age  | sex  | height | login_date |
+----+--------+---------+------+------+--------+------------+
|  1 | Dany   |       1 |   25 | F    |    160 | 2015-09-10 |
|  2 | Green  |       3 |   23 | F    |    158 | 2016-10-22 |
|  3 | Henry  |       2 |   23 | M    |    185 | 2015-05-31 |
|  4 | Jane   |       1 |   22 | F    |    162 | 2016-12-20 |
|  5 | Jim    |       1 |   24 | M    |    175 | 2016-01-15 |
|  6 | John   |       2 |   21 | M    |    172 | 2015-11-11 |
|  7 | Lily   |       6 |   22 | F    |    165 | 2016-02-26 |
|  8 | Susan  |       4 |   23 | F    |    170 | 2015-10-01 |
|  9 | Thomas |       3 |   22 | M    |    178 | 2016-06-07 |
| 10 | Tom    |       4 |   23 | M    |    165 | 2016-08-05 |
+----+--------+---------+------+------+--------+------------+
10 rows in set (0.26 sec)
ログイン後にコピー

结果显示,使用“*”通配符时,将返回所有列,数据列按照创建表时的顺序显示。

注意:一般情况下,除非需要使用表中所有的字段数据,否则最好不要使用通配符“*”。虽然使用通配符可以节省输入查询语句的时间,但是获取不需要的列数据通常会降低查询和所使用的应用程序的效率。使用“*”的优势是,当不知道所需列的名称时,可以通过“*”获取它们。

2、查询表中指定的字段

查询表中的某一个字段的语法格式为:

SELECT < 列名 > FROM < 表名 >;
ログイン後にコピー

示例:

查询 tb_students_info 表中 name 列所有学生的姓名,SQL 语句和运行结果如下所示。

mysql> SELECT name FROM tb_students_info;
+--------+
| name   |
+--------+
| Dany   |
| Green  |
| Henry  |
| Jane   |
| Jim    |
| John   |
| Lily   |
| Susan  |
| Thomas |
| Tom    |
+--------+
10 rows in set (0.00 sec)
ログイン後にコピー

输出结果显示了 tb_students_info 表中 name 字段下的所有数据。

使用 SELECT 声明可以获取多个字段下的数据,只需要在关键字 SELECT 后面指定要查找的字段名称,不同字段名称之间用逗号“,”分隔开,最后一个字段后面不需要加逗号,语法格式如下:

SELECT <字段名1>,<字段名2>,…,<字段名n> FROM <表名>;
ログイン後にコピー

示例:

从 tb_students_info 表中获取 id、name 和 height 三列,SQL 语句和运行结果如下所示。

mysql> SELECT id,name,height
    -> FROM tb_students_info;
+----+--------+--------+
| id | name   | height |
+----+--------+--------+
|  1 | Dany   |    160 |
|  2 | Green  |    158 |
|  3 | Henry  |    185 |
|  4 | Jane   |    162 |
|  5 | Jim    |    175 |
|  6 | John   |    172 |
|  7 | Lily   |    165 |
|  8 | Susan  |    170 |
|  9 | Thomas |    178 |
| 10 | Tom    |    165 |
+----+--------+--------+
10 rows in set (0.00 sec)
ログイン後にコピー

输出结果显示了 tb_students_info 表中 id、name 和 height 三个字段下的所有数据。

更多编程相关知识,请访问:编程视频!!

以上がデータベースの追加、削除、変更、クエリの基本的なステートメントは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

MySQL:初心者向けのデータ管理の容易さ MySQL:初心者向けのデータ管理の容易さ Apr 09, 2025 am 12:07 AM

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

NAVICATでデータベースパスワードを取得できますか? NAVICATでデータベースパスワードを取得できますか? Apr 08, 2025 pm 09:51 PM

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

Navicatプレミアムの作成方法 Navicatプレミアムの作成方法 Apr 09, 2025 am 07:09 AM

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

MySQL:簡単な学習のためのシンプルな概念 MySQL:簡単な学習のためのシンプルな概念 Apr 10, 2025 am 09:29 AM

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

MariadBのNAVICATでデータベースパスワードを表示する方法は? MariadBのNAVICATでデータベースパスワードを表示する方法は? Apr 08, 2025 pm 09:18 PM

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

NAVICATでSQLを実行する方法 NAVICATでSQLを実行する方法 Apr 08, 2025 pm 11:42 PM

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

NavicatでMySQLへの新しい接続を作成する方法 NavicatでMySQLへの新しい接続を作成する方法 Apr 09, 2025 am 07:21 AM

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

MySQLおよびSQL:開発者にとって不可欠なスキル MySQLおよびSQL:開発者にとって不可欠なスキル Apr 10, 2025 am 09:30 AM

MySQLとSQLは、開発者にとって不可欠なスキルです。 1.MYSQLはオープンソースのリレーショナルデータベース管理システムであり、SQLはデータベースの管理と操作に使用される標準言語です。 2.MYSQLは、効率的なデータストレージと検索機能を介して複数のストレージエンジンをサポートし、SQLは簡単なステートメントを通じて複雑なデータ操作を完了します。 3.使用の例には、条件によるフィルタリングやソートなどの基本的なクエリと高度なクエリが含まれます。 4.一般的なエラーには、SQLステートメントをチェックして説明コマンドを使用することで最適化できる構文エラーとパフォーマンスの問題が含まれます。 5.パフォーマンス最適化手法には、インデックスの使用、フルテーブルスキャンの回避、参加操作の最適化、コードの読み取り可能性の向上が含まれます。

See all articles