DDL语言(添加、修改、删除)
数据库意义:数据存储,数据管理
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语言(添加、修改、删除)相关推荐
- CentOS7设置静态IP、搭建单机版FastDFS图片服务器、使用FastDFS-Client客户端进行简单测试、实现图片上传、实现商品添加修改删除
CentOS7设置静态IP.搭建单机版FastDFS图片服务器.使用FastDFS-Client客户端进行简单测试.实现图片上传.实现商品添加修改删除 CentOS7设置静态IP而且还可以上网 192 ...
- asp.net 对xml文件的读写,添加,修改,删除操作
asp.net 对xml文件的读写,添加,修改,删除操作 下面有代码调试正确 using System; using System.Collections; using System.Componen ...
- wordpress怎么修改html,WordPress后台编辑器HTML模式界面中添加修改删除按钮
在WordPress编辑器HTML模式界面中添加 按钮一文中,我大致介绍了怎么在后台添加一些自定义的按钮,本文则更为详细全面的对wordpress后台编辑器HTML模式下的按钮自定义进行详解,以让开发 ...
- 如何动态添加修改删除定时任务
如何动态添加修改删除定时任务 (1)思路说明: (a)首先这里我们需要重新认识一个类ThreadPoolTaskScheduler:线程池任务调度类,能够开启线程池进行任务调度. (b)ThreadP ...
- iReport 5.添加修改删除jdbc
Jaspersoft iReport Designer 5.1.0 启动的时候以前的数据源jdbc找不到,报错:classnotfound:oracle.jdbc.driver.Oracl ...
- Chrome浏览器设置header请求 响应头 使用 Chrome ModHeader插件,添加/修改/删除HTTP请求标头和响应标头
ModHeader,是一款可以添加/修改/删除请求标头和响应标头的浏览器插件 ModHeader插件功能 ModHeader插件支持添加/修改/删除请求标头和响应标头,并可以启用基于URL /资源类型 ...
- VC6.0 MFC 列表框 列表控件 添加 修改 删除
VC6.0 MFC 列表框 列表控件 添加 修改 删除 写在前面:列表框是很常用,并且很重要的一个控件,那么接下来,就跟随我的脚步,去探索它的奥秘吧! 一.未卜先知 1.编译运行后,点击"学 ...
- es修改索引java_Elasticsearch添加修改删除索引文档案例分享
本文介绍如何采用bboss es添加/修改/删除/批量删除elasticsearch索引文档,直接看代码. 添加/修改文档 TAgentInfo agentInfo = new TAgentInfo( ...
- SpringBoot定时任务升级篇(动态添加修改删除定时任务)
(1)思路说明: (a)首先这里我们需要重新认识一个类ThreadPoolTaskScheduler:线程池任务调度类,能够开启线程池进行任务调度. (b)ThreadPoolTaskSchedule ...
- c语言程序设计添加修改删除,C语言程序设计实习报告,DOC
<C语言程序设计实习报告,DOC>由会员分享,可在线阅读,更多相关<C语言程序设计实习报告,DOC(15页珍藏版)>请在人人文库网上搜索. 1.手机通讯录管理系统一.设计题目的 ...
最新文章
- 是时候开始使用JavaScript严格模式了怎样启用javascri
- linux 简单dns搭建,搭建一个简易的DNS服务
- [精选]MySQL的各种锁(表锁,行锁,悲观锁,乐观锁,间隙锁,死锁)
- ubuntu系统debootstrap的使用
- java处理oom_java处理OOM和SOF
- 在线浏览器摄像头软件!妈妈再也不用担心我的windows摄像头驱动没更新啦!
- Python 去除列表中重复的元素
- 第三范式的作用_钟启泉:教学范式的转型,让一线教师面临三大挑战 | 头条
- linux 3.10中完成量的使用
- 《1024伐木累》-程序员妹子与花木兰
- [转]OpenGL超级宝典 5e 环境配置
- python unicode转字符串_Python2.X如何将Unicode中文字符串转换成 string字符串
- 从总数中生成一定数量的随机数
- 用Python来玩微信跳一跳
- 显示器驱动程序已停止响应 并且已成功恢复
- kpconv与point transformer异同、算法讲解
- Win10安装.net framework 4.0已是操作系统一部分//手误删掉.NET Framework 4 Multi-Targeting Pack
- PDF怎么转换成CAD图纸?PDF转CAD教程
- Mycat分库分表案例demo
- 烽火fr2600怎么web登录_烽火配置教程