首页 > 数据库 > MySQL > 正文

MySQL入门插入、删除和更新数据sql语句

2024-07-24 12:36:48
字体:
来源:转载
供稿:网友

在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表插入两行数据:

  1. mysql> INSERT INTO tutors(Tname,Gender,Age) VALUES('Sam','M',28),('Barlow','M',27);  
  2. Query OK, 2 rows affected (0.03 sec)  
  3. Records: 2  Duplicates: 0  Warnings: 0 

方法二:一次插入一行

基本语法:

  1. INSERT INTO tb_ 
  2. ame SET col_name={expr | DEFAULT}, ... 
  3. 如向tutors表插入一行数据: 
  4. mysql> INSERT INTO tutors SET Tname='Winne',Gender='F',Age=25;  
  5. Query OK, 1 row affected (0.04 sec) 

方法三:将查询结果插入到表

基本语法:

  1. INSERT [INTO] tbl_name   [(col_name,...)]   SELECT ... 
  2. //如下将students表中Age大于20的插入到tutors表中: 
  3. mysql> SELECT Name,Gender,Age FROM students WHERE Age > 20;  
  4. +-------------+--------+------+  
  5. Name           | Gender  | Age    |  
  6. +-------------+--------+------+  
  7. | DingDian      | M          |   25   |  
  8. | HuFei            | M          |   31   |  
  9. | Xuzhu            | M         |   26   |  
  10. | LingHuchong | M         |   22   |  
  11. +-------------+--------+------+  
  12. rows in set (0.19 sec) 
  13. mysql> INSERT INTO tutors(Tname,Gender,Age) SELECT Name,Gender,Age FROM students WHERE Age > 20;  
  14. Query OK, 4 rows affected (0.09 sec)  
  15. Records: 4  Duplicates: 0  Warnings: 0 

二、REPLACE插入数据

使用INSERT插入数据时,如果违反约束,会导致插入失败,如students表要求Name字段不能相同,那使用INSERT插入已经存在的Name时,就会失败,使用REPLACE插入数据,可以在此种情况下,使用新数据替换原数据,而如果不违反约束关系,则与INSERT一样正常插入数据.

REPLACE基本语法与INSERT完全一样:

方法一:

  1. REPLACE [LOW_PRIORITY | DELAYED]  
  2.     [INTO] tbl_name  
  3.     [PARTITION (partition_name,...)]  
  4.     [(col_name,...)]  
  5.     {VALUES | VALUE} ({expr | DEFAULT},...),(...),... 

方法二:

  1. REPLACE [LOW_PRIORITY | DELAYED]  
  2.     [INTO] tbl_name  
  3.     [PARTITION (partition_name,...)]  
  4.     SET col_name={expr | DEFAULT}, ... 

方法三:

  1. REPLACE [LOW_PRIORITY | DELAYED]  
  2.     [INTO] tbl_name  
  3.     [PARTITION (partition_name,...)]   
  4.     [(col_name,...)]  
  5.     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:

  1. mysql> UPDATE students SET Age=20 WHERE Name='Xuzhu';  
  2. Query OK, 1 row affected (0.04 sec)  
  3. Rows matched: 1  Changed: 1  Warnings: 0 
  4. //Vevb.com

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表