知识点五:数据的操作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. 【shell】shell编程(二)-运算符

    上篇我们学会了如何使用及定义变量.按照尿性,一般接下来就该学基本数据类型的运算了. 没错,本篇就仍是这么俗套的来讲讲这无聊但又必学的基本数据类型的运算了. 基本数据类型运算 操作符 符号 语义 描述 ...

  2. centos7 搭建hadoop

    参考文档:http://blog.csdn.net/xiaoxiangzi222/article/details/52757168 https://waylau.com/centos-7-instal ...

  3. Codeforces 833B The Bakery(主席树 + 决策单调性优化DP)

    题目链接 The Bakery 题目大意:目标是把$n$个数分成$k$组,每个组的值为这个组内不同的数的个数,求$k$个组的值的和的最大值. 题目分析: 这道题我的解法可能和大众解法不太一样……我用主 ...

  4. Java运算基础

    计算机对负数的运算 =  先取绝对值的原码----> 然后取反,----->+1   这是负数的补码表示 例如  -5       5的原码= 0000,0101  取反   1111,1 ...

  5. the import org.springframewok.test cannot be resolved

    在写Spring的单元测试时遇见了问题,注解@ContextConfiguration和SpringJUnit4ClassRunner.class无法导包.手动导包后错误为“the import or ...

  6. Linux下&/jobs/fg/bg命令的使用(转)

    一.& 这个用在一个命令的最后,可以把这个命令放到后台执行. 二.[Ctrl]+[Z] 可以将一个正在前台执行的命令放到后台,并且暂停. 三.jobs 查看当前有多少在后台运行的命令. 四.f ...

  7. SUPEROBJECT序列数据集为JSON

    // SUPEROBJECT 序列数据集 cxg 2017-1-12// {"data":[{"c1":1,"c2":1}]};// DEL ...

  8. FIREDAC字段类型映射

    为什么需要字段类型映射? 作为通用型数据引擎的FIREDAC或者UNIDAC,驱动某一种数据库以后,总有一些数据库的一些字段类型,数据引擎不能识别,反应到程序中就是数据引擎不能正确地读取该字段的值 . ...

  9. 【kotlin】基本语法when的使用,类似于java中的switch,但是又青出于蓝而胜于蓝

    when(要判断的参数){ 参数值为1 ->做这种事情 参数值为2 ->做另一种事情 else -> 类似于switch中的default } 扩展使用:https://www.cn ...

  10. CSS - 如何实现强制不换行、自动换行、强制换行

    来源:http://www.cnblogs.com/mcat/p/4884644.html 强制不换行 div{ white-space:nowrap; } 自动换行 div{ word-wrap: ...