数据库中表的增删改查的基本操作命令

向数据库中的表增加数据:
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 ,则值是0
sum(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.....;

















你可能感兴趣的:(数据库中表的增删改查的基本操作命令)