MySQL数据的简单处理
1.创建表类型之约束
非空
NOT NULL
指定列在插入数据时候必须有值
非负
UNSIGNED/unsigned
插入数字不能是负值
主键
PRIMARY KEY/primary key
该字段的所有数据必须是非空、唯一,不能重复
唯一约束
UNIQUE\unique
保证该字段的所有数据都是唯一、不重复的
自增
AUTO_INCREMENT/auto_increment
只应用于整型的主键列
默认
DEFAULT/default
指定默认值(保存数据时,如果未指定该字段的值,则采用默认)
注释
COMMENT\comment
说明字段
外键约束
FOREIGN KEY
用来让两张表的数据之间建立连接,保证数据的一致性和完整性
检查约束
CHECK\check
保证字段值满足一个条件
2.数据查询之最简单的增删改查
添加数据篇
添加数据:inserte into 表名 values()
insert into users values(11,'曹操','男','123456x',22,'元国','1700-6-6')
添加表中某列数据:inserte into 表名(字段类型1,字段类型2,字段类型x,字段类型xxx) values(x,x,x,x)
注意:一定要一一对应
inserte into users(id,usesname,sex,country) values(2,'董卓','女','中国')
批量添加:insert into 表名(字段类型1,字段类型2,字段类型x,字段类型xxx) values(x,x,x,x),(x,x,x,x),(x,x,x,x)
insert into users(id,usesname,sex,country) values(1,'喜羊羊','男','羊村'),(2,'灰太狼','男','狼堡'),(3,'懒洋洋','男','青草')
修改数据篇
修改数据:update 表名 set 列名='需要修改的内容','需要修改的内容'...... where 接条件
# 案例一: update users set usesname='大哥哥',sex='男' where id=2 # 案例二: update users set birthday='1666-6-6' where sex='男'
不接条件就是修改全表
# 案例一: update users set usesname='大哥哥',sex='男' where id=2 # 案例二: update users set birthday='1666-6-6' where sex='男'
删除数据篇
删除数据语法:delete from 表名 where 接条件
delete from users where sex='女'
条件可以省略,省略就删全表
delete from users
drop table 表名:不仅仅是删除数据,会把整个表删除掉
truncate table 表名:删除数据,清空自增
查询数据篇
查询全表
select * from users
只查询某些字段:select 字段一,字段二 from 字段所在的表名
select usesname,sex from users
只查询某些字段并且取一个别名
select usesname as '用户名',sex as '性别' from users
查询并且去重:关键字【distinct】
语法:select distinct 字段名 from 字段所在的表名
select distinct usesname from users
条件查询
# 案例一: select * from users where country='青青草原'
# 案例二: select * from users where age is null # 案例三: select * from users where age is not null
查询包含在多少到多少内的
select * from users where age between 26 and 28 select * from users where age in (26,28)
模糊查询
# 案例一: select * from users where usesname like "亮%" # 案例二: select * from users where usesname like "%亮"、 # 案例三: select * from users where usesname like "___" # 案例四: select * from users where idcard like "___4___"
排序查询:升序排序使 asc 降序排序使用 desc
语法:select * from users order by 排序字段
排序的字段可以有多个的,如果有多个使用英文状态的逗号分隔开
# 案例一(降序): select * from users order by age desc # 案例二(升序): select * from users order by age asc
牌序时如果第一次排序相同我们可以再来第二次排序,第二次排序是针对第一次排序相同的情况下来的
select * from users order by age desc,birthday desc
统计学生成绩的总分,平均分,最低分...之后再进行排序,进行总分的降序排序
select username,sum(score) as '总分',count(*) as '参考人数',max(score) as '最高分',min(score) as '最低分',avg(score) as '平均分',from score group by username order by