day2 MySQL表数据操作
一:数据操作
注:在编写MySQL代码时可以不用区分大小写
1.查看表结构
desc 表名;
-- 查看表中的字段类型,长度,约束。
2.字段的增加
AFTER table 表名 add 字段名 数据类型; -- 默认末尾添加
after table 表名 add 字段名 数据类型 FIRST -- 添加到第一个字段
after table 表名 add 字段名 数据类型 after 字段名; -- 添加到某个字段名后面
3.字段长度/数据类型的修改
修改长度不能小于原有长度,否则原有数据会被破坏掉,不可修复
AFTER TABLE 表名 MODIFY COLUMN字段名 数据类型(长度)
4.字段名的修改
after table 表名 change 旧字段名 新字段名 数据类型(长度);
5.删除字段
after table 表名 drop column 字段名;
6.清空表数据
delete from 表名;
7.修改表名
after table 表名 rename 新表名;
二:聚合函数
聚合函数在数据库中用于统计数据
avg(字段名) | 求平均值 |
max(字段名) | 求最大值 |
min(字段名) | 求最小值 |
sum(字段名) | 求和 |
count(字段名) | 统计数量 |
示例:
select avg(score) from student;
三:条件约束
作用:对表中的字段进行约束,能够保证数据的准确性、有效性、完整性。
注:条件约束在创建表的时候,写在数据类型后面。
1、 非空约束
not null ,表示字段不能为空,添加数据的时候必须传值。
2、默认值约束
default,在添加数据的时候,如果没有对其添加,会将指定的默认值填充。
3、唯一约束
unique,字段值不能重复
4、主键约束
primary key ,确保数据唯一且不能为空,一般是给表的id字段设置的。
能够保证表中总有一个字段是唯一且不为空的,就能根据主键找到具体内容。
5、自动增加
auto_increment, 设置自动增加的字段必须是主键,默认是一个int类型,从1或者上一条数据递增到1.
create table user(id int primary key auto_increment,name chae(5) not null,phone int(11) unique,gender enum('男', '女') default '男'
);
四、表数据操作
在更新语句和删除语句的时候需要确定条件,不确定条件就是把所有的数据进行修改或删除。
1、表数据修改
update 表名 set 字段名=值 ,字段名=值... where 条件;
2、表数据删除
delete from 表名 where 条件;
3、数据查询
like子句:在where子句中使用该语句结合关键字实现模糊查询。
select * from 表名 where 字段名 like '%关键字%'
% : 表示匹配0个或多个字符
_ : 表示匹配任意一个字符(有几个下划线就匹配几个字符)、占位符
like后的几种用法:
'%入门%' |
’白%‘(以白开头) |
’%精通‘(以精通结尾) |
’____‘(四个字的书) |
'白__'(以白开头,三个字的书) |
4、消除重复项
对查询结果去重 -- distinct
select distinct * from 表名;
注意:每个字段内容都一致才会去重。
5、排序
在查询中进行排序: order by (默认升序)
asc :升序
desc :降序
如果数据重复,会根据字段对应的上一个字段进行排序
select * from 表名 order by 字段名 asc/desc
6、分页
limit子句
select * from 表名 where 条件 limit 返回条数;select * from 表名 where 条件 limit 起点(从0开始), 返回条数;
首先和大家说一声对不起,最近有点忙,因为关于机器人的相关比赛陆续开始的,博主需要去准备比赛,加上各种大大小小的事情,所以更新很慢,还请见谅。