当前位置: 代码迷 >> 综合 >> mysql基础(3)_sql基本操作之数据操作(增、删、改、查)
  详细解决方案

mysql基础(3)_sql基本操作之数据操作(增、删、改、查)

热度:99   发布时间:2024-02-28 14:55:38.0

插入操作
本质含义:将数据以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)

 

  相关解决方案