mysql学习

这篇博客详细介绍了MySQL的基本语法,包括通配符、正则表达式、聚合函数、分组数据、组合查询、插入数据、更新和删除等内容。还讨论了WHERE与HAVING的区别,以及视图和触发器的使用。
摘要由CSDN通过智能技术生成

MYSQL

表:定义数据在表中如何存储,存储怎样的数据,数据如何分解,各部分如何命名等等;

模式:描述表的这组信息就是模式;

DBMS分为两类:基于共享文件的DBMS和基于客户机-服务器的DBMS。

MYSQL语法:


distinct:去重,必须在所有列的前面,并且不能多个去重,否则无效;

    select distinct name, id from table

limit: 限制返回所匹配的行,limit 5 则返回5行,limit 5,5 == limit 5 offset 5,从第五行开始返回五行(第一行为0);

语法

    select name from table limit 5;
    select name from table limit 3,5;

order by:按顺序排序(默认升序 Ascend)(降序Descend);
语法:

    按姓名升序
    select name,id  from table order by name;
    先然姓名再按 id;
    select name,id from table roder by id, name;
    先按id降序,再按姓名升序;
    select name , id from table order id desc, name;

null值:不管匹配某个值与不匹配某个值都不会返回null,除非判断是否为null时;

And和Or:

    select name , id from table where id == 3
    and where name = 'dc';

    select name , id from table where id == 3
    or where name = 'dc';
  • MYSQl中与众语言一样,AND的优先级更高;
    此语句-> 选择name为'dc' 并且 id = 1003 的 或者 id = 1002的所有;
    select name , id from table where id = 1002 or where id = 1003 and where name = 'dc';
  • 如果看到这,你问我怎么解决?我只能告诉你 ---- ();

IN( ) 括号内的项等同于 OR 但通常用IN代替长串的OR,不仅代码简短,效率更高;

NOT:对于某种命令取反,例如 NOT IN ()或者 NOT BETWEEN;

通配符


% : %表示任何字符出现的任意次数;此时应用LIKE;

选择所有以d开头的名字
    select name from table where name like 'd%'

即便使用%也不能匹配出null;

    select name from table where name like '%'

_ :匹配一个;

不要过度使用通配符,虽然很方便但是慢;

正则表达式


关键字REGEXP:

此时肯定会返回'dc'
    select name from table where name regexp 'c'
此时不会返回'dc' like一般要搭配通配符使用 % or _;
    select name from table where name like 'c'

快捷用法:

  1. 正则表达式中的OR 用 |;
    返回匹配c或者d的
    select name from table where name regexp &
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值