mysql对表是操作以及函数的简介

使用sql对表中的记录进行操作(增删改查操作)
(1)向表里面添加记录 insert
* 语句 insert into 要添加的表名称 values(要添加的值);
* 注意:当添加的字段的数据类型是int类型,直接写值
如果添加的字段的类型是varchar类型和日期类型,使用单引号把值包起来

* 练习:向user表里面添加记录
insert into user values(1,'aaa','123456','nan');


* 自动增长的效果
** 创建一个表
create table stu (
id int primary key atuo_increment,
sname varchar(40)
)
insert into stu values(null,'aaa');




(2)修改表里面的记录 update
* 语句 update 表名称 set 要修改的字段的名称1=修改的值1,要修改的字段的名称2=修改的值2 where 条件


* 练习:修改user表里面id=1的username修改为QQQ,修改password为999
update user set username='QQQ',password='999' where id=1;


(3)删除表里面的记录 delete
* 语句 delete from 表名称 where 条件

* 练习:删除user表里面id=1的记录
delete from user where id=1;
** 不添加where条件,把表里面的所有的记录都删除



(4)查询表中的记录 select
* 语句 select 要查询的字段的名称 (*) from 表名称 where 条件


* create table user (
id int,
username varchar(40),
chinese int,
english int
)


* insert into user values(1,'lucy',100,30);
insert into user values(2,'mary',60,80);
insert into user values(3,'jack',90,20);


* 练习一:查询user表里面的所有的数据
select * from user;


* 练习二:查询user表里面用户名和语文成绩
select username,chinese from user;


* 练习三:查询user表里面id=2的数据
select * from user where id=2;


(4)别名
* as 别名
select username as u1,chinese as c1 from user;


(5)distinct,去除表里面重复记录
* 语句 select distinct * from 表名;


(6)where子句
第一,运算符 < > >= <=
* 练习:查询user表里面语文成绩大于60的所有的人员
select * from user where chinese > 60;


第二,in:在范围内
* 练习:查询user表里面英语成绩是80、90的人员的信息
select * from user where english in (80,90);


第三,and:在where里面如果有多个条件,表示多个条件同时满足
* 练习:查询user表里面语文成绩是100,并且英语成绩是30的人员的信息
select * from user where chinese=100 and english=30;


第四,得到区间范围的值
* 练习:查询user表里面语文成绩在70-100之间的值
写法一,select * from user where chinese >=70 and chinese <=100;
写法二,select * from user where chinese between 70 and 100;


第五,like:模糊查询
* 练习:查询user表里面username包含a的人员信息
select * from user where username like '%a%';


查看当前的运行的数据库
select database();


对表中查询的记录排序 order by
* order by写在select语句的最后
第一,升序 order by 要排序字段 asc(asc可以省略,默认的情况下就是升序)
* 练习:对user表里面查询的数据,根据语文成绩进行升序排列
select * from user order by chinese asc;


第二,降序 order by 要排序字段 desc
* 练习:对user表里面的英语成绩进行降序排列
select * from user order by english desc;




聚集函数
(1)使用提供一些函数,直接实现某些功能
(2)常用的聚集函数
第一,count()函数
* 根据查询的结果,统计记录数
* 写法 select count(*) from ...where....


* 练习一;查询user表里面有多少条记录
select count(*) from user;


* 练习二:查询user表里面语文成绩大于60的人员有多少
select count(*) from user where chinese>60;

第二,sum()函数
* 求和的函数
* 写法 select sum(要进行求和字段) from ...where....


* 练习一:得到user表里面的语文的总成绩
select sum(chinese) from user;


* 练习二:得到user表里面语文总成绩,英语的总成绩
select sum(chinese),sum(english) from user;


* 练习三:得到user表里面语文成绩的平均分(总的成绩/总的人数)
select sum(chinese)/count(*) from user;


第三,avg()函数
* 计算的平均数的函数
* 写法 select avg(要计算平均数的字段名称) from ...


* 练习:得到user表里面语文成绩的平均分
select avg(chinese) from user;


第四,max()函数:计算最大值
* 写法 select max(字段) from...


第五,min()函数:计算最小值
* 写法 select min(字段) from...


* 练习:得到user表里面语文成绩的最高分数,英语的成绩最低分数
select max(chinese),min(english) from user;


分组操作
分组使用 group by 根据分组的字段
在分组的基础之上再进行条件的判断 having,后面可以写聚集函数
(1)举例说明
* 创建表 orders
create table orders (
id int,
name varchar(40),
price int
)


insert into orders values(1,'电视',2000);
insert into orders values(2,'电视',2000);
insert into orders values(3,'苹果',10);
insert into orders values(4,'手机',500);
insert into orders values(5,'手机',500);
insert into orders values(6,'鼠标',33);
insert into orders values(7,'鼠标',33);


(2)练习一:统计orders表里面每类商品的总的价格
select name,sum(price) from orders group by name;


(3)练习二:对商品进行分类,得到每类商品的总价格大于66的商品
select name,sum(price) from orders where sum(price)>66 group by name;
= 上面的语句在逻辑上没有问题,在语法上,where里面不能写聚集函数,报错
正确的写法:
select name,sum(price) from orders group by price having sum(price)>66;


mysql的可视化工具使用
(1)使用工具创建数据库,创建表,向表添加记录,删除表中的记录

mysql的关键字limit
(1)limit关键字查询表中的某几条记录
(2)limit关键字不是标准sql的关键字,只能在mysql数据库里面使用,实现分页的功能
* 在oracle里面特有关键字 rownum
* 在sqlserver里面特有关键字 top


(3)使用limit查询前几条记录 
* 写法: limit 前几条记录  limit 3
* 练习:查询user表里面前三条记录
select * from user limit 3;
select * from user limit 0,3;


(4)使用limit查询第几条到第几条记录
* 写法: limit 第一个参数,第二个参数
** 第一个参数开始的记录数的位置,从0开始的
** 第二个参数从开始的位置向后获取几条记录
* 练习:查询user表里面第二条到第四条记录
select * from user limit 1,3;


重置mysql的root密码
(1)知道密码,修改密码
第一,连接mysql数据库
第二,切换数据库 mysql  use mysql
第三,进行密码的修改 update user set password=password('要修改成的密码的值') where user='root';
第四,重新启动mysql服务


(2)忘记密码,重置密码
第一,把mysql的服务关闭
第二,打开cmd窗口,输入命令 mysqld --skip-grant-tables(不要加分号)
第三,再打开cmd窗口,连接数据库,不需要输入密码  mysql -u root
第四,切换数据库 mysql  use mysql
第五,进行密码的修改 update user set password=password('要修改成的密码的值') where user='root';
第六,把两个cmd窗口都关闭,打开任务管理器,找到mysqld进程,结束
第七,启动mysql服务
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值