データベースのCRUDのdelete
29269 ワード
クエリの結果をカラム値で更新
ステートメント
オペレーションデータ
≪インスタンス|Instance|emdw≫
1.李白さんの試験成績を削除する
2.テーブル全体の構造を削除します.使用を慎む!削除のために準備されたデータ:
操作:
AUTO_がある表構造の表示INCREMENT=n項
トランケート・テーブル
使用を慎むテーブル全体に対してのみ操作でき、deleteのように一部のデータに対して操作できません.2.実はMySQLはデータ操作ができないのでdeleteより速いです.(delete影響行数はn行)3.AUTO_がリセットされますINCREMENアイテム.
構文
≪インスタンス|Instance|emdw≫
操作
ステートメント
UPDATE table_name SET column=expr[,column=expr]
[WHERE...][ORDER BY...][LIMIT...]
オペレーションデータ
mysql> CREATE TABLE exam_score(
-> id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
-> name VARCHAR(20) NOT NULL COMMENT ' ',
-> yuwen float DEFAULT 0.0 COMMENT ' ',
-> shuxue float DEFAULT 0.0 COMMENT ' ',
-> yingyu float DEFAULT 0.0 COMMENT ' '
-> );
Query OK, 0 rows affected (0.45 sec)
-- :
insert into exam_score(name,yuwen,shuxue,yingyu) values
-> (' ',68,95,57),
-> (' ',84,76,74),
-> (' ',88,85,62),
-> (' ',85,97,93),
-> (' ',54,87,46),
-> (' ',77,75,78),
-> (' ',76,66,36);
≪インスタンス|Instance|emdw≫
1.李白さんの試験成績を削除する
delete from exam_score where name=' ';
2.テーブル全体の構造を削除します.使用を慎む!削除のために準備されたデータ:
mysql> create table for_delete(
-> id int primary key auto_increment,
-> name varchar(20)
-> );
Query OK, 0 rows affected (0.59 sec)
mysql> insert into for_delete (name) values ('a'),('b'),('c');
Query OK, 3 rows affected (0.35 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> select * from for_delete;
+----+------+
| id | name |
+----+------+
| 1 | a |
| 2 | b |
| 3 | c |
+----+------+
3 rows in set (0.00 sec)
操作:
mysql> delete from for_delete;
Query OK, 3 rows affected (0.07 sec)
mysql> select * from for_delete;
Empty set (0.00 sec)
---
mysql> insert into for_delete (name) values ('d');
Query OK, 1 row affected (0.03 sec)
mysql> select * from for_delete;
+----+------+
| id | name |
+----+------+
| 4 | d |
+----+------+
1 row in set (0.00 sec)
--- , id 。
AUTO_がある表構造の表示INCREMENT=n項
mysql> show create table for_delete\G
*************************** 1. row ***************************
Table: for_delete
Create Table: CREATE TABLE `for_delete` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
トランケート・テーブル
使用を慎むテーブル全体に対してのみ操作でき、deleteのように一部のデータに対して操作できません.2.実はMySQLはデータ操作ができないのでdeleteより速いです.(delete影響行数はn行)3.AUTO_がリセットされますINCREMENアイテム.
構文
TRUNCATE [TABLE] table_name;
≪インスタンス|Instance|emdw≫
CREATE TABLE for_truncate (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20)
);
Query OK, 0 rows affected (0.16 sec)
--
INSERT INTO for_truncate (name) VALUES ('A'), ('B'), ('C');
Query OK, 3 rows affected (1.05 sec)
Records: 3 Duplicates: 0 Warnings: 0
--
SELECT * FROM for_truncate;
+----+------+
| id | name |
+----+------+
| 1 | A |
| 2 | B |
| 3 | C |
+----+------+
3 rows in set (0.00 sec)
操作
-- , 0,
TRUNCATE for_truncate;
Query OK, 0 rows affected (0.10 sec)
--
SELECT * FROM for_truncate;
Empty set (0.00 sec)
-- , id
INSERT INTO for_truncate (name) VALUES ('D');
Query OK, 1 row affected (0.00 sec)
--
SELECT * FROM for_truncate;
+----+------+
| id | name |
+----+------+
| 1 | D |
+----+------+
1 row in set (0.00 sec)
-- , AUTO_INCREMENT=2
SHOW CREATE TABLE for_truncate\G
*************************** 1. row ***************************
Table: for_truncate
Create Table: CREATE TABLE `for_truncate` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8
1 row in set (0.00 sec)