データを挿入
文法
以下は、 MySQLデータテーブルにデータを挿入するための一般的な INSERTINTOSQL 構文です。
INSERT INTO table_name ( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );
如果数据是字符型,必须使用单引号或者双引号,如:"value1"。
コマンドプロンプトウィンドウからデータを挿入
以下では、SQL INSERT INTO ステートメントを使用して、MySQLデータテーブルhanscal_tbにデータを挿入します。
例
次の例では、3つのデータをhanscal_tbテーブルに挿入します。
root@host# mysql -u root -p password;
Enter password:*******
mysql> use hanscal_tb;
Database changed
mysql> INSERT INTO hanscal_tb
-> (hanscal_title, hanscal_author, submission_date)
-> VALUES
-> ("学习 python", "学习教程", NOW());
Query OK, 1 rows affected, 1 warnings (0.01 sec)
mysql> INSERT INTO hanscal_tb
-> (hanscal_title, hanscal_author, submission_date)
-> VALUES
-> ("学习 MySQL", "学习教程", NOW());
Query OK, 1 rows affected, 1 warnings (0.01 sec)
mysql> INSERT INTO hanscal_tb
-> (hanscal_title, hanscal_author, submission_date)
-> VALUES
-> ("JAVA 教程", "学习教程", '2016-05-06');
Query OK, 1 rows affected (0.00 sec)
上記の例では、テーブルの作成時にこのフィールドがAUTO_INCREMENT属性として設定されているため、hanscal_idのデータは提供されていません。したがって、フィールドは設定しなくても自動的にインクリメントされます。この例では、NOW()は日付と時刻を返すMySQL関数です。
データを更新
文法
# 以下是 UPDATE 和 SET 命令修改或更新 MySQL 数据表数据:
UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]
- 1つ以上のフィールドを同時に更新できます。
- WHERE句では任意の条件を指定できます。
- 1つのテーブルでデータを同時に更新できます。
WHERE句は、データテーブルの指定された行のデータを更新する必要がある場合に役立ちます。
例
以下では、SQL UPDATEコマンドのWHERE句を使用して、hanscal_tbテーブルで指定されたデータを更新します。
# 以下命令将更新数据表中 hanscal_id 为 3 的 hanscal_title 字段值:
mysql> UPDATE hanscal_tb SET hanscal_title='学习 C++' WHERE hanscal_id=3;
Query OK, 1 rows affected (0.01 sec)
# 更新后进行查询操作,查看更新结果,从结果上看,hanscal_id 为 3 的 hanscal_title 已被修改。
mysql> SELECT * from hanscal_tb WHERE hanscal_id=3;
注:データの挿入と更新は、SQLスクリプトと他の言語のAPIインターフェースを介して実装することもできます。これらの言語は、より効率的で、SQL構文に従います。
データを削除する
文法
# 以下是 SQL DELETE 语句从 MySQL 数据表中删除数据的通用语法:
DELETE FROM table_name [WHERE Clause]
- WHERE句が指定されていない場合、MySQLテーブルのすべてのレコードが削除されます。
- WHERE句で任意の条件を指定できます
- 1つのテーブルでレコードを一度に削除できます。
WHERE句は、データテーブル内の指定されたレコードを削除する場合に非常に役立ちます。
コマンドラインからデータを削除する
例
# 以下实例将删除 hanscal_tb 表中 hanscal_id 为3 的记录:
mysql> use RUNOOB;
mysql> DELETE FROM hanscal_tb WHERE hanscal_id=3;
Query OK, 1 row affected (0.23 sec)