知识点五:数据的操作DML(24,25,36)

插入数据:

 --测试插入记录INSERT
CREATE TABLE IF NOT EXISTS user13(
id TINYINT UNSIGNED AUTO_INCREMENT KEY,
username VARCHAR(20) NOT NULL UNIQUE,
password CHAR(32) NOT NULL,
email VARCHAR(50) NOT NULL DEFAULT '382771946@qq.com',
age TINYINT UNSIGNED DEFAULT 18
);

默认数据

  不指定具体的字段名:

    INSERT [INTO] tbl_name VALUES|VALUE(值…)

 --插入数据不指定具体的字段名
INSERT INTO user13 VALUES(1,'KING','KING','KING@qq.com',20);
INSERT INTO user13 VALUE(2,'QUEEN','QUEEN','QUEEN@qq.com',30);

插入数据不指定具体的字段名测试

  列出指定字段:

    INSERT [INTO] tbl_name(字段名1,…) VALUES|VALUE(值1,…)

 --列出指定字段:
INSERT INTO user13(username,password) VALUE('A','A');
INSERT INTO user13(password,username) VALUE('BBB','B');

列出指定字段测试

  同时插入多条记录:

    INSERT [INTO] tbl_name[(字段名…)] VALUES(值1…),(值2…)

 --同时插入多条记录:
INSERT INTO user13 VALUE(5,'C','CCC','CCC@qq.com',35),
(6,'D','DDD','DDD@qq.com',31);

同时插入多条记录测试

  通过SET形式插入记录:

    INSERT [INTO] tbl_name SET 字段名称=值,…

 --通过INSERT SET形式插入记录:
INSERT INTO user13 SET id=11,username='test',password='test',email='test@qq.com',age=48;
INSERT INTO user13 SET username='test1',password='test1';

INSERT SET测试

  将查询的结果插入到表中:

    INSERT [INTO] tbl_name[(字段名称,…)] SELECT 字段名称 tbl_name [WHERE 条件]

 --将查询的结果插入到表中:
CREATE TABLE IF NOT EXISTS user14(
id TINYINT UNSIGNED AUTO_INCREMENT KEY,
username VARCHAR(20) NOT NULL UNIQUE
);
INSERT user14 SELECT id,username from user13;

将查询的结果插入到另一张表测试

更新数据:

UPDATE tbl_name SET 字段名称=值,… [WHERE 条件] [ORDER BY 字段名称][LIMIT 限制条件]

 --将用户表中所有用户年龄更新为15
UPDATE user13 SET age=15; --将第一条记录的password,email,age 改变
UPDATE user13 SET password='king123',email='123@qq.com',age=99 WHERE id=1;
--将id大于三的age-6
UPDATE user13 SET age=age-6 WHERE id>3;
--将username为"A"的,age设置为默认值
UPDATE user13 SET age=DEFAULT WHERE username='A';

数据更新测试

删除数据:

DELETE FROM tbl_name [WHERE 条件][ORDER BY 字段名称][LIMIT 条件]

 --删除user14表中的记录:
DELETE FROM user14;
--删除user13表中id为1的用户
DELETE FROM user13 WHERE id=1;

删除数据测试

 -- 更新用户名为4位的用户,让其已有年龄-3
UPDATE cms_user SET age=age-3 WHERE username LIKE '____'; -- 更新前3条记录,让已有年龄+10
UPDATE cms_user SET age=age+10 LIMIT 3;
--不可以设值偏移量
--UPDATE cms_user SET age=age+10 LIMIT 0,3; -- 按照id降序排列,更新前3条 UPDATE cms_user SET age=age+10 ORDER BY id DESC LIMIT 3; -- 删除用户性别为男的用户,按照年龄降序排列,删除1前一条记录 DELETE FROM cms_user WHERE sex='男' ORDER BY age DESC LIMIT 1;

更新和删除数据ORDER BY和LIMIT

彻底清空数据表:

TRUNCATE [TABLE] tnl_name

注释

TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。

DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。

TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用 DELETE。如果要删除表定义及其数据,请使用 DROP TABLE 语句。

对于由 FOREIGN KEY 约束引用的表,不能使用 TRUNCATE TABLE,而应使用不带 WHERE 子句的 DELETE 语句。由于 TRUNCATE TABLE 不记录在日志中,所以它不能激活触发器。

TRUNCATE TABLE 不能用于参与了索引视图的表。

MYSQL初级学习笔记三:数据的操作DML!(视频序号:初级_24,25,36)的更多相关文章

  1. Windows phone 8 学习笔记(2) 数据文件操作

    原文:Windows phone 8 学习笔记(2) 数据文件操作 Windows phone 8 应用用于数据文件存储访问的位置仅仅限于安装文件夹.本地文件夹(独立存储空间).媒体库和SD卡四个地方 ...

  2. Windows phone 8 学习笔记(2) 数据文件操作(转)

    Windows phone 8 应用用于数据文件存储访问的位置仅仅限于安装文件夹.本地文件夹(独立存储空间).媒体库和SD卡四个地方.本节主要讲解它们的用法以及相关限制性.另外包括本地数据库的使用方式 ...

  3. Mongodb学习笔记三(Mongodb索引操作及性能测试)

    第三章 索引操作及性能测试 索引在大数据下的重要性就不多说了 下面测试中用到了mongodb的一个客户端工具Robomongo,大家可以在网上选择下载.官网下载地址:http://www.robomo ...

  4. SpringMVC 学习笔记(三)数据的校验

    34. 尚硅谷_佟刚_SpringMVC_数据绑定流程分析.avi 例如:在jsp中输入一个String字符串类型,需要转换成Date类型的流程如下 convertservice对传入的数据进行转换 ...

  5. MYSQL进阶学习笔记三:MySQL流程控制语句!(视频序号:进阶_7-10)

    知识点四:MySQL流程控制语句(7-10) 选择语句: (IF ELSE ELSE IF CASE 分支)IFNULL函数 IF语法: 语法规则: IF search_condition THEN ...

  6. linux初级学习笔记三:linux操作系统及常用命令,及如何复制和移动文件!(视频序号:02_4)

    本节学习的命令:cp,mv,install,du,read 本节学习的技能:文件的移动与复制 cp( copy):复制和移动文件 cp SRC DEST -r:递归复制一个目录及其目录中的所有文件 - ...

  7. vue学习笔记:数据渲染操作

    {{xxx}} 基本的插值表达式 插值表达式 使用两个大括号 {{ data中定义的数据名 }} 可以将数据插入到指定的位置 这种写法不仅可以显示data属性里定义的值,也可以书写js中的表达式,可以 ...

  8. LUA学习笔记三·时间等操作系统库

    1.构造时间 2.时间制定格式输出 3.计时器(闭包)os.difftime (t2, t1) 返回以秒计算的时刻 t1 到 t2 的差值. (这里的时刻是由 os.time 返回的值). 在 POS ...

  9. MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

随机推荐

  1. 素数判定 2(codevs 1702)

    题目描述 Description 一个数,他是素数么? 设他为P满足(P<=263-1) 输入描述 Input Description P 输出描述 Output Description Yes ...

  2. SpringBoot项目整合Druid进行统计监控

    0.druid介绍,参考官网 1.在项目的POM文件中添加alibaba的druid依赖 <dependency> <groupId>com.alibaba</group ...

  3. Unslider--入门篇

    Unslider--入门篇 背景:因工作需求,需要完成一个图片轮播效果,因博主不是专业的前端开发人员,so google之,经过挑选最终选择使用Unslider插件完成工作. 一.Unslider插件 ...

  4. keepalived学习

    HA集群 keepalived heartbeat corosync cman 功能实现 vrrp协议在Linux主机上以守护进程方式, 能够根据配置文件自动生成ipvs规则 对各RS健康状态检测 组 ...

  5. 数学知识巧学JCF(Java Collections framework)

    不知你是否还记得高中我们学过的集合,映射,函数,数学确实很牛逼,拿它来研究java集合类,轻而易举的就把知识理解了.本篇文章适合初学java集合类的小白,也适合补充知识漏缺的学习者,同时也是面试者可以 ...

  6. Java普通员工管理系统

    login GUI界面(登录) package 普通员工管理系统; import java.awt.event.ActionEvent; import java.awt.event.ActionLis ...

  7. 推荐几款屏幕录制工具(可录制GIF)

    我们经常会遇到一些场景,需要你向别人展示一些操作或是效果——例如告诉别人某某软件的配置步骤啊.刚设计出来网站的动画效果怎么样啊.某某电影里面的一个镜头多么经典啊.打得大快人心的NBA绝杀瞬间是怎么回事 ...

  8. error LNK2019 无法解析的外部符号------类模板和内敛函数

    今天用类模型实现一个单链表,开始是.h和.cpp将类模板的声明与实现分开写的,结果总是报错: 错误 error LNK2019: 无法解析的外部符号 ?$SingleList@H@@QAE@XZ),该 ...

  9. 使用nginx转发不了静态文件

    从django runserver的请求来看,都收不到静态文件请求, 查看firefox的web console请求,发现都是403 然后发现nginx不在当前用户组,并且当前用户的项目的读写权限是7 ...

  10. Access 执行查询时,抛出“标准表达式中数据类型不匹配”的错误

    Access根据时间查询时应在查询条件前后加# SELECT COUNT(*) FROM [User] WHERE [CreateTime] > #{0}#