插入操作
本质含义:将数据以SQL的形式存储到指定的数据表(字段)里面
基本语法:
向表中指定字段插入数据:insert into 表名 [(字段列表)] values (对应字段列表);
向表中所有字段插入数据:insert into 表名 values (对应表结构);
注意:1、向表中指定字段插入数据时,字段列表并不一定非要有所有的表中字段,后面(values中)对应的值列表只需要与前面的字段列表相对应即可(不一定与表结构完全一致)
2、向表中所有字段插入数据时,值列表必须与字段列表一致
mysql> desc class;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name | varchar(10) | YES | | NULL | |
| age | int(11) | YES | | NULL | |
| address | varchar(50) | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
3 rows in set (0.02 sec)
-- 字段列表并不一定非要有所有的表中字段
mysql> insert into class (name,age) values ('小明',22);
Query OK, 1 row affected (0.00 sec)
-- 字段顺序不一定与表结构完全一致)
mysql> insert into class (age,name) values (18,'小虎');
Query OK, 1 row affected (0.11 sec)
-- 向表中所有字段插入数据时,值列表必须与字段列表一致
mysql> insert into class values ('小可',16,'北京');
Query OK, 1 row affected (0.00 sec)
查询操作
基本语法:
查询表中全部数据:select * from 表名; //*表示匹配所有的字段
查询表中部分字段:select 字段列表 from 表名;
简单条件查询数据:select 字段列表/* from 表名 where 字段名 = 值;(常用)
mysql> select * from class;
+------+------+---------+
| name | age | address |
+------+------+---------+
| 小明 | 22 | NULL |
| 小虎 | 18 | NULL |
| 小可 | 16 | 北京 |
+------+------+---------+
3 rows in set (0.00 sec)mysql> select name from class;
+------+
| name |
+------+
| 小明 |
| 小虎 |
| 小可 |
+------+
3 rows in set (0.00 sec)mysql> select * from class where name = '小可';
+------+------+---------+
| name | age | address |
+------+------+---------+
| 小可 | 16 | 北京 |
+------+------+---------+
1 row in set (0.11 sec)
更新操作
更新:将数据进行修改(通常是修改部分字段数据)
基本语法:update 表名 set 字段名 = 新值 [where 条件]; //如果没有where条件,那么所有的表中对应的那个字段都会被修改成统一值
mysql> update class set age = 20 where name = '小可';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0mysql> select * from class;
+------+------+---------+
| name | age | address |
+------+------+---------+
| 小明 | 22 | NULL |
| 小虎 | 18 | NULL |
| 小可 | 20 | 北京 |
+------+------+---------+
3 rows in set (0.00 sec)
删除操作
基本语法:delete from 表名 [where 条件]; //如果没有where条件,意味着系统自动删除该表所有数据(慎用)
mysql> delete from class where address = '北京';
Query OK, 1 row affected (0.00 sec)mysql> select * from class;
+------+------+---------+
| name | age | address |
+------+------+---------+
| 小明 | 22 | NULL |
| 小虎 | 18 | NULL |
+------+------+---------+
2 rows in set (0.00 sec)mysql> alter table class drop address;
Query OK, 2 rows affected (0.12 sec)
Records: 2 Duplicates: 0 Warnings: 0mysql> select * from class;
+------+------+
| name | age |
+------+------+
| 小明 | 22 |
| 小虎 | 18 |
+------+------+
2 rows in set (0.00 sec)