数据都是存储在数据表中。

数据的基本操作有4种:增(插入insert),删(删除delete),改(修改update),查(查询select)。

即所谓的 CRUD 操作: Create(创建), Retrieve(获取), Update(更新), Delete(删除)。

插入数据

语句形式:insert into 表名 (字段名1, 字段名2, ... ) values (数据1, 数据2, ... );

说明:

  1. 字段名和数据是“一一对应”的,包括:数量一致,顺序一致,类型匹配。
  2. 对于要写入的数据,字符串和时间日期类型,要用单引号引起来。
  3. 可以省略“字段列表”部分,此时就需要给出跟字段数量一样多的数据,类似这样:insert into 表名 values (数据1, 数据2, ... );
-- 数据插入:
--insert into info (字段名列表....) values (对应值的列表);
insert into info (id, title, email, content)
    values(1, '今天我们可以不上自习吗?', 'tianxiang@qq.com', '不可以!');
insert into info (id, title, email, content)
    values(2, '明天我们要上 自习吗?', '1234567@qq.com', '必须!');
insert into info (id, title, email)
    values(3, '标题3 自习吗?', '33333@qq.com');
insert into info 
    values(4, '标题4 自习吗?', '4444@qq.com', '回复内容4');

查询数据

语句形式:select 字段名1, 字段名2, ... from 表名 [ where 条件];

说明:

  1. select后的字段列表用于设定要从表中取出的哪些字段的值。
  2. select后可以只使用一个“*”号表示取出该表中所有字段的值。
  3. where条件表示取出的数据所应满足的条件,比如:

    • where id < 10 表示取出那些字段id的值小于10的行。
    • where age > 60 表示取出那些字段age的值大于60的行
  4. where条件可以不写,就取出所有行的数据。
-- 数据查询:
select * from info;
select id, title, email, content from info;
select id, title, email from info;
select email, title, id from info;    

-- 举例
mysql> select * from info;
+------+--------------------------+------------------+-----------+
| id   | title                    | email            | content   |
+------+--------------------------+------------------+-----------+
|    1 | 今天我们可以不上自习吗?                      | tianxiang@qq.com | 不可以!         |
|    2 | 明天我们要上 自习吗?                      | 1234567@qq.com   | 必须!        |
|    3 | 标题3 自习吗?                      | 33333@qq.com     | NULL      |
|    4 | 标题4 自习吗?                      | 4444@qq.com      | 回复内容4        |
+------+--------------------------+------------------+-----------+
4 rows in set (0.00 sec)

mysql> select email, title, id from info;
+------------------+--------------------------+------+
| email            | title                    | id   |
+------------------+--------------------------+------+
| tianxiang@qq.com | 今天我们可以不上自习吗?                      |    1 |
| 1234567@qq.com   | 明天我们要上 自习吗?                      |    2 |
| 33333@qq.com     | 标题3 自习吗?                      |    3 |
| 4444@qq.com      | 标题4 自习吗?                      |    4 |
+------------------+--------------------------+------+
4 rows in set (0.00 sec)

删除数据

语句形式:delete from 表名 [where 条件];

说明:

  1. 删除数据指的是删除表的某些行,比如原来有10行,可以将其中的3行删除,则剩下7行。
  2. where条件表示删除数据所应满足的条件,含义跟select中的一样。
  3. where 条件可以不写,如果不写,则会删除所有数据——通常都不会这么用。
-- 数据删除:
delete  from 表名  [where 条件]

修改数据

语句形式:

update 表名 set 字段名1 = 新值1, 字段名2=新值2, ... [where条件];

说明:

  1. 修改数据指的是修改表的某些行的某些字段。
  2. where条件表示修改数据所应满足的条件,含义跟select中的一样。
  3. where 条件可以不写,如果不写,则会修改所有数据——通常都不会这么用。
-- 数据修改:
update  表名  set  字段名1 = 新值1, 字段名2=新值2, ...  [where条件];