Mysql运算符约束函数
-
distinct 去重
-
语法:
-
select distinct 字段名,字段名… from 表名;
-
distinct 关键字只能在select 语句中使用
-
在对一个或多个字段去重时,distinct关键字必须在所有字段的最前面
-
如果distinct关键字后有多个字段,则会对多个字段进行组合去重,也就是说,只有多个字段组合起来完全是一样的情况下才会被去重
#通过去重找到所有的职位 select distinct job from emp;
-
-
八. 运算符及函数
-
算数运算符
+,-,*,/,%(取余)
-
逻辑运算符 0假 1真
与 and和&& (都为1时结果为1)
或 or和|| (只要有一个为1结果为1)
非 not和! (取反)
异或 xor (相同为0 不同为1) eg: select 1 and 1;
-
比较运算符
> < >= <= != =
is null 为空
is not null 不为空
between and 两者之间 -
位运算符(二进制运算)
& 相对应的位都为1时结果为1
| 相对应的位只要有一个为1结果为1
^ 相对应的位 相同为0 不同为1
~ 相对应的位 取反
<< 二进制位整体左移
>> 二进制位整体右移 -
in 和 not in
in 包含在里面
not in 包含子里面
select 1 in (1,2,3,4,5);
九.常用函数
-
数值型函数
abs 求绝对值
sqrt 求二次方根
mod 求余数
ceil 和 ceiling 两个函数功能相同,都是返回不小于参数的最小整数,向上取整
floor 向下取整,返回值转化位一个bigint
rand 生成一个0-1之间的随机数,传入整数参数是用来产生重复序列
round 对所传参数进行四舍五入
sign 返回参数的符号
pow 和 power 两个函数的功能相同,都是所传参数的次方的结果值
sin 求正弦值
asin 反正弦值
cos 求余弦值
acos 求反余弦值
tan 求正切
atan 求反正切
cot 求余切值 -
字符串函数
length 计算字符串长度函数,返回字符串的字节长度
concat 合并字符串函数,返回结果位链接参数产生的字符串,参数可以是一个或者多个
insert 替换字符串函数
lower 将字符串的字母转换位小写
upper 将字符串的字母转换位大写
left 从左侧截取字符串返回字符串左边的若干个字符
right 从右侧截取字符串返回字符串右边的若干个字符
trim 删除字符串左右两测空格
replace 字符串替换函数,返回替换后的新字符串
substring 截取字符串,返回从指定位置开始的指定长度的字符串
revese 字符串反转java avaj ,返回与原始字符串顺序相反的字符串 -
聚合函数
max 查询指定列的最大值
min 查询指定列的最小值
count 统计查询结果的行数
sum 求和,返回指定列的总和
avg 求平均,返回指定列数据的平均值
十、MySql约束
-
在mysql中,约束是指对表中数据的一种约束,能够帮助数据库管理员更好的管理数据库,并且能够确保数据库中数据的正确性和有效性;
-
主键约束
表示表中某条数据的值是唯一的,一个表中只能有一个字段为主键,可以在后面加上auto_increment 实现主键自动增长
-
外键约束
保证两个表中的字段数据一致
-
唯一约束
用来确保字段中数据的值是唯一的和主键类似,唯一约束可以有多个
-
检查约束
用来检查字段中的值是否有效,列如性别只能是男或女,避免无效数据输入 -
非空约束
用来约束字段值不能为空 -
.默认值约束
用来约束当数据表中某个字段不输入值时,自动为其添加一个设置好的值
-
-
Eg:
create table t1( id int primary key auto_increment, #设置主键并自动增长 name varchar(20) unique, #设置唯一约束 保证名字不重复 age int check(age>0 and age<=100), #设置检查约束 保证年龄在0~100之间 sex varchar(2) default('男'), #设置默认值约束 如果不指定默认为男 phone varchar(12) not null #设置非空约束 保证电话字段不为空 ); #插入数据 insert into t1 values (null,'小小',30,'女','110'); insert into t1 values (null,'莹莹',18,'','120'); insert into t1 values (null,'洋洋',18,default,''); insert into t1 values (null,'英英',18,default,null); #检查数据 select* from t1;
#创建表2 create table t2( id int primary key auto_increment, t1id int not null, name varchar(20), #设置外键关联t1表主键 constraint fk_t1_t2 foreign key(t1id) references t1(id) );
#后期添加外键 alter table 表名 add constraint 外键名 foreign key(列名) references 主表名(列名); #删除外键 alter table 表名 drop foreign key 外键名; #查看表中的约束 show create table 表名;