数据库中表的增删改查的基本操作命令
2024-07-21 02:51:50
供稿:网友
向数据库中的表增加数据:insert into 表名 values (,,,,,);(内容要和表的结构字段相符)--------------------------------------------------解决中文乱码问题:[client]port=3306[MySQL]default-character-set=gbk修改完需要重新启动服务---------------------------------------------------更新表中的数据:update 表名 set 字段(name)=值(‘zhangqian’),字段=值.......---不加where 指更新所有的记录update user set salary=3000 where username='班长'; 加where 指更新指定的列-------------------------------------------------------------------update user set salary=4000,job='BOSS' where username='美美';-------------------------------------------------------------------------------删除表中的数据:delete from 表名 ;删除表中的所有数据delete from 表名 where 字段 = “值”;删除指定列的数据truncate 表名; 删除所有的数据 =======delete from 表名* truncate 和 delete的区别:* truncate删除数据,先删除整个表。再创建一个新的空的表。(效率) * delete删除数据,一条一条删除的。(*****)----------------------------------------------------------------------选择表中的数据:select * from 表名 --查询表中所有的数据select 字段名1,字段名2,字段名3 from 表名; 查询指定的字段名;select distinct 字段名 from 表名 ; --查询指定的字段名去除重复的数据select (字段名1+字段名2+字段名3)as 新的字段名 from 表名 ----将字段名1和字段名2 和字段名3 之和作为新的字段名输出,用as 做别名,as 可省略向数据库中的表增加数据:insert into 表名 values (,,,,,);(内容要和表的结构字段相符)--------------------------------------------------解决中文乱码问题:[client]port=3306[mysql]default-character-set=gbk修改完需要重新启动服务---------------------------------------------------更新表中的数据:update 表名 set 字段(name)=值(‘zhangqian’),字段=值.......---不加where 指更新所有的记录update user set salary=3000 where username='班长'; 加where 指更新指定的列-------------------------------------------------------------------update user set salary=4000,job='BOSS' where username='美美';-------------------------------------------------------------------------------删除表中的数据:delete from 表名 ;删除表中的所有数据delete from 表名 where 字段 = “值”;删除指定列的数据truncate 表名; 删除所有的数据 =======delete from 表名* truncate 和 delete的区别:* truncate删除数据,先删除整个表。再创建一个新的空的表。(效率) * delete删除数据,一条一条删除的。(*****)----------------------------------------------------------------------选择表中的数据:select * from 表名 --查询表中所有的数据select 字段名1,字段名2,字段名3 from 表名; 查询指定的字段名;select distinct 字段名 from 表名 ; --查询指定的字段名去除重复的数据-------------------------------------------------------------------- select name,(math+english+chinese) as sum from stu; 将字段math,english , chinese 用as 作为一个新的字段sum 输出 select name,math+10,english+10,chinese+10 from stu;在选择的时候还可以对某些字段进行修改增删改,显示出来----------------------------------------------------------------------在选择的时候还可以使用where 作为条件查询select * from 表名 where 查询条件----------------------------------------------------------------模糊查询:like% 代表零个或者多个字符_代表一个字符like '%张_' 表示查询的是张前面可以有零个 或者多个 字符,张后面只能有一个字符---------------------------------------------------查询英语分数在 80-90之间的同学。 select * from stu where english >80 and english <90;(不包含) select * from stu where english between 80 and 90;(包含)查询所数学分数为18,78,46的同学 select * from stu where math in (18,78,46);查询所有姓班的学生 select * from stu where name like '班%'----------------------------------------------------------------order by + 字段名 ,排序,应该在select 子句的结尾升序:asc 或者不写降序: desc---------------------------------------------------------------聚集函数 count(列名)返回某一列,行的个数之和(总的列的个数或者行数)聚集函数sum (列名) 返回某一列的数值的总和注:sum 仅对数值起作用,对多列求和时,“,”不能少ifnull(xxxxx,0) 如果为null ,则值是0sum(ifnull(math,0)) 如果是空则值为0,如果不是则是math 对应的值------------------------------------------------------------------avg 平均数 select avg(ifnull(math,0)+english+chinese) from stu;avg = sum/count------------------------------------------------------max 最大值select max(math) from stu;min 最小值select min(math) from stu;----------------------------------group by 分组 -- 条件过滤需要用having ,不能使用 where---------------------------------小结 select 语句: select ...... from.....where.....group by......having......order by.....;