1 插入数据记录
MySql软件中可以通过INSERT INTO语句来实现插入数据记录,该语句可以通过如下四种方式使用:
(1)插入完整数据记录
(2)插入数据记录一部分
(3)插入多条数据记录
(4)插入查询结果
1.1 插入完整数据记录
语法形式如下:
insert into table_name(field1,filed2....fieldn) values(value1,value2.....valuen);其中filed是表中字段的名称,value是需要插入的值,示例如下:
mysql> select * from t_dept;
Empty set (0.00 sec)
mysql> insert into t_dept(deptno,deptname,location) values(0,'SALES','SHANGHAI');
Query OK, 1 row affected (0.00 sec)
mysql> select * from t_dept;
+--------+----------+----------+
| deptno | deptname | location |
+--------+----------+----------+
| 0 | SALES | SHANGHAI |
+--------+----------+----------+
1 row in set (0.00 sec)
另外,在插入全部数据时,可以省略字段参数,使用下述语法:
insert into table_name values(value1,value2.....valuen);
1.2 插入数据记录一部分
语法形式如下:
insert into table_name(field1,filed2....fieldn) values(value1,value2.....valuen);
语法形式和插入全部数据时一样,但这是不能省略字段参数,且字段参数并非表中的全部字段,只是需要插入数据的一部分字段,另外插入数据时字段和插入数据值要一一对应。示例如下:
mysql> insert into t_dept(deptname,location) values('MGR','BEIJING');
Query OK, 1 row affected (0.00 sec)
mysql> select * from t_dept;
+--------+----------+----------+
| deptno | deptname | location |
+--------+----------+----------+
| 0 | SALES | SHANGHAI |
| NULL | MGR | BEIJING |
+--------+----------+----------+
2 rows in set (0.00 sec)
1.3 插入多条记录
语法形式如下:
insert into table_name(filed1,filed2...filedn) values(value11,value12...value1n),
(value21,value22...value2n),
...
(valuen1,valuen2...valuenn);
从语法形式可以看出,多条记录插入时values后跟上多条需要插入的数据值并用逗号隔开。当然,插入全部数据的情况下也可以省略field字段,示例略。
1.4 插入查询结果
语法形式如下:
insert into table_name1(filed11,filed12...filed1n) select (filed21,field22..field2n) from table_name2 where.....参数table_name1表示要插入数值的表,参数table_name2表示所要插入的数值从哪个表中查出,在具体使用时,参数(field11,field12....field1n)和参数(field21,field22....field2n)的个数和类型必须一致。
2 删除数据
2.1 删除特定数据
语法形式如下:
delete from table_name where condition;示例如下:
mysql> select * from t_dept;
+--------+----------+----------+
| deptno | deptname | location |
+--------+----------+----------+
| 0 | SALES | SHANGHAI |
| NULL | MGR | BEIJING |
+--------+----------+----------+
2 rows in set (0.00 sec)
mysql>
mysql> delete from t_dept where deptname='MGR';
Query OK, 1 row affected (0.00 sec)
mysql> select * from t_dept;
+--------+----------+----------+
| deptno | deptname | location |
+--------+----------+----------+
| 0 | SALES | SHANGHAI |
+--------+----------+----------+
1 row in set (0.00 sec)
2.2 删除全部数据
语法形式:
delete from table_name where condition;
为了删除全部数据,参数condition需要满足表中所有的数据记录或者时无关键字的where语句。
示例如下:
mysql> delete from t_dept where deptno<12;如下示例表示删除数据表中所有数据,谨慎使用:
mysql> delete from t_dept;