在mysql中更新数据与删除数据及保存数据我们用到三个不同的命令,下面我来介绍在mysql中数据保存,删除与更新实例.
insert 语句的定义:
insert 语句一次插入一条数据
insert into links(name,address) values('jerichen','gdsz');
insert 语句一次插入多条数据:
1,字段值2,字段值3),(另一个字段1的值,另一个字段2的值,另一个字段3的值);
# 同时插入两条数据,看语法说明,那个into被我省略了
insert links (name,url) values('jerichen','gdsz'),('alone','gdgz');
UPDATE tbl_name SET 要更改的列
例如,在pet表中,我们发现宠物Whistler的性别没有指定,因此我们可以这样修改这个记录:
mysql> update pet set ***=’f’ where name=” Whistler”;
delete删除记录
DELETE 语句有如下格式:
DELETE FROM tbl_name WHERE 要删除的记录
基础的我们都看了,下面看实例.
一、INSERT插入数据.
方法一:批量插入
基本语法:INSERT INTO tb_name (col1, col2, ...) VALUES (val1, val2, ...)[,(val1, val2, ...),...]
字符型:单引号,数值型:不需要引号,日期时间型:不需要引号,空值:NULL,不能写成 '',如向tutors表插入两行数据:
- mysql>INSERTINTOtutors(Tname,Gender,Age)VALUES('Sam','M',28),('Barlow','M',27);
- QueryOK,2rowsaffected(0.03sec)
- Records:2Duplicates:0Warnings:0
方法二:一次插入一行
基本语法:
- INSERTINTOtb_
- ameSETcol_name={expr|DEFAULT},...
- 如向tutors表插入一行数据:
- mysql>INSERTINTOtutorsSETTname='Winne',Gender='F',Age=25;
- QueryOK,1rowaffected(0.04sec)
方法三:将查询结果插入到表
基本语法:
- INSERT[INTO]tbl_name[(col_name,...)]SELECT...
- //如下将students表中Age大于20的插入到tutors表中:
- mysql>SELECTName,Gender,AgeFROMstudentsWHEREAge>20;
- +-------------+--------+------+
- |Name|Gender|Age|
- +-------------+--------+------+
- |DingDian|M|25|
- |HuFei|M|31|
- |Xuzhu|M|26|
- |LingHuchong|M|22|
- +-------------+--------+------+
- 4rowsinset(0.19sec)
- mysql>INSERTINTOtutors(Tname,Gender,Age)SELECTName,Gender,AgeFROMstudentsWHEREAge>20;
- QueryOK,4rowsaffected(0.09sec)
- Records:4Duplicates:0Warnings:0
二、REPLACE插入数据
使用INSERT插入数据时,如果违反约束,会导致插入失败,如students表要求Name字段不能相同,那使用INSERT插入已经存在的Name时,就会失败,使用REPLACE插入数据,可以在此种情况下,使用新数据替换原数据,而如果不违反约束关系,则与INSERT一样正常插入数据.
REPLACE基本语法与INSERT完全一样:
方法一:
- REPLACE[LOW_PRIORITY|DELAYED]
- [INTO]tbl_name
- [PARTITION(partition_name,...)]
- [(col_name,...)]
- {VALUES|VALUE}({expr|DEFAULT},...),(...),...
方法二:
- REPLACE[LOW_PRIORITY|DELAYED]
- [INTO]tbl_name
- [PARTITION(partition_name,...)]
- SETcol_name={expr|DEFAULT},...
方法三:
- REPLACE[LOW_PRIORITY|DELAYED]
- [INTO]tbl_name
- [PARTITION(partition_name,...)]
- [(col_name,...)]
- SELECT...
三、DELETE删除数据:
基本语法:DELETE FROM tb_name WHERE condition;
WHERE子句用法同SELECT中的WHERE
如下删除tutors表中Age小于30的行:
mysql> DELETE FROM tutors WHERE Age < 30;
Query OK, 6 rows affected (0.07 sec)
需要注意的是,删除数据后,AUTOINCREMENT计数器中对应数据并不会删除,如果需要清空一张表,并重置AUTOINCREMENT计数器,可以使用如下命令:
TRUNCATE tb_name
四、UPDATE更新数据
基本语法:UPDATE tb_name SET col1=..., col2=... WHERE
如下将students表中xuzhu的Age改为20:
- mysql>UPDATEstudentsSETAge=20WHEREName='Xuzhu';
- QueryOK,1rowaffected(0.04sec)
- Rowsmatched:1Changed:1Warnings:0
- //phpfensi.com