从这一节,我们开始学习对数据的操作,所谓数据无价,指的就是我们现在要操作的东西,因此,我们从今天的课程开始要谨慎操作我们的数据表数据,以防误操作造成企业不可挽回的后果。一定要注意数据备份!
所谓的数据操作语言是指DML,这仅仅只是中英直译而已,具体是指我们对数据表进行增删改查的操作,主要涉及insert,delete,update,select几个关键命令,同时,我们还会结合一些其它的命令进行操作筛选、汇总等。下面我们依次对这些sql脚本操作进行学习。
1.增加数据操作insert
命令结构:insert into table 表名(字段1,字段2,字段3...) values(值1,值2,值3...)
这个命令格式,我们一次可以向某个表内插入一行数据,例如插入一行用户数据:
insert into user(username,password) values('ljy','123')
通过以上命令,我们向用户表内插入了用户名为ljy、密码为123的一行数据。
但我们有时候需要一次插入多条数据,这样可以减少网络开销,同时还能提高数据插入效率。那么,在MySQL中也自带这个insert功能。命令类似,格式为:insert into table 表名(字段1,字段2,字段3...) values(值1,值2,值3...),(值11,值12,值13...),(值21,值22,值23...)...
我们同样还是举个例子,我们向用户表同时插入三个用户数据:
insert into user(username,password) values('ljy','123'),('ljy2','456'),('ljy3','789')
这个命令可以让我们同时向数据库插入三个用户,分别为用户ljy,密码123;用户ljy2,密码456;用户ljy3,密码789
看了这么多数据记录的插入,有没有朋友提出插入数据的时候为什么有单引号呢?是的,我们这里要补充一个新知识点,就是我们录入数据的时候,其实都是可以用单引号包围的,一个数据一对单引号,就跟编程中的字符串似的。在数据库中,单引号内的数据可以被转为适应数据库表字段的数据。如果数据库的字段是数值类型的话,我们也可以不用单引号,直接写数值就可以。
2.删除数据记录delete
删除数据记录,我们往往只会针对某些无用的或不合格的数据,一般不会全部删除。
删除数据的时候一定要注意不能误删,否则可能造成无法挽回的结果。小伙伴们最好在删除数据前对数据进行备份。
删除数据的脚本sql格式:
delete from 表名 【where】字段过滤表达式
下面我们分不同情况来讲解:
第一种情况:清空数据表
比如要情况用户表user
delete from user;
第二种情况:删除指定记录。
比如要删除用户名为ljy的用户信息:
delete from user where username='ljy';
看了以上两个例子之后,相信小伙伴们可能有感觉了,如果要删除指定的数据,那么必须要加where语句进行筛选出来,同时在where内通过某个字段名称等于某个值或者大于或者小于或者包含某个值来进行指定范围的筛选。
MySQL还有一种一条delete语句可以删除多个表数据的方式格式如下:
delete 表1,表2,表3 ... from 表1,表2,表3... where ...
举例:delete user1,user2,user3 from user1,user2,user3
或者使用别名方式也可以。
delete a,b,c from 表1 a,表2 b,表3 c where ...
举例:
delete a,b,c from user1 a,user2 b,user3 c
3.修改数据记录update
语句格式:
update 表名 set 字段名1=值1,字段名2=值2...where ...
这个语句如果不用where就会更新表内所有数据,所以在使用update前一定要注意更新什么数据,不要更新错了。
举例更新用户ljy的密码为134
update user set password='134' where username='ljy'
以上是单表更新的情况,相对并不复杂,下面我们再来看看多表更新。
命令结构:
update 表1,表2...,set 表1.字段1,表2.字段1... where 表1与表2的关联字段,其它条件
当然,这个命令结构也可以使用字段取别名后,来简化操作。
举例根据学生学号更新班级:
update students a,stu_class b set b.class_name='20刘金玉编程技术' where a.stuno=b.stuno
在以上例子中,我们多处使用到了where语句,其实where语句的筛选条件还有很多,只是我们还没用到,暂时没有介绍,我们将放到select查询语句中向大家介绍。