向数据库中的表增加数据:
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.....;