数据库增删改查都是要熟练掌握的。

这部分就来看看前面3个比较简单的部分,增,删,改。

插入数据

为表的所有字段插入数据

insert into table_name (column_list) values (value_list);

注意:

要指定插入表的表名;

column_list指定的是要插入数据的那些列;

value_list指定了对应插入的数据;

字段列和数据值的数量必须要相同;

要么全部指定字段名,要么全不指定;

插入的列名顺序可以和创建表时的顺序不一样,只要插入数据的值和列字段对应即可;

如果列名为空,则要为表的每一个字段指定值,并且顺序要和字段定义时的相同。

为表的指定字段插入数据

只向部分字段插入数据,而其他的字段就使用默认的值

要保证插入数据与字段的数据类型匹配

同时插入多条数据

insert into table_name (column_list)

values

(value_list1),

(value_lsit2),

...,

(value_lsitn);

多行记录的insert语句效率更高

将查询结果插入到表中

insert还可以将select语句查询的结果插入到表中

示例:

insert into table_name1 (column_lsit1)

select (column_list2) from table_name2 where (condition);

column1的字段个数以及字段对应的数据类型都要相同才能插入。

mysql插入时其实对列名不关心,只关心列的位置。

mysql> create table p1
    -> (n1 char(5) not null);
Query OK, 0 rows affected (0.08 sec)

mysql> insert into p1
    -> values
    -> ('abc')
    -> ,
    -> ('efg');
Query OK, 2 rows affected (0.04 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql> create table p2
    -> (n2 varchar(5) not null);
Query OK, 0 rows affected (0.04 sec)

mysql> insert into p2
    -> values
    -> ('xxx'),
    -> ('yyy'),
    -> ('zzz');
Query OK, 3 rows affected (0.01 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> insert into p1 (n1) select (n2) from p2;
Query OK, 3 rows affected (0.06 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> select * from p1;
+-----+
| n1  |
+-----+
| abc |
| efg |
| xxx |
| yyy |
| zzz |
+-----+
5 rows in set (0.00 sec)
这尼玛,一个char(5),一个varchar(5),还不是照样将select查询的结果插进去了。

更新数据

update table_name

set column_name1 = value1, column_name2 = value2, ..., column_namen = valuen

where(condition);

要保证update以where子句结束,否则,mysql中将更新所有的行哦。

删除数据

delete from table_name [where <condition>];

还是那句话最好有where 否则,所有的记录都会被删除,好可怕哟。

提示在执行delete之前还是先花点时间select一下,删除的是哪些数据。

如果想删除表中所有的数据,还可以使用truncate table语句

truncate table将直接删除原来的表并重新创建一个新的表,速度要比delete快。

truncate table table_name;

mysql插入、更新与删除的更多相关文章

  1. mySQL 插入,更新和删除数据

    插入数据: 语法: INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN ); 如 ...

  2. mysql 插入/更新数据

    mysql 插入/更新数据 INSERT 语句 1.一次性列出全部字段的值,例如: INSERT INTO student VALUES('Chenqi','M', 29); INSERT INTO ...

  3. mysql插入数据与删除重复记录的几个例子(收藏)

    mysql插入数据与删除重复记录的几个例子 12-26shell脚本实现mysql数据的批量插入 12-26mysql循环语句插入数据的例子 12-26mysql批量插入数据(insert into ...

  4. SQL.Cookbook 读书笔记4 插入更新和删除

    第四章 插入更新和删除 4.1 插入数据 ,'PROGRA','NEW YOURK'); 4.2 从一个表向另一个表中复制 insert into dept_east(deptno,dname,loc ...

  5. mysql中更新或者删除语句中子语句不能操作同一个表You can't specify target table 'test' for update in FROM clause

    问题描述:有个数据表test,有个字段value,如下 mysql> select * from test;+----+------------------------------------+ ...

  6. mySQL 教程 第5章 插入 更新与删除数据

    使用SQL Manager管理工具连接到schoolDB.由于三张表都设置了主键,因此,以下练习中插入的记录,主键不能重. 插入数据 1. 练习:为表的所有字段插入数据 为表中所有字段插入数据,可以不 ...

  7. MySQL入门很简单: 9 插入 更新与删除数据

    1. 插入数据:INSERT 1)为表的所有字段插入数据 第一种: 不指定具体的字段名 INSERT INTO 表名 VALUES(值1,值2,...,值n): 第二种:INSERT语句中列出所有字段 ...

  8. MySQL笔记(三)之数据插入更新与删除

    INSERT INTO INSERT INTO 语句用于向表格中插入新的行. 语法: INSERT INTO 表 VALUES (值1, 值2,....) # 列数必须和值的个数匹配 INSERT I ...

  9. MySQL插入更新_ON DUPLICATE KEY UPDATE

    前提:操作的表具有主键或唯一索引 INSERT INTO:表中不存在对应的记录,则插入:若存在对应的记录,则报错: INSERT INTO IGNORE:表中不存在对应的记录,则插入:若存在对应的记录 ...

  10. mysql 插入更新判断 ON DUPLICATE KEY UPDATE 和 REPLACE INTO

    平时我们在设计数据库表的时候总会设计 unique 或者 给表加上 primary key 的限制条件.此时 插入数据的时候 ,经常会有这样的情况:我们想向数据库插入一条记录: 若数据表中存在以相同主 ...

随机推荐

  1. linux 常用awk命令

    linux awk命令详解awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每 ...

  2. 10个你必须知道的jQueryMobile代码片段(转)

    1.在列表项和按钮上禁用文本截断      如果你的列表项或者按钮上是一个很长的文本,它将会被jQuery Mobile自动截断,要禁用这个截断设置,需要在CSS选择器上添加属性"white ...

  3. Linux命令-系统健康命令:top

    查看系统健康命令 top之后,按1键可以看到每一个cpu使用情况 top 默认是3秒刷新一次,q退出

  4. MongoDB基本管理命令 [转]

    MongoDB基本管理命令 linux下配置安装mongodb 10分钟玩转mongoDB 官网安装教程 使用命令行方式连接mongodb: mongo /admin -u用户名 -p密码  --连接 ...

  5. 12个JavaScript技巧【转】

    使用!!操作符转换布尔值 有时候我们需要对一个变量查检其是否存在或者检查值是否有一个有效值,如果存在就返回true值.为了做这样的验证,我们可以使用!!操作符来实现是非常的方便与简单.对于变量可以使用 ...

  6. Python学习笔记015——文件file的常规操作(二进制文件)

    有时候诸如图片.音乐等信息不是以文本的形式存储的,而是二进制文件格式存储的. 有时候很多信息不是以文本文件的形式存储的 很多时候,都需要用到二进制读取文件.毕竟很多信息不是以文本的形式存储.例如:图片 ...

  7. Python练习笔记——斐波那契数列

    斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一 ...

  8. Jmeter----逻辑控制器(Logic Controller)

    前言: 1. Jmeter官网对逻辑控制器的解释是:“Logic Controllers determine the order in which Samplers are processed.”.意 ...

  9. Linux内核配置解析 - 概述(基于ARM64架构)

    1. 前言 对刚接触Linux kernel的同学来说,遇到的第一个问题就是:我该从哪里入手?. 话说Linux kernel的打开方式是多种多样的:从简单的设备驱动入手:从源代码的目录结构入手:从k ...

  10. GraphX实现N度关系

    背景 本文给出了一个简单的计算图中每一个点的N度关系点集合的算法,也就是N跳关系. 之前通过官方文档学习和理解了一下GraphX的计算接口. N度关系 目标: 在N轮里.找到某一个点的N度关系的点集合 ...