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 条评论
登录 后参与评论

相关文章

来自专栏DeveWork

WordPress主题下funtions.php的一段“恶意”代码

不多说了,相信有很多WordPresser都知道这段在WordPress主题下fountions.php的“恶意”代码,之所以为“恶意”加个双引号是想说:其实也...

318100
来自专栏破晓之歌

Python接入mysql数据库 原

右侧有个database,点开后左上角有个“+”符号,选择Data Source-Mysql

7510
来自专栏林欣哲

MySQL数据库开发规范知识点速查

数据库设计规范 命名规范 基本设计规范 索引设计规范 字段设计规范 SQL开发规范 操作行为规范 命名规范 对象名称使用小写字母并用下划线分割 禁止使用MySQ...

427110
来自专栏黑白安全

二次注入代码剖析

本文针对二次注入进行讲解,并简单的绕过360脚本waf。。。。。 首先来看程序的注册页面代码:

23120
来自专栏闻道于事

PL/SQL 编程(三 )程序包和包体,触发器,视图,索引

一、程序包和包体 程序包(package):存储在数据库中的一组子程序、变量定义。在包中的子程序可以被其它程序包或子程序调用。但如果声明的是局部子程序,则只能在...

33570
来自专栏python成长之路

(细节)My SQL中主键为0和主键自排约束的关系

19240
来自专栏乐百川的学习频道

使用sqlite3 模块操作sqlite3数据库

Python内置了sqlite3模块,可以操作流行的嵌入式数据库sqlite3。如果看了我前面的使用 pymysql 操作MySQL数据库这篇文章就更简单了。因...

21270
来自专栏java工会

java设计模式-单例模式

19060
来自专栏跟着阿笨一起玩NET

sql server递归查询

-----------------------------------------------

80720
来自专栏破晓之歌

Mysql入门 原

10120

扫码关注云+社区

领取腾讯云代金券