MySQL插入数据与更新和删除数据

数据插入

此前一直使用语句,但还有三个经常使用的SQL语句需要掌握(、和)。

插入的几种形式,

1. 插入完整行;

2. 插入行的部分数据;

3. 插入多行;

4.插入某些查询的结果

- 注意,由于MySQL的安全机制,需要注意权限。

插入完整的行

需要指定插入的表名行值。一般插入操作没有返回值,举例,

分析:第一列cust_id为。这是因为在表中,该列由MySQL自动增量,所以指定一个值。

注意,虽然此语法简单,但并非安全。上面语句高度依赖表中列的次序。即使可以得到这些信息,但不能保证下次使用时,表的次序因为种种原因经过调整,引起输入错误。更保险的输入方式应该为,

同时,此方式下,自动增量的的非必须。所以,纵使与表中列的次序不同,也可以完成插入操作。因此当比给出列名的时候,必须正确的给出每列的值。

如果表的定义允许,可以选择在操作时忽略某些列。忽略的列必须满足如下条件,

1. 该列定义为允许;

2. 表中给出默认值;

注意,为避免影响到数据库瞬时速度,可以将插入操作降低优先级。,此操作同样适用于和。

插入多行

插入多行,只需要在每组值用圆括号并且逗号隔开即可。

注意,使用多行插入操作,可以提高的性能。通俗讲,尽量少用语句。

插入检索出的语句

一般用来插入单行,但是与结合后,可以使用所谓的,举例说明

分析:使用从custnew中将所有数据导入customers。语句将检索信息传入。

注意,此例子中,将cust_id一并导入(cust_id被定义为非空、自增),因此必须确保导入的cust_id不重复。否则,需要省略此列,有SQL自增。同时检索列与插入列的名字不需要相同,MySQL只关心对应列顺序。

更新数据

注意,在使用语句时,必须严格小心,不要省略语句,否则会更新表中所有行。

要更新的表;

列名和他们的新值;

确定要更新行的过滤条件。

更新表中所有行;

更新表中特定行。

更新数据的两种方式,

语句由三部分组成,

例子,更新单列,

分析:总是以要更新的表的名字开始,为赋值命令

例子,使用多列更新时,只需要一次命令即可

分析:

1、如果多列更新,并且在一行或多行赋值时出现错误,则整个操作都会被取消(更新不会进行)。可以使用关键字。

2、为了删除每列的值,可以赋值为。

删除数据

使用语句,进行删除操作,形式如下

- 从表中删除特定行;

- 从表中删除所有的行。

注意,在使用语句时,同样必须严格小心,不要省略语句,否则会更新表中所有行。

不需要列名或通配符。语句删除整行而不是整列,若删除整列需要使用操作(在不使用语句前提下,更新数据)。

若需要删除所有数据,不需要使用语句,使用速度更快的。操作原理为,删除原表格,并创建新表。

更新和删除的原则

1、除非更新和删除每一行,使用、操作都需要使用;

2、保证每个表,都有主键,以便与使用语句进行唯一性检索;

3、在使用、前,需要进行测试,保证过滤条件的正确性;

4、使用强制实施引用完整的数据库,保证不会删除与其他表有关联的数据的行。

本文来自企鹅号 - 松勤软件学院媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏GreenLeaves

Oracle 数据表的管理

1、创建表的的表名规则 a、必须已字母开头 b、长度不能超过30 c、不能是Oracle的保留字 d、只能使用如下字符:A-Z、a-z、1-9、#,$等 2、O...

1657
来自专栏www.96php.cn

Discuz!X数据库函数操作命令大全

函数 功能DB::table($tablename)获取正确带前缀的表名,转换数据库句柄DB::delete($tablename, 条件,条数限制)删除表中的...

3498
来自专栏数据结构与算法

SPOJ1043 GSS1(线段树)

注意查询的时候不能按照以前的方式写,因为不知道变量的下界,最稳妥的办法就是判三种情况

631
来自专栏MasiMaro 的技术博文

OLEDB 简单数据查找定位和错误处理

在数据库查询中,我们主要使用的SQL语句,但是之前也说过,SQL语句需要经历解释执行的步骤,这样就会拖慢程序的运行速度,针对一些具体的简单查询,比如根据用户ID...

762
来自专栏MasiMaro 的技术博文

windows错误处理

在调用windows API时函数会首先对我们传入的参数进行校验,然后执行,如果出现什么情况导致函数执行出错,有的函数可以通过返回值来判断函数是否出错,比如对于...

502
来自专栏张善友的专栏

使用 SQL Server 2008 数据类型-xml 字段类型参数进行数据的批量选取或删除数据

我们经常有这样的需求,批量的删除或者选取大量的数据,有非常多的Id值,经常使用in条件查询,如果你使用拼接字符串的方式,可能遭遇SQL语句的长度限制4000个字...

2099
来自专栏Netkiller

Oracle 表空间管理

33.12. Oracle 表空间 33.12.1. 查询空闲表空间 select tablespace_name,file_id,block_id,bytes...

2736
来自专栏安恒网络空间安全讲武堂

听说thinkphp又出事了?

0x01 前言 听说thinkphp又出事了,之前看过一次tp5的源码,不过只看了查询(select)的过程,这次问题出在update和insert中,但是归根...

2744
来自专栏数据小魔方

MySQL基础入门系列之——字符与日期数据处理

今天这一篇分享MySQL中的字符串处理工具与日期时间处理,这一部分内容虽然看似不多,但是往往是输出处理中的的痛点。 我的MySQL数据库中已经建好了一个包含两列...

3359
来自专栏青玉伏案

iOS开发之SQLite-C语言接口规范(二) —— Prepared Your SQL Statements

  在《SQLite的C语言接口规范(一)》中介绍了如何去连接打开数据库,本篇博客就介绍如何操作数据库,本篇主要给出了如何执行数据库查询语句(Select), ...

1916

扫码关注云+社区