插入

单行插入

  1.insert into 表名 values(col1_value,col2_value,...);

  •   每个列必须提供一个值,如果没有值,要提供NULL值
  •   每个列必须与它在表中定义的次序相同

  2.insert into 表名(col1,col2...) values(col1_value,col2_value...);

  •   values必须与指定的列名次序匹配,不一定按照列在表中的实际出现的次序,即使表结构改变也能正常的工作

注意

  如果表的定义允许,在插入时可以省略某些列,表的定义应该如下

  1. 该列允许为NULL值
  2. 在表定义时给出默认值,如果插入时不给出值,则使用默认值

多行插入

  insert into 表名(col1,col2...) values(col1_value1,col2_value1...),values(col1_value2,col2_value2...)values(col1_value3,col2_value3...);

插入检索出的数据

  insert into 表名1(col1,col2...) select col1,col2... from 表名2

  •   这条语句插入多少行依赖于表名1中有多少行,如果表名1为空,则没有数据插入,此操作为合法操作
  •   它不关心select返回的列名,使用的是列的位置,select中的第一列用于填充表中的第一列等
  •   select可以使用where过滤数据

拓展

  由于数据库是被客户访问,对处理什么请求及什么次序处理是MySQL任务,insert很耗时并且可能降低select语句的性能

  insert low_priority into 可以降低insert优先级也使用update和delete

更新

  更新的是列,由三部分组成

  1. 要更新的表
  2. 列名和他们的值
  3. 确定要更新的过滤条件
update 表名
-> set 列名=要更新的值
-> where 过滤条件;

注意

  1. 一定要使用where!!!where!!!where!!!
  2. 可以在update中使用子查询,能够使select语句检索出的数据更新列数据
  3. 如果使用update更新多行,在更新时出现一个或多个错误,则整个update操作被取消,恢复到被更新的原来的值,若使用update ignore 表,可以继续更新
  4. 保证每个表都有主键,像where字句那样使用它
  5. 使用where之前,先使用select进行测试,保证过滤出正确的记录

删除

  删除的是整行

delete from 表名
-> where 过滤条件;

  要删除全部的行用

truncate table 表名;

  此操作是将原来的表删除并创建一个新表,并不是逐行删除数据

注意

  1. 一定要使用where!!!where!!!where!!!
  2. delete删除的是表中的行或所有的行,不删除表本身
  3. 保证每个表都有主键,像where字句那样使用它
  4. 使用where之前,先使用select进行测试,保证过滤出正确的记录
  5. 删除列用update
  6. 强制实施引用完整性的数据库,这样mysql不允许删除具有与其他表相关联的数据的行

MySQL插入,更新,删除数据的更多相关文章

  1. oracle插入,更新,删除数据

    插入,更新,删除数据 oracle提供了功能丰富的数据库管理语句 包括有效的向数据库中插入数据的insert语句 更新数据的update语句 以及当数据不再使用时删除数据的delete语句 更改数据之 ...

  2. MariaDB 插入&更新&删除数据(8)

    MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可MariaDB的目的是完全兼容MySQL,包括API和命令行,MySQL由于现在闭源了,而能轻松成为MySQ ...

  3. Mysql添加更新删除数据-表

    例如 此处拥有一个表名为 uuser 为表添加新数据 ,'); ,'); ,'); 假如只想添加uid和uname ,'小张'); 那么pas自动填充为NULL. 为表更新数据 这里把小王的pas改成 ...

  4. 我的MYSQL学习心得(八) 插入 更新 删除

    我的MYSQL学习心得(八) 插入 更新 删除 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得( ...

  5. mysql 插入/更新数据

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

  6. sqlserver 插入 更新 删除 语句中的 output子句

    官方文档镇楼: https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2008/ms177564(v=sql.100) 从 ...

  7. PHP MySQL 插入多条数据

    PHP MySQL 插入多条数据 使用 MySQLi 和 PDO 向 MySQL 插入多条数据 mysqli_multi_query() 函数可用来执行多条SQL语句. 以下实例向 "MyG ...

  8. 使用 MySQLi 和 PDO 向 MySQL 插入多条数据

    PHP MySQL 插入多条数据 使用 MySQLi 和 PDO 向 MySQL 插入多条数据 mysqli_multi_query() 函数可用来执行多条SQL语句. 以下实例向 "MyG ...

  9. MySQL基本SQL语句之数据插入、删除数据和更新数据

    一.INSERT插入数据: 方法一:批量插入 基本语法: INSERT INTO tb_name (col1, col2, ...) VALUES (val1, val2, ...)[,(val1, ...

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

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

随机推荐

  1. webpack进阶构建项目(一):1.理解webpack加载器

    1.理解webpack加载器 webpack的设计理念,所有资源都是“模块”,webpack内部实现了一套资源加载机制,这与Requirejs.Sea.js.Browserify等实现有所不同. We ...

  2. <Yarn><Node Labels>

    Go through official docs For the official docs of Yarn node label, plase see here. Overview Node lab ...

  3. <Java><类加载机制><反射>

    类加载过程 类从被加载到虚拟机内存开始,直到卸载出内存,它的整个生命周期包括:加载(Loading), 验证(Verification), 准备(Preparation), 解析(Resolution ...

  4. day 关于生成器的函数

    def average(): count=0 toatal=0 average=0 while True: value=yield average toatal+=value count+=1 ave ...

  5. 我有特殊的Windows激活姿势

    一直都在用的激活姿势,给大家分享下~ 保存为 .cmd 文件 右键->以管理员身份运行 @echo off setlocal EnableDelayedExpansion & cd /d ...

  6. 2019-03-07-day006-小数据池

    01 昨日内容回顾 字典: 映射,{} 键值对的形式存储,容器型数据类型,key 唯一的,可哈希的,value任意数据类型,对象. 3.6之前无序的, 3.6之后,有序的(第一次创建字典的顺序) 特点 ...

  7. java中高级

    面试问题: 一.Java基础方面: 1.Java面相对象的思想的理解(主要是多态): http://blog.csdn.net/zhaojw_420/article/details/70477636 ...

  8. lua 取table长度

    http://blog.csdn.net/wangmanjie/article/details/52793902 static int unbound_search (Table *t, unsign ...

  9. 1.4 Chrome浏览器

    1.4 Chrome浏览器 前言selenium2启动Chrome浏览器是需要安装驱动包的,但是不同的Chrome浏览器版本号,对应的驱动文件版本号又不一样,如果版本号不匹配,是没法启动起来的. ## ...

  10. 阿里云CentOS中vsftp安装、配置、卸载

    1--卸载 查看当前服务器中的vsftpdrpm -qa|grep vsftpd 例如结果为:vsftpd-2.2.2-13.el6_6.1.x86_64执行卸载rpm -e vsftpd-2.2.2 ...