一、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)

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

基本语法:

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

二、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

MySQL基本SQL语句之数据插入、删除数据和更新数据的更多相关文章

  1. Mysql常用sql语句(22)- insert 插入数据

    测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 终于讲完基础的查询语句了...这篇讲的就是插入数 ...

  2. Mysql常用sql语句(24)- delete 删除数据

    测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 delete 也属于DML语句(数据操纵语句) ...

  3. sql语句 怎么从一张表中查询数据插入到另一张表中?

    sql语句 怎么从一张表中查询数据插入到另一张表中?  ----原文地址:http://www.phpfans.net/ask/MTc0MTQ4Mw.html 比如我有两张表 table1 字段 un ...

  4. Mysql常用sql语句(23)- update 修改数据

    测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 update 也是DML语句哦(数据操作语言) ...

  5. Mysql常用sql语句(4)- distinct 去重数据

    测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 我们使用select进行数据查询时是会返回所有匹 ...

  6. mysql进阶(十九)SQL语句如何精准查找某一时间段的数据

    SQL语句如何精准查找某一时间段的数据 在项目开发过程中,自己需要查询出一定时间段内的交易.故需要在sql查询语句中加入日期时间要素,sql语句如何实现? SELECT * FROM lmapp.lm ...

  7. Mysql 常用 SQL 语句集锦

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  8. Mysql 常用 SQL 语句集锦 转载(https://gold.xitu.io/post/584e7b298d6d81005456eb53)

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  9. MySQL数据库SQL语句基本操作

    一.用户管理: 创建用户: create user '用户名'@'IP地址' identified by '密码'; 删除用户: drop user '用户名'@'IP地址'; 修改用户: renam ...

  10. MySQL与SQL语句的操作

    MySQL与SQL语句的操作 Mysql比较轻量化,企业用的是Oracle,基本的是熟悉对数据库,数据表,字段,记录的更新与修改 1. mysql基本信息 特殊数据库:information_sche ...

随机推荐

  1. js删除dom节点时候索引出错问题

    我们知道删除一个dom节点的时候索引就会发生了改变,甚至是错误,就算jq的ecah也无能为力,所以我们只能自己写个功能了 直接上代码把,不多说 <!DOCTYPE html> <ht ...

  2. Masonry 动画

    比如想做一个最简单的位移动画: 关键点在,改完约束后,调用下面这段代码,父view调用 layoutIfNeeded [UIView animateWithDuration:0.5 animation ...

  3. google event

    一目了然,也不用多说了,随便记录下,内部实现基于观察者模式 TestEvent public class TestEvent { private final int message; public T ...

  4. byobu copy

    Copy and Paste in Scrollback mode (screen/byobu) Enter scrollback mode: F7 Move the cursor to the st ...

  5. java字符串常量池——字符串==比较的一个误区

    转自:https://blog.csdn.net/wxz980927155/article/details/81712342   起因 再一次js的json对象的比较中,发现相同内容的json对象使用 ...

  6. Dev的TextEdit控件IP地址的Mask设置

    1. 添加TextEdit控件. 2. 选中TextEdit控件,查看控件属性. 3. 展开Properties属性项,找到Mask属性项. 4. 设置Mask属性项的EditMask属性值为:(25 ...

  7. linux 协议栈tcp的rst报文中,seq的选取问题

    之前在<深入理解并行编程>的群里,有个小米的兄弟问了一个问题,服务器A发包给服务器B,Seq是1,但是在未能收到服务器B的报文回复的情况下,发送了rst,但是rst报文中,对应的seq是1 ...

  8. Oracle快速导入数据工具

    sqlldr是oracle自带的快速导入批量数据的工具,常用于性能测试.考虑手工构造控制文件较为繁琐,因此使用脚本完成批量数据的自动导入. 基本知识 sqlldr命令语法 sqlldr dbname/ ...

  9. 18. socket io

    类似dataservice 我们socket io 和后端交互 我们也可以做成专门的service 我们先引入 为什么不是cdn呢? 因为client就是从我们的server端拿到的socket.io ...

  10. 怎么在idea中新建package包,只有directory选项

    http://blog.csdn.net/liyanlei5858/article/details/77320063