现在有了DataGrip图形化语言的帮助,相信后续的学习会更加的事半功倍!
DML (Data Manipulation Language)
作为SQL语言的一份子,它的主要功能是对数据库中表的数据记录进行增、删、改的。
还记得先前的这张表吗?
id | name | age | gender |
1 | 张三 | 22 | 男 |
2 | 李四 | 23 | 女 |
3 | 王五 | 24 | 男 |
先前的DDL语句只是将表中的各个字段给它写上去了,但是表中的数据却是空的,也就是说DML语句只是创建了一个空表,里面并没有任何内容。所以DML 语句就是将表中的数据填写进去的。
1.添加数据
在一张表中会存在一个或者多个字段,所以也会出现不同的添加情况。
1.1 给指定字段添加数据
insert into 表名 (字段1,字段2,……) values (值1,值2,……)
1.2 给全部字段添加数据
insert into 表名 values (值1,值2,……)
但是这样一条条添加还是太慢了,所以出现了可以批量添加数据的写法,分别对应上述的两种情况。
1.3 批量添加数据
insert into 表名 (字段1,字段2,……) values (值1,值2,……),(值1,值2,……),……
insert into 表名 values (值1,值2,……),(值1,值2,……),……
注意:
1.插入数据时,指定的字段顺序需要与值的顺序是一一对应的
2.字符串和日期型数据应该包含在引号中
3.插入的数据大小,应该在字段的规定范围内
尽量使用DataGrip中的Query操作,因为这样才能体验从0编程的感觉,图像化虽然方便,但还是省去了很多自己独立思考的部分哦~
2.修改数据
修改数据的语法较为简单,可以用一条命令总结:
update 表名 set 字段1 = 值1, 字段2=值2,…… where 条件
这条语句可以做到修改一张表任意一个位置的数据。
注意:后面的where部分可以没有,但是会修改这张表中这个字段的所有数据!!!
比如我要修改表中前两个id的姓名,那么就可以这么写:
以第一条语句为例,意思为在表中找到id = 1的数据,并将对应的name值改为MY。
而如果要将所有人的年龄都改成18岁呢?根据前面的注意里提到的内容,此时把where语句删除即可。
这里会弹出一个警告,警告的意思是没有where语句的话将会修改表中age所有的数据,点击execute执行即可。
这样就修改完成了。
3.删除数据
删除语句和修改语句很相似,更简洁一点罢了。
delete from 表名 where 条件
注意:where语句也可以不写,但是这就意味着你要删除整张表的数据!!!
这里需要注意一下DDL语句中的drop table和这里的delete from的区别,前者是删除一张表,而后者是删除表中的数据,举个简单的例子,你有一个水杯,drop意味着你把水杯扔掉了,而delete意味着你把水杯中的水倒掉了,两者是有本质区别的。
比如我要删除表中性别为女性的数据(叠个甲,纯演示,没有任何其他含义)
delete from test where gender = '女'
执行之后就如图所示。
如果去掉where后面的语句,那就是删除整张表的数据了。
delete from test
一样会弹出一个警告,因为你想把所有的数据删除了。execute执行即可。
于是这张表就又回到处女状态了(
至此DML语句就告一段落!(阶段性成果+1)