Linux1 表中数据的插入、删除和修改
建立数据库和表之后,下一步就是在表中存储数据。在MySQL中,通常需要使用SQL的数据操作语言(DML)来插入、删除和修改表中的记录。
1.插入记录
在MySQL中,向表中插入记录可以使用“insert into 表名称(字段名1,字段名2…)values (字段1的值,字段2 的值,…);”基本格式的SQL语句。
例如,在表student中插入一组数据,可在终端中输入“insert into student(sno,sname,ssex,sbirthday,sdepa)values(‘0213010’,‘zhang hu’,default,20100405,‘math’);”命令,并按【回车】键执行,如图4-26所示。
图4-26 插入记录
mysql中delete语句由图4-26可以看出,在插入记录后,可使用select语句来查看所插入的记录是否正确。
另外在插入记录时,应注意以下几个问题:
如果在insert语句中给出了要插入记录的各个字段名,那么各字段值的顺序只需与各个字段名的顺序一致,与表中的顺序(desc命令查看)可以不同。但是当使用缩写格式时,各字段值的顺序必须与表中的顺序一致。例如,用缩写格式完成上例记录的插入,则使用“insert into student values(‘0213010’,’zhang han’,default,19870202,’math’);”命令。
如果字段名列表中没有给出表中的某些字段,则字段值列表中也不应给出这些字段的值,这些字段的值会被自动设置为默认值。例如,“insert into student(sno,sname,sbirthday)values(‘0213010’,’zhang han’,default,19870202,’math’);”,这里没有指定ssex字段,所以插入记录的该字段值被设为默认值‘t’。sdepa字段也一样,虽然没有定义默认值,但由于数据类型为varchar,因此MySQL自动将插入记录的该字段值设为NULL。
一个单独的insert语句中可使用多个values子句,插入多条记录。例如,“insert into student values(‘0213010’,’zhanghu’,default,20100405,’math’);(‘0213009’,’xiaomin’,’t’,20100406,’computer’);”。
2.删除记录
在MySQL中,从表中删除记录可使用“delete from 表名称 where 条件表达式;”格式的SQL语句。
例如,删除表student中sno字段值为‘0213009’的记录,可在终端中输入“delete from student where sno = ‘0213009’;”命令并按【回车】键执行,如图4-27所示。
图4-27 删除记录
使用带where子句的delete语句可以删除与指定条件相匹配的记录。只要满足条件,被删除的记录可能只有一条,也可能有多条。例如,删除表student中sno字段值的前4位为‘0212’
的所有记录,可使用“delete from student where left(sno,4) = ‘0212’;”命令,如图4-28所示。
图4-28 删除多条记录
此外,还可以使用“delete from student;”不带where的子句删除所有记录,如图4-29所示。
图4-29 使用delete删除所有记录
另一种删除表中所有记录的方法是使用语句格式为“truncate table student;”的truncate命令,如图4-30所示。
图4-30 使用truncate删除表中所有记录
对比delete和truncate两个命令,区别在于“Query OK,? Rows affect(?秒)”。Truncate命令是不管表中有多少条记录,它都是直接删除表,然后重建该表,因此“0 rows affect”;而delete命令是将表中的所有记录一个一个删除,所以“1 rows affect”(当前表中只有一条记录,所以只删除这一条)。一般来说truncate 比delete要快,特别是在表中记录较多时尤为明显。
3.修改记录
除了数据的插入和删除,也可以对表中的数据进行更新修改。MySQL提供了用于修改记录
数据的SQL语句——update,它语句基本格式为“update 表名称 set 字段名1=字段值1[,字段名2=字段值2,…] where 条件表达式;”。
例如,修改表中student的sno字段值为‘0213010’的记录,将其sbirthday字段值改为20100421,sdepa字段值改为‘computer’,可在终端中输入“update student set sbirthday=20100421,sdepa=‘computer’ where sno=‘0213010’;”命令,并按【回车】键执行,如图4-31所示。
图4-31 修改记录
提 示 | 使用update语句时,一定要记得用where子句来限制要修改的记录条件。如果没有带where子句,可能导致大量数据被破坏。 |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论