MySQL学习之表的增删改
语法总结:
INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...); //指定字段添加数据
INSERT INTO 表名 VALUES (值1, 值2, ...); //给全部字段添加数据
INSERT INTO 表名 VALUES (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...) ; //批量添加数据
UPDATE 表名 SET 字段名1 = 值1 , 字段名2 = 值2 , .... [ WHERE 条件 ] ; //修改数据
DELETE FROM 表名 [ WHERE 条件 ] ; //删除语句
添加数据
数据库的表结构如下
mysql> desc user;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id | int | YES | | NULL | |
| name | varchar(50) | YES | | NULL | |
| gender | char(1) | YES | | NULL | |
| addr | varchar(50) | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
给指定字段添加数据
mysql> insert into user (id, name, gender, addr) values (1,'雷军','男','武汉大学');
Query OK, 1 row affected (0.00 sec)
验证
mysql> select * from user;
+------+------+--------+----------+
| id | name | gender | addr |
+------+------+--------+----------+
| 1 | 雷军 | 男 | 武汉大学 |
+------+------+--------+----------+
1 row in set (0.01 sec)
给所有字段添加数据
mysql> insert into user values (2,'东哥','男','人名大学');
Query OK, 1 row affected (0.00 sec)
mysql> select * from user;
+------+------+--------+----------+
| id | name | gender | addr |
+------+------+--------+----------+
| 1 | 雷军 | 男 | 武汉大学 |
| 2 | 东哥 | 男 | 人名大学 |
+------+------+--------+----------+
2 rows in set (0.00 sec)
批量添加数据
mysql> insert into user values(3,'李子冉','女','四川九寨沟'),(4,'章泽天','女','清华大学');
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> select * from user;
+------+--------+--------+------------+
| id | name | gender | addr |
+------+--------+--------+------------+
| 1 | 雷军 | 男 | 武汉大学 |
| 2 | 东哥 | 男 | 人名大学 |
| 3 | 李子冉 | 女 | 四川九寨沟 |
| 4 | 章泽天 | 女 | 清华大学 |
+------+--------+--------+------------+
4 rows in set (0.00 sec)
修改数据
mysql> update user set name='北京现金王' where id = 1;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from user;
+------+------------+--------+------------+
| id | name | gender | addr |
+------+------------+--------+------------+
| 1 | 北京现金王 | 男 | 武汉大学 |
| 2 | 东哥 | 男 | 人名大学 |
| 3 | 李子冉 | 女 | 四川九寨沟 |
| 4 | 章泽天 | 女 | 清华大学 |
+------+------------+--------+------------+
4 rows in set (0.00 sec)
将所有记录的 gender改成 女
mysql> update user set gender = '女';
Query OK, 2 rows affected (0.00 sec)
Rows matched: 4 Changed: 2 Warnings: 0
mysql> select * from user;
+------+------------+--------+------------+
| id | name | gender | addr |
+------+------------+--------+------------+
| 1 | 北京现金王 | 女 | 武汉大学 |
| 2 | 东哥 | 女 | 人名大学 |
| 3 | 李子冉 | 女 | 四川九寨沟 |
| 4 | 章泽天 | 女 | 清华大学 |
+------+------------+--------+------------+
4 rows in set (0.00 sec)
删除数据
删除id为4的数据
mysql> delete from user where id = 4;
Query OK, 1 row affected (0.00 sec)
mysql> select * from user;
+------+------------+--------+------------+
| id | name | gender | addr |
+------+------------+--------+------------+
| 1 | 北京现金王 | 女 | 武汉大学 |
| 2 | 东哥 | 女 | 人名大学 |
| 3 | 李子冉 | 女 | 四川九寨沟 |
+------+------------+--------+------------+
3 rows in set (0.00 sec)
删除所有数据
mysql> delete from user;
Query OK, 3 rows affected (0.00 sec)
mysql> select * from user;
Empty set (0.00 sec)