数据库意义:数据存储,数据管理

DML语言:数据操作语言(insert、update、delete)

添加(insert)

        语法:

insert into 表名(字段1,字段2,字段3,...) values('值1'),('值2'),('值3'),('...')

例:

        ①

--插入语句(添加)
INSERT INTO `grade`(`gradename`)  VALUES ('大一')--由于主键自增我们可以省略(如果不写表的字段,他就会一一匹配)
INSERT INTO `grade` VALUES('大三')

 ②

CREATE TABLE IF NOT EXISTS `student2`(
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
`name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
`pwd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码',
`sex` VARCHAR(2) NOT NULL DEFAULT '女' COMMENT '性别',
`birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
`address` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址',
`email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8

插入语句:

--一个字段插入多个值
INSERT INTO `grade`(`gradename`) VALUES('大二'),('大一')
INSERT INTO `student`(`name`) VALUES('张三')--多个字段插入一个值
INSERT INTO `student`(`name`,`pwd`,`sex`) VALUES ('张三','aaaaaa','男')--多个字段插入多个值
INSERT INTO `student`(`name`,`pwd`,`sex`) VALUES ('李四','aaaaaa','男'),('王五','aaaaaa','男')--没有指定字段插入值
INSERT INTO `student` VALUES (5,'李四','aaaaaa','男','2000-01-01',1,'西安','email')

注意:

  • 字段和值之间用英文逗号隔开
  • 字段可以省略,但后面后面的值必须要一一对应,不能少
  • 可以同时插入多条数据,VALUES后面的值,需要使用用英文逗号隔开即可

修改(update)

修改谁(条件) set原来的值=新值

  语法:

UPDATE 表名 SET column_name=value [,column_name2=value2,...] [WHERE condition];

    例:

-- 修改学员名字
UPDATE `studenttest1` SET `name`='xiaoming' WHERE id  = 1-- 不指定条件的情况下,会改动所有的表!
UPDATE `studenttest1` SET `name`='xiaohong'-- 修改多个属性,逗号隔开
UPDATE `studenttest1` SET `name`='小明',`email` = '123@qq.com' WHERE id =1;-- 通过多个条件定位数据 trim--可以删除多余逗号
UPDATE `student` SET `birthday` = CURRENT_TIME WHERE `name`='小红' AND sex='女'-- 语法:
-- UPDATE 表名 set colnum_name = value.[colnum_name = value,.....] where [条件]

    where条件字句

可以简单的理解为:有条件地从表中筛选数据

运算符 含义 范围 结果
= 等于 5=6 false
<>或!= 不等于 5!=6 true
> 大于 5>6 false
< 小于 5<6 true
>= 大于等于 5>=6 false
<= 小于等于 5<=6 true
BETWEEN 在某个范围之间 BETWEEN 5 AND 6
AND 并且 5>1 AND 1>2 false
OR 5>1 OR 1>2 true

例:

-- 通过多个条件定位数据
-- 修改学员名字,带了简介
UPDATE student SET `name`='小红' WHERE `name`='小明' WHERE id BETWEEN 2 AND 5

注意:

  • column_name 为要更该地数据列,尽量带上 ` `
  • value 为修改后的数据,可以为变量
  • 条件如果没有指定,则会修改所有的列
  • 多个设置的属性之间,使用英文逗号隔开
  • trim可以删除多余的逗号

删除

DELETE命令

语法:

DELETE from 表名 [where 条件]

注意:如果不指定筛选条件,则会删除该表所有列数据

例:

-- 删除数据 (避免这样写,会全部删除)
DELETE FROM `student`-- 删除指定数据
DELETE FROM `student` WHERE id = 1;

TRUNCATE命令

作用:完全清空一个数据库表,表的结构、索引和约束不会变!

例:

-- 清空 student表
TRUNCATE `student`

DELETE 和 TRUNCATE 区别

  • 相同点:

    • 都能删除数据,都不会删除表的结构
  • 不同点:
    • TRUNCATE TABLE 重新设置自增列,计数器 AUTO_INCREMENT 会归零;且速度更快;不会影响事务
    • DELETE 不会重新设置自增列,计数器会保留原来的值

测试 DELETE 和 TRUNCATE:

-- 创建一个测试表
CREATE TABLE `test` (
`id` INT(4) NOT NULL AUTO_INCREMENT,
`coll` VARCHAR(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8-- 插入几个测试数据
INSERT INTO test(coll) VALUES('row1'),('row2'),('row3');-- 删除表数据(不带where条件的delete)
DELETE FROM test;
-- 结论:如不指定Where则删除该表的所有列数据,自增当前值依然从原来基础上进行,会记录日志.-- 删除表数据(truncate)
TRUNCATE TABLE test;
-- 结论:truncate删除数据,自增当前值会恢复到初始值重新开始;不会记录日志.

扩展:

同样使用DELETE清空不同引擎的数据库表数据.重启数据库服务后
        InnoDB:自增列从初始值重新开始 (因为是存储在内存中,断电即失)
        MyISAM:自增列依然从上一个自增数据基础上开始 (存在文件中,不会丢失)

DDL语言(添加、修改、删除)相关推荐

  1. CentOS7设置静态IP、搭建单机版FastDFS图片服务器、使用FastDFS-Client客户端进行简单测试、实现图片上传、实现商品添加修改删除

    CentOS7设置静态IP.搭建单机版FastDFS图片服务器.使用FastDFS-Client客户端进行简单测试.实现图片上传.实现商品添加修改删除 CentOS7设置静态IP而且还可以上网 192 ...

  2. asp.net 对xml文件的读写,添加,修改,删除操作

    asp.net 对xml文件的读写,添加,修改,删除操作 下面有代码调试正确 using System; using System.Collections; using System.Componen ...

  3. wordpress怎么修改html,WordPress后台编辑器HTML模式界面中添加修改删除按钮

    在WordPress编辑器HTML模式界面中添加 按钮一文中,我大致介绍了怎么在后台添加一些自定义的按钮,本文则更为详细全面的对wordpress后台编辑器HTML模式下的按钮自定义进行详解,以让开发 ...

  4. 如何动态添加修改删除定时任务

    如何动态添加修改删除定时任务 (1)思路说明: (a)首先这里我们需要重新认识一个类ThreadPoolTaskScheduler:线程池任务调度类,能够开启线程池进行任务调度. (b)ThreadP ...

  5. iReport 5.添加修改删除jdbc

    Jaspersoft iReport Designer 5.1.0       启动的时候以前的数据源jdbc找不到,报错:classnotfound:oracle.jdbc.driver.Oracl ...

  6. Chrome浏览器设置header请求 响应头 使用 Chrome ModHeader插件,添加/修改/删除HTTP请求标头和响应标头

    ModHeader,是一款可以添加/修改/删除请求标头和响应标头的浏览器插件 ModHeader插件功能 ModHeader插件支持添加/修改/删除请求标头和响应标头,并可以启用基于URL /资源类型 ...

  7. VC6.0 MFC 列表框 列表控件 添加 修改 删除

    VC6.0 MFC 列表框 列表控件 添加 修改 删除 写在前面:列表框是很常用,并且很重要的一个控件,那么接下来,就跟随我的脚步,去探索它的奥秘吧! 一.未卜先知 1.编译运行后,点击"学 ...

  8. es修改索引java_Elasticsearch添加修改删除索引文档案例分享

    本文介绍如何采用bboss es添加/修改/删除/批量删除elasticsearch索引文档,直接看代码. 添加/修改文档 TAgentInfo agentInfo = new TAgentInfo( ...

  9. SpringBoot定时任务升级篇(动态添加修改删除定时任务)

    (1)思路说明: (a)首先这里我们需要重新认识一个类ThreadPoolTaskScheduler:线程池任务调度类,能够开启线程池进行任务调度. (b)ThreadPoolTaskSchedule ...

  10. c语言程序设计添加修改删除,C语言程序设计实习报告,DOC

    <C语言程序设计实习报告,DOC>由会员分享,可在线阅读,更多相关<C语言程序设计实习报告,DOC(15页珍藏版)>请在人人文库网上搜索. 1.手机通讯录管理系统一.设计题目的 ...

最新文章

  1. 是时候开始使用JavaScript严格模式了怎样启用javascri
  2. linux 简单dns搭建,搭建一个简易的DNS服务
  3. [精选]MySQL的各种锁(表锁,行锁,悲观锁,乐观锁,间隙锁,死锁)
  4. ubuntu系统debootstrap的使用
  5. java处理oom_java处理OOM和SOF
  6. 在线浏览器摄像头软件!妈妈再也不用担心我的windows摄像头驱动没更新啦!
  7. Python 去除列表中重复的元素
  8. 第三范式的作用_钟启泉:教学范式的转型,让一线教师面临三大挑战 | 头条
  9. linux 3.10中完成量的使用
  10. 《1024伐木累》-程序员妹子与花木兰
  11. [转]OpenGL超级宝典 5e 环境配置
  12. python unicode转字符串_Python2.X如何将Unicode中文字符串转换成 string字符串
  13. 从总数中生成一定数量的随机数
  14. 用Python来玩微信跳一跳
  15. 显示器驱动程序已停止响应 并且已成功恢复
  16. kpconv与point transformer异同、算法讲解
  17. Win10安装.net framework 4.0已是操作系统一部分//手误删掉.NET Framework 4 Multi-Targeting Pack
  18. PDF怎么转换成CAD图纸?PDF转CAD教程
  19. Mycat分库分表案例demo
  20. 烽火fr2600怎么web登录_烽火配置教程

热门文章

  1. 软件测试工程师自学路径--从基础到精通
  2. 2021年还可以用的Linux centos 6版本的yum源
  3. php中怎样获取文本框的值,jQuery如何获取文本框的值?
  4. 视频截帧大概率避免连续重复图片
  5. 【STM32F407学习笔记】GPIO(一)
  6. C++调用Python传入回调函数
  7. 【Python脚本入门】01、基础知识
  8. Cisco 模块 1 - 3:基本网络连接和通信考试
  9. python中哪些类型数据是不可变的_python的可变与不可变数据类型
  10. 用walshall算法求解离散数学中的传递闭包问题