MySQL插入,更新,删除数据
插入
单行插入
1.insert into 表名 values(col1_value,col2_value,...);
- 每个列必须提供一个值,如果没有值,要提供NULL值
- 每个列必须与它在表中定义的次序相同
2.insert into 表名(col1,col2...) values(col1_value,col2_value...);
- values必须与指定的列名次序匹配,不一定按照列在表中的实际出现的次序,即使表结构改变也能正常的工作
注意
如果表的定义允许,在插入时可以省略某些列,表的定义应该如下
- 该列允许为NULL值
- 在表定义时给出默认值,如果插入时不给出值,则使用默认值
多行插入
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
更新
更新的是列,由三部分组成
- 要更新的表
- 列名和他们的值
- 确定要更新的过滤条件
update 表名
-> set 列名=要更新的值
-> where 过滤条件;
注意
- 一定要使用where!!!where!!!where!!!
- 可以在update中使用子查询,能够使select语句检索出的数据更新列数据
- 如果使用update更新多行,在更新时出现一个或多个错误,则整个update操作被取消,恢复到被更新的原来的值,若使用update ignore 表,可以继续更新
- 保证每个表都有主键,像where字句那样使用它
- 使用where之前,先使用select进行测试,保证过滤出正确的记录
删除
删除的是整行
delete from 表名
-> where 过滤条件;
要删除全部的行用
truncate table 表名;
此操作是将原来的表删除并创建一个新表,并不是逐行删除数据
注意
- 一定要使用where!!!where!!!where!!!
- delete删除的是表中的行或所有的行,不删除表本身
- 保证每个表都有主键,像where字句那样使用它
- 使用where之前,先使用select进行测试,保证过滤出正确的记录
- 删除列用update
- 强制实施引用完整性的数据库,这样mysql不允许删除具有与其他表相关联的数据的行
MySQL插入,更新,删除数据的更多相关文章
- oracle插入,更新,删除数据
插入,更新,删除数据 oracle提供了功能丰富的数据库管理语句 包括有效的向数据库中插入数据的insert语句 更新数据的update语句 以及当数据不再使用时删除数据的delete语句 更改数据之 ...
- MariaDB 插入&更新&删除数据(8)
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可MariaDB的目的是完全兼容MySQL,包括API和命令行,MySQL由于现在闭源了,而能轻松成为MySQ ...
- Mysql添加更新删除数据-表
例如 此处拥有一个表名为 uuser 为表添加新数据 ,'); ,'); ,'); 假如只想添加uid和uname ,'小张'); 那么pas自动填充为NULL. 为表更新数据 这里把小王的pas改成 ...
- 我的MYSQL学习心得(八) 插入 更新 删除
我的MYSQL学习心得(八) 插入 更新 删除 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得( ...
- mysql 插入/更新数据
mysql 插入/更新数据 INSERT 语句 1.一次性列出全部字段的值,例如: INSERT INTO student VALUES('Chenqi','M', 29); INSERT INTO ...
- sqlserver 插入 更新 删除 语句中的 output子句
官方文档镇楼: https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2008/ms177564(v=sql.100) 从 ...
- PHP MySQL 插入多条数据
PHP MySQL 插入多条数据 使用 MySQLi 和 PDO 向 MySQL 插入多条数据 mysqli_multi_query() 函数可用来执行多条SQL语句. 以下实例向 "MyG ...
- 使用 MySQLi 和 PDO 向 MySQL 插入多条数据
PHP MySQL 插入多条数据 使用 MySQLi 和 PDO 向 MySQL 插入多条数据 mysqli_multi_query() 函数可用来执行多条SQL语句. 以下实例向 "MyG ...
- MySQL基本SQL语句之数据插入、删除数据和更新数据
一.INSERT插入数据: 方法一:批量插入 基本语法: INSERT INTO tb_name (col1, col2, ...) VALUES (val1, val2, ...)[,(val1, ...
- mySQL 插入,更新和删除数据
插入数据: 语法: INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN ); 如 ...
随机推荐
- 使用MyEclipse开发Java EE应用:用XDoclet创建EJB 2 Session Bean项目(二)
[MyEclipse最新版下载] 二.创建一个Session EJB – Part 1 MyEclipse中的EJB 2.x开发使用了EJB向导和集成XDoclet支持的组合. 每个EJB由三个基本部 ...
- 201621123001 《Java程序设计》第9周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 1.2 选做:收集你认为有用的代码片段 关于泛型 <T extends Comparable <T ...
- 缓存一致性协议 mesi
m : modified e : exlusive s : shared i : invalid 四种状态的转换略过,现在讨论为什么有了这个协议,i++在多线程上还不是安全的. 两个cpu A B同时 ...
- Tap 模拟手势点击坐标
前言:有时候元素怎么都定位不到,没办法就只能坐标定位了,不过这个坐标定位不准确,换个手机就可能定位不到了,这是一个下下策的定位方式. tap用法 1.tap是模拟手指点击页面上元素语法有两个参数,第一 ...
- 20165214 实验二 Java面向对象程序设计
一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:朱文远 学号:20165214 指导教师:娄嘉鹏 实验日期:2018年4月16日 实验时间:13:45 - 15:25 实验序号:二 ...
- JavaScript , js 上下文(this 的指代)
上下文 代表 this 变量的值, 以及 它的 指代; 它决定一个函数怎么被调用; 当一个函数作为一个对象的方法被调用的时候, this总是指向 调用这个方法的对象. ----- 1 ,情况一: 字面 ...
- Oralce 11g新特性 转载
Oracle 11g于2007年7月11日美国东部时间11时(北京时间11日22时)正式发布,11g是甲骨文公司30年来发布的最重要的数据库版本,根据用户的需求实现了信息生命周期管理(Informat ...
- OSPF路由协议(一)
实验要求:使用OSPF协议,使各个PC之间能够相互通信 拓扑如下: 配置如下: R1enableconfigure terminal interface f0/0ip address 192.168. ...
- linux 系统命令和方法
1.EXPORT EXPORT 依赖库===============export LD_LIBRARY_PATH=/opt/export LD_LIBRARY_PATH=/usrlib/ 2.查看分区 ...
- ORACLE外连接实例
--查询各个部门工资范围,按照1000~2000,2000~3000....这样的格式显示人数 -------------------方法一 select dept.dname ,nvl(ano,) ...