day030-01mysql
mysql database *** language
ddl 定义 create database ,create table
dml操作 insert into , update delete ,truncate
dql查询 select,
dcl控制
like 模糊查询 %占多位所有值 _ 占一位值
where 条件 and or is null is not null
inner join 两表交集,返回匹配到的, left join 返回主表所有 右表null right join 返回右表所有左表null
select a.name,b.name from A a left join A b on a.cid = b.pid where ...
分页 limit
select * from a limit 0,5 第一页 5,5 第二页 10,5 第三页
limit (n - 1) * pageSize,pageSize.
pageSize 页面大小(每页几条数据)
(n - 1) * pageSize 起始位置
n 当前页
数据总数/pageSize = 总页数
-
升序 asc 默认 desc 降序
select * from a where ... order by colnum asc
查询前十名
select stuname,score from student where year = 1 and score > 80 order by score desc limit 0,10
子查询
select a,(select b from u where ..) from A where ...括号中的查询结果为子查询
select a from A where aa =(select aa from A where cc>10) 符合条件的子查询
mysql 常用函数
-
数学
- select abs(-8) 返回绝对值 8
- select celling( 9.4) 向上取整 10
- select floor(5.5) 向下取整 5
- select rand() 返回随机数0-1之间
- select sign(6) 返回参数符号 -1 0 1 负数 0 正数
-
字符串
- select char_length("string") 返回字符串长度 6
- select concat(‘me','or','ya zhutou') 拼接字符串
- select insert('mmm',1,2,'nn') 从第一个位置 替换两个长度 nnm
- select lower('NNN') 转换小写nnn
- select UPPER('mm') 转换大写 MM
- select instr('kklosertet','o') 返回第一次指定字符出现的位置 4
- select replace('哦哦哦sssuuull','ss','ppp')替换 哦哦哦pppsuuull
- select substr('sadfsffsf',7,2) 截取第七个位置开始截取两个 fs
- select reverse('ahllonm') 反转字符串 mnollha
-
时间日期函数
- select current _date() 获取当前日期
- select curdate() 当前日期
- select now() 当前日期 + 时间
- select sysdate() 当前系统时间
-
系统
- select user()系统用户
- select version() 版本
聚合函数
- count() 计数
- sum() 求和
- avg()平均值
- max()
- min()
count(指定列)count(*) count(1)
- count(colnum) 忽略null值 不统计 返回colnum列 1列
- count(*) count(1) 所有 不忽略null 本质计算行数
- count(*) 返回所有列 统计行数
- count(1) 返回一列 统计行数
查询不同课程的最高分最低分平均分
select subjectName ,avg(stuScore),min(stuScore),max(stuScore) from student groub by subjectNo
查询不同课程的最高分最低分平均分并且平均分>80
select subjectName ,avg(stuScore) as avg1,min(stuScore),max(stuScore) from student groub by subjectNo having avg1>80
md5 数据库加密
package com.albedo.security;
import java.math.BigInteger;
import java.security.MessageDigest;
/**
-
MD5加密
*/
public class Md5Utils {
public static String encrypt(String plainText) throws Exception{
byte[] secretBytes = MessageDigest.getInstance("md5").digest(
plainText.getBytes());String md5code = new BigInteger(1, secretBytes).toString(16); for (int i = 0; i < 32 - md5code.length(); i++) { md5code = "0" + md5code; } return md5code;
}
}