mysql常用的操作(二)

1)约束

①primary key(主键约束)提示:一张表只能有一个主键,且主键不能重复,也不能为null

②foreign key(外键约束)例如:foreign key (userid) references users(id)
③not null(非空约束)
④unique(唯一约束)提示:如果数据都为null时,不违反唯一约束
⑤check (check约束)提示:mysql不支持check约束
⑥auto_increment(自增约束)

⑦default(默认值约束)                                          

2)数据类型

------- 数值类型
① tinyint 
JDBC中对应的方法 getByte()
② smallint
JDBC中对应的方法 getShort()
③ int 
JDBC中对应的方法 getInt()
④ bigint
JDBC中对应的方法 getLong()
⑤ float(m,d)、double(m,d)(m表示有效位,d表示小数点后面有几位)
JDBC中对应的方法 getFloat()、getDouble()
⑥numeric(m,d)用于表示小数,或者整数。不带参数时表示整数
------- 逻辑类型
① bit(只能存储0和1,默认为1)
JDBC中对应的方法 getBoolean、getBytes()
------- 时间与日期类型
① date
JDBC中对应的方法 getDate()
② time
JDBC中对应的方法 getTime()
③ timestamp(自动更新为最后一次修改的时间)
JDBC中对应的方法 getTimestamp()
--字符串类型
①  字符串类型:char(定长,速度快)、varchar(可变长度,省空间)
JDBC中对应的方法 getString()
②大数据类型: blob(用于保存二进制数据),text(用于保存字符串数据)
JDBC中对应的方法 getBlob()、getClob




3) 函数

①合计函数

count
avg
sum
min
max

②日期函数

current_date
current_time
current_timestamp
now

③数字函数

ceil
floor
round
power
mod
sqrt

④字符串函数

lower
replace
substr
length
rpad
initcap


Count(列名)返回某一列,行的总数
统计一个班级共有多少学生?
select count(*) from exam;
统计数学成绩大于75的学生有多少个?
select count(*) from exam where math>75;
统计总分大于230的人数有多少?
select count(*) from exam where ifnull(math,0)+ifnull(chinese,0)+ifnull(english,0)>230;


Sum函数返回满足where条件的行的和
统计一个班级数学总成绩?
select sum(math) from exam;
统计一个班级语文、英语、数学各科的总成绩
select sum(math),sum(english),sum(chinese) from exam;
统计一个班级语文、英语、数学的成绩总和
select sum(ifnull(chinese,0)+ifnull(math,0)+ifnull(english,0)) from exam;
统计一个班级语文成绩平均分
select sum(chinese)/count(*) from exam;


AVG函数返回满足where条件的一列的平均值
求一个班级数学平均分?
select avg(math) from exam;
求一个班级总分平均分?
select avg(ifnull(math,0)+ifnull(chinese,0)+ifnull(english,0)) from exam;


Max/min函数返回满足where条件的一列的最大/最小值
求班级最高分和最低分(数值范围在统计中特别有用)
select max(ifnull(math,0)+ifnull(chinese,0)+ifnull(english,0)) from exam;
select min(ifnull(math,0)+ifnull(chinese,0)+ifnull(english,0)) from exam;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值