Mysql运算符约束函数

Mysql运算符约束函数

  1. distinct 去重

    • 语法:

      • select distinct 字段名,字段名… from 表名;

      • distinct 关键字只能在select 语句中使用

      • 在对一个或多个字段去重时,distinct关键字必须在所有字段的最前面

      • 如果distinct关键字后有多个字段,则会对多个字段进行组合去重,也就是说,只有多个字段组合起来完全是一样的情况下才会被去重

          #通过去重找到所有的职位
          select distinct job from emp;
        
八. 运算符及函数
  1. 算数运算符

    +,-,*,/,%(取余)

  2. 逻辑运算符 0假 1真
    与 and和&& (都为1时结果为1)
    或 or和|| (只要有一个为1结果为1)
    非 not和! (取反)
    异或 xor (相同为0 不同为1)

    ​ eg: select 1 and 1;

  3. 比较运算符
    > < >= <= != =
    is null 为空
    is not null 不为空
    between and 两者之间

  4. 位运算符(二进制运算)
    & 相对应的位都为1时结果为1
    | 相对应的位只要有一个为1结果为1
    ^ 相对应的位 相同为0 不同为1
    ~ 相对应的位 取反
    << 二进制位整体左移
    >> 二进制位整体右移

  5. in 和 not in
    in 包含在里面
    not in 包含子里面
    select 1 in (1,2,3,4,5);

九.常用函数

  1. 数值型函数

    abs 求绝对值
    sqrt 求二次方根
    mod 求余数
    ceil 和 ceiling 两个函数功能相同,都是返回不小于参数的最小整数,向上取整
    floor 向下取整,返回值转化位一个bigint
    rand 生成一个0-1之间的随机数,传入整数参数是用来产生重复序列
    round 对所传参数进行四舍五入
    sign 返回参数的符号
    pow 和 power 两个函数的功能相同,都是所传参数的次方的结果值
    sin 求正弦值
    asin 反正弦值
    cos 求余弦值
    acos 求反余弦值
    tan 求正切
    atan 求反正切
    cot 求余切值

  2. 字符串函数

    length 计算字符串长度函数,返回字符串的字节长度
    concat 合并字符串函数,返回结果位链接参数产生的字符串,参数可以是一个或者多个
    insert 替换字符串函数
    lower 将字符串的字母转换位小写
    upper 将字符串的字母转换位大写
    left 从左侧截取字符串返回字符串左边的若干个字符
    right 从右侧截取字符串返回字符串右边的若干个字符
    trim 删除字符串左右两测空格
    replace 字符串替换函数,返回替换后的新字符串
    substring 截取字符串,返回从指定位置开始的指定长度的字符串
    revese 字符串反转java avaj ,返回与原始字符串顺序相反的字符串

  3. 聚合函数

    ​ max 查询指定列的最大值
    ​ min 查询指定列的最小值
    ​ count 统计查询结果的行数
    ​ sum 求和,返回指定列的总和
    ​ avg 求平均,返回指定列数据的平均值

十、MySql约束
  • 在mysql中,约束是指对表中数据的一种约束,能够帮助数据库管理员更好的管理数据库,并且能够确保数据库中数据的正确性和有效性;

    1. 主键约束

      表示表中某条数据的值是唯一的,一个表中只能有一个字段为主键,可以在后面加上auto_increment 实现主键自动增长

    2. 外键约束

      保证两个表中的字段数据一致

    3. 唯一约束

      用来确保字段中数据的值是唯一的和主键类似,唯一约束可以有多个

    4. 检查约束
      用来检查字段中的值是否有效,列如性别只能是男或女,避免无效数据输入

    5. 非空约束
      用来约束字段值不能为空

    6. .默认值约束
      用来约束当数据表中某个字段不输入值时,自动为其添加一个设置好的值

  • 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 表名;
    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值