mysql将查到的数据删除_MySQL基本SQL语句之数据插入、删除数据和更新数据 | 旺旺知识库...

一、INSERT插入数据:

方法一:批量插入

基本语法:

INSERT INTO tb_name (col1, col2, ...) VALUES (val1, val2, ...)[,(val1, val2, ...),...]

字符型:单引号

数值型:不需要引号

日期时间型:不需要引号

空值:NULL,不能写成 ''

如向tutors表插入两行数据:

mysql> INSERT INTO tutors(Tname,Gender,Age) VALUES('Sam','M',28),('Barlow','M',27);

Query OK, 2 rows affected (0.03 sec)

Records: 2  Duplicates: 0  Warnings: 0

方法二:一次插入一行

基本语法:

INSERT INTO tb_name SET col_name={expr | DEFAULT}, ...

如向tutors表插入一行数据:

mysql> INSERT INTO tutors SET Tname='Winne',Gender='F',Age=25;

Query OK, 1 row affected (0.04 sec)

c811d219e74da8e941a1097b0f8ebde8.png

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

基本语法:

INSERT [INTO] tbl_name   [(col_name,...)]   SELECT ...

如下将students表中Age大于20的插入到tutors表中:

mysql> SELECT Name,Gender,Age FROM students WHERE Age > 20;

+-------------+--------+------+

| Name           | Gender  | Age    |

+-------------+--------+------+

| DingDian      | M          |   25   |

| HuFei            | M          |   31   |

| Xuzhu            | M         |   26   |

| LingHuchong | M         |   22   |

+-------------+--------+------+

4 rows in set (0.19 sec)

mysql> INSERT INTO tutors(Tname,Gender,Age) SELECT Name,Gender,Age FROM students WHERE Age > 20;

Query OK, 4 rows affected (0.09 sec)

Records: 4  Duplicates: 0  Warnings: 0

9db06d7e3979bb3519e74bf1863e1602.png

二、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,...)]

SET col_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> UPDATE students SET Age=20 WHERE Name='Xuzhu';

Query OK, 1 row affected (0.04 sec)

Rows matched: 1  Changed: 1  Warnings: 0

25a1afb5369f746f15ea7907b2035413.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值