Mysql学习笔记1

DML-添加数据

1、插入数据时,指定的字段顺序需要与值的顺序是一一对应的。

2、字符串和日期型数据应该包含在单引号内。

3、插入的数据大小应该在字段规定范围内。

例:

一一对应插入数据:

Insert into employee ( id , workno , name , gender , age , idcard , entrydate ) values ( 1 , ’1’ , ’Itcast’ , ’男’ , ’10’ , ’123456789’ , ’2000-02-01’ );

直接插入数据,其中插入信息应于表中一一对应

Insert into employee values (1,’1’,’Itcast’,’男’,’18’,’123456789’,’2005-02-01’);

也可同时插入多条数据.

Insert into employee values (1,’1’,’Itcast’,’男’,’18’,’123456789’,’2005-02-01’), (1,’ (1,’1’,’jsbst’,’女’,’18’,’123456789’,’2005-02-01’),(1’,’jabast’,’女’,’17’,’123454329’,’2006-02-01’);

修改数据

修改语句的条件可以有也可以没有,如果没有,则默认修改表中的所有数据。

1、将employee表中所有id=1的员工名字修改为happy;

update employee set name=’happy’ where id=1;

2、将employee表中所有id=1的员工名字修改为小明,性别改为男;

update employee set name=’小明‘,gender=’男’ where id=’1’;

3、将employee表中所有员工的入职日期改为2008-01-01

update employee set entrydate=’2008-01-01’;

删除数据

1、删除employee表中姓名为李华的所有员工

delete from employee where gender=’女‘;

2、删除所有员工

delete from employee;

查询

条件查询:

1、查询所有年龄在15到20岁的员工(*表示查询所有信息)

select * from emp where age between 15 and 20;

2、查询所有性别为女并且年龄小于25的员工;

select * from emp where gender=’女‘ and age < 25;

3、查询所有年龄为18,20,40的员工

select * from emp where age in (18,20,40);

4、查询姓名为两个字的员工信息

select * from emp where name like’_ _’;(有几个字符及有几个下划线)

5、查询身份证最后一位为X的员工信息

select * from emp where idcard like ‘%X’;(%代表任意字符)

6、补充

不是=not=!;

不等于= != =<>

并且=&&=and

聚合函数

count(条件):统计数量

max(条件):最大值

min(条件):最小值

avg(条件):平均值

sum(条件):求和

例:

1、统计该企业员工的数量

select count(*) from emp;(count在统计数量时值为null的不参与运算)

2、计算企业员工的平均年龄

select avg(age) from emp;

3、计算企业员工的最大年龄

select max(age) from emp;

4、统计西安地区员工年龄之和

select sum(age)from emp where workaddress=’西安‘;

分组查询

where与having区别

1、执行时机不同:where是分组之前进行过滤,若不满足where条件,不参与分组,而having是分组之后对结果进行过滤;

2、判断条件不同:where不能对聚合函数进行判断,而having可以。

例:

根据性别分组,统计男性员工和女性员工的数量

select gender(查询结果显示性别), count(*)(分别计算男女员工的数量) from emp group by gender;

根据性别分组,统计男员工和女员工的平均年龄

select gender,avg(*) from emp group by gender;

查询年龄小于45的员工,并根据地址分组,获取员工数量大于等于3的工作地址

select workaddress,count(*)(获取进行所有判断后所得的员工数量的值并显示出来) from emp where age < 45 group by workaddress having count(*) >=3(对分组后员工值进行数量判断);

注意各种关键字写的顺序如group by为分组关键字,在where后having前。

排序查询

关键字:order by, asc (升序),desc (降序);

例:

根据年龄对公司员工进行升序排序

select * from emp order by age asc ;

根据年龄对公司员工进行升序排序,年龄相同,再按照入职时间进行降序排序

select * from emp order by age asc , entrydate desc ;

分页查询

起始索引从0开始,起始索引=(查询页码-1)*每页显示记录数

分页查询是数据库的方言,不同的数据库有不同的实现,mysql中是如果查询的是第一页数据,起始索引可以省略,直接简写为limit 10(每页展示的记录数)。

例:

查询第一页员工数据,每页展示10条记录

select * from emp limit 0(起始索引),10(每页展示的记录数);

查询第二页员工数据,每页显示10条记录

select * from emp limit 10,10;

编写顺序为:

select-> from -> where -> group by -> having -> order by -> limit

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值