Mysql复习笔记(day02 SQL)

  1. SQL分类
    SQL语言在功能上主要分为如下3大类
    DDL(Data Definition Languages 数据定义语言),这些语句定义了不同的数据库,表,视图,索引等数据库对象,还可以用来创建,删除,修改数据库和数据表的结构.
    主要关键词包括 CREATE,DROP,ALTER,RENAME,TRUNCATE
    DML(Data Manipulation Language 数据操作语言),用于添加, 删除,更新查询数据库记录,并检查数据库完整性.
    主要关键词包括:INSERT,DELETE,UPDATE,SELECT
    DCL(Data Control Language,数据控制语言),用于定义数据库,表,字段,用户的访问权限和安全级别.
    主要关键词包括:COMMIT,ROLLBACK,SAVEPOINT,GRANT,REVOKE

  2. SQL的基本规则(必须遵守)
    SQL可以写在一行或者多行.为了提高可读性,各个句子分行写,必要时使用缩进.
    每条命令以 ; 或者 \g ,\G结束.
    关键字不能被缩写也不能分行.
    关于标点符号:
    (1) 必须保证所有的括号,单引号,双引号都是成对结束的.
    (2) 必须使用英文下的半角输入方式.
    (3)字符串型和日期时间类型的数据可以使用单引号表示.
    (4)列的别名,尽量使用双引号,而且不建议省略as(as 是取别名的关键词,可以省略但是不建议省略).

  3. SQL的大小写规范(建议遵循)
    MySQL在Windows环境下大小写是不敏感的.但是在Linux环境下,数据库名,表名,表的别名,变量名都是严格区分大小写的.而关键字,函数名,列名(字段名),列的别名,是忽略大小写的
    因此推荐采用统一书写规范:
    数据库名,表名,表别名,字段名,字段别名都小写,SQL关键字,函数名,绑定变量都大写.
    注释的使用:
    单行注释: # 注释文字(MySQL特有的方式)
    单行注释 : – 注释文字(-- 后面必须包含一个空格, SQL通用)
    多行注释: /* 注释文字*/

  4. SELECT
    SELECT 字段1, 字段2,… FROM 表名
    SELECT * FROM 表名 (* 代表该表中的所有字段)
    SELECT 字段名 AS 别名 , 字段名2 AS 别名2 FROM 表名 (查找两个字段并起别名)
    其中 AS 可以省略.但是不建议省略 , 如果起的别名中有空格 需要用双引号引起来 如 test 01,“test 01”.
    SELECT DISTINCT 字段名 FROM 表名; 去除所有重复情况并查询.
    SELECT 字段名1 (+,-,*,/ ) n FROM 表名 (将字段的值参与运算,如果值为NULL则运算结果也为NULL)
    SELECT 字段 FROM 表名 (在表名或者字段上使用着重号 ``,这样如果表名和字段与关键字相同也不会冲突)
    SELECT 常数/字符串 字段名 FROM 表名(查询出的所有结果前面会多一个常数或字符串)

    DESCRIBE(可简写为DESC) 表名 (查看表中的字段的详细信息,显示表结构)
    SELECT 字段名 FROM 表名 WHERE 条件判断 (对查询到的结果,通过条件进行过滤[条件成立表示返回结果为1],必须紧挨着FROM)(WHERE NOT 条件判断,表示查询条件相反的结果)

  5. 算术运算符(以下数包括整数和浮点数)
    基本的 + - * / %
    如果数与数之间则之间进行运算,
    如果其中有一个或者多个字符串,如果字符串的含义是一个数,会将该字符串转化为数来算,如果含有字母,则该字符串为0,如果有一个为NULL,则结果之间为NULL,NULL参与运算,结果为NULL(一个数除以零结果也为NULL)
    在进行模运算的时候, 如 A%B 最终的结果的符合,以A为准(-A %B = -C , A%-B = C , -A %-B = -C)

  6. 比较运算符(以下数包括整数和浮点数)
    = , <> , != , < , <= , > , >=
    等于 = 不等于 != ,<> 大于 > 小于 < …
    当两边成立的时候结果为 1 不成立结果为 0 (若有一边或者都为NULL则结果为NULL)
    当两边有一个为字符串类型另一个为数的时候,会存在隐式转换(将字符串转化为数)
    当两边都为字符串类型,会按照字符串进行比较
    <=>
    安全等于<=>
    在等于的判断中,因为如果等式有一方为NULL,返回结果就是NULL,所以出现了<=>
    安全等与,当等式有一边为NULL时返回结果为 0 当等式两边都为NULL时,返回结果为1.
    IS NULL 为空 \ IS NOT NULL 不为空 \ISNULL 为空(函数形式)
    SELECT 字段名 FROM 表名 WHERE 值…IS NULL(查询条件为某某为空的)
    SELECT 字段名 FROM 表名 WHERE ISNULL(值…)(查询条件为某某为空的,等同于上个)
    SELECT 字段名 FROM 表名 WHERE 值…IS NOT NULL(查询条件为某某不为空的)
    LEAST() 最小 \ GREATEST()最大
    SELECT LEAST(值1,值2,值3…) 得到最小值
    SELECT GREATEST(值1,值2,值3…)得到最大值
    BETWEEN … AND 在 … 到…之间
    SELECT 字段名 FROM 表名 WHERE 字段名 BETWEEN 字段值A AND 字段值B.(查找值在A到B之间所有符合的结果,闭区间,包含A和B)
    IN() 含有,NOT IN() 不含有
    SELECT 字段名 FROM 表名 WHERE 值… IN(值A,值B,值C…) (括号里的值可以为一个或多个,多个的话,直接的关系是用 OR 连接的 如该例为查询 包含值A或B或C中所有的结果)(NOT IN 是IN 取反)
    LIKE模糊查询
    % 代表不确定个数的字符(>=0)
    SELECT 字段名FROM 表名 WHERE 字段名 LIKE ‘%a%’ 查找字段的值中含有a的所有结果
    _ 代表一个字符
    SELECT 字段名 FROM 表名 WHERE 字段名 LIKE ‘a’ 查找字段名的值中第二个字母为a的所有结果
    / 转义字符
    SELECT 字段名 FROM 表名 WHERE 字段名 LIKE '
    _ /_ '查找字段名的值中第二个字母为_的所有结果(将/ 后的 特殊字符转义成普通字符)
    ESCAPE ‘字符’ 将该字符变为转义字符
    SELECT 字段名 FROM 表名 WHERE 字段名 LIKE '
    _ $ _’ ESCAPE '$'查找字段名的值中第二个字母为_的所有结果(将 $ 后的 特殊字符转义成普通字符)
    REGEXP 正则运算符
    … … … … 略… … … …
    7. 逻辑运算符
    OR 或 AND 且 XOR 异或
    … 略 …(AND 的优先级高于 OR)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值