mysql的增删改查
对数据库的操作:
1. 增
crtate database 库名称;
create databases 数据库名称 charset 编码方式;
2. 删
drop database 库名;
3. 改
修改编码方式: alter database 库名称 charset 编码方式
4. 查
查看库: show databases;
查看指定库: show database 库名
对表数据的增删改查
1. 增
1.1 为表中所有字段添加数据
insert into student(id,name.grade) values(1,'zhangsan',98);
1.2 不指定字段名
insert into student values(2,'lisi',62);
1.3 为表指定字段添加数据
insert into student(id,name) values(3."wangwu")
2. 删
2.1 删除表数据
delete from 表名;
2.2 删除表部分数据
delete from student where id=1;
2.3 删除全部数据
delete from student;
3. 改
3.1 更新部分数据
例子: 将student表中id=1的记录将其name字段的值改为‘caocao’,grade字段的值改为50。
update student set name = 'caocao' , grad=50 where id =1;
3.2 更新全部数据
例子: 更新student表中全部记录,将grade字段都更新为80
update student set grade=80;
4. 查
4.1 查询所有字段
例子: 查询student2表中所有记录
select * from student2;
4.2 查询部分字段
例子: 查询student2表中的名字和成绩
select name,gende from student2;
4.3 按条件查询
例子:查询student2表中id为4的人的id和name字段
select id,name from student2 where id=4;
例子:查询student2表中grade大于80的人的name和grade
select name,grade from student2 where grade>80;
4.4 带集合查询in
例子: 查询student2表中值为1,2,3的记录
select * from student2 where id in (1,2,3);
4.5 判断某个字段的值是否在指定的范围内 between and
例子: 查询student2表中id值在2~5之间的人的id和name
select id,name from student2 where id between 2and 5;
4.6 空值查询
例子: 查询student2表中gender值为空值的记录
select * from student2 where gender is NULL;
4.7 带distinct关键字查询
作用: 很多字段中数据存在重复的值,用于查询过滤使用只保留一个值
例子: 查询student2表中gender字段的值,结果不允许出行重复的值
select distinct gender from student2;
4.8 带LIKE关键字的查询,以"%"为通配符
例子: 查询student2中name字段以字符"s"开头的人的id,name
select id,name from student2 where name LIKE "s%";
例子: 查询student2表中name字段以字符"w"开始,以字符"g"结尾的人的id,name
select id,name from student2 where name LIKE "w%g";
例子: 查询student2表中name字段不包含"y"的人的id,name
select id,name from student2 where name not LIKE "%y%";
4.9 带LIKE关键字的查询,以"_"为通配符
例子: 查询在student2表中name字段值以"wu"开始,以"ong"结束,并且中间只有一个字符的记录
select * from student2 where name LIKE "wu_ong";
4.10 带and关键字的多条件查询
例子: 查询student2表中id字段小于5,并且gender字段值为"女"的人的id和name
select id,name from student2 where id<5 and gender="女";
4.11 带or关键字的多条件查询,满足任意一个条件
例子: 查询student2表中id字段小于3,或者gender字段值为"女"的人的id,name和gender
select id,name,gender from student2 where id<3 or gender="女";
4.12 or和adn一起使用,会先预算and两边的表达式,再运算or两边的表达式
例子: 查询student2表中gender值为"女"或者gender值为"男" 并且grade字段值为100的人的记录
select * frome student2 where gender="女" or gender="男" AND grade=100;
5. 高级查询
聚合函数介绍
count() : 返回某列的行数
SUM() : 返回某列值的和
AVG() : 返回某列的平均值
MAX() : 返回某列的最大值
MIN() : 返回某列的最小值
5.1 count()函数: 统计记录的条数
例子: 查询student2表中一共有多少条记录
select count(*) from student2;
5.2 sum()函数: 求出表中某个字段所有值的总和
例子: 求出student2表中grade字段的总和
select sum(grade) from student2;
5.3 avg()函数: 求出表中某个字段所有值的平均值
例子: 求出student2表中grade字段的平均值
select avg(grade) from student2;
5.4 max()函数: 返回表字段的所有值的最大值
例子: 求出student2表中grade字段的最大值
select max(grade)from student2;
5.5 min()函数: 返回表字段的所有值的最小值
例子: 求出student2表中grade字段的最小值
select max(grade)from student2;
对查询结果进行排序:
5.6 ASC表示升序排列,DESC 表示降序排列,默认情况是升序排列
例子: 查出student2表中的所有记录,并按照grade字段进行升序
select * from student2 order by grade;
例子: 查出student2表中所有记录,并按照grade字段进行降序排序
select * from student2 order by grade desc;
记录工作中的一下问题