mysql的关键字

mysql的关键字,第1张

别名有表别名和列别名

就是个表取名字和列取名字

列别名

表别名

(字句限定返回值)

—— 非(不是) 和 或

< >= <= =<>(!=)基本比较运算符 判断字符串 数字 日期的大小。

赋值运算符 :=

语句:**where 列名 between val1 and val2**是一个闭区间

语句: where 列名 in (值1, 值2, ...) 判断列的值是否在指定的集合中

判断列的值是否为空

语句:**where 列名 is null**

语句:**where 列名 is not null**

% 表示零或多个任意的字符

_ 表示一个任意的字符

语法:**where 列名 like '_%'**

语法: order by 列名

order by(升序)asc 可省略

order by desc 降序

注意:当 order by 子句中有使用了带引号的别名时,无法排序

如果数据量小则在内存中进行,如果数据量大则需要使用磁盘

Limit 显示数据个数

Limit 起始位置,显示数据个数

select 列表中的字段,

要么使用聚合函数或 group_concat() 包起来

**要么必须出现在 group by子句中 **

having 与group by结合使用,用于将分组后的结果进一步过滤

-count(*)可以获取查询的结果记录条数

-- max():获取最大值

-- min():获取最小值

-- avg():获取平均值

-- sum():指定字段求和

  首先,不推荐使用MySQL的关键词来作为字段名,但是有时候的确没有注意,或者因为之前就这么写了,没办法,那怎么办呢?

  下面就详细的说明一下怎样使用 方法2 来处理。

  上面的测试表是MySQL自动生成的DDL,其实从上面就可以看出,MySQL的引号内是说明绝对的保证大小写和当做普通字符串处理。

  这里使用了maxvalue这个不常用的关键词作为字段名,一样违反了通常常规的命名规则,MySQL无法很好的识别。

  查询SQL:

  在navicat中可以正常执行,没有任何问题。

  然后再运行insert语句:

  提示下面的错误:

  提示错误,但是没有明显的说明是关键词不能识别。

  增加引号,使用MySQL的引号“`”,记住不是普通的英文单引号“'”,是倾斜的上撇,不是竖直的上撇。

  键盘输入方式为键盘英文字母键上面的数字键1最前面的那个波浪线和顿号组成的键。也就是ESC下面,TAB键上面的按键。

  这样就可以正常运行了。

用逗引将关键字的字段引起来,insert into tb_test `use` values ('test')逗引就是数字键旁边的那个,在英文输入法下按下建议:数据库表的设计避过关键字。

如果sql语句中存在关键字,可以用反勾号(Esc下面的那个键)做转义;

` 是 MySQL 的转义符,避免和 mysql 的本身的关键字冲突,只要你不在列名、表名中使用 mysql 的保留字或中文,就不需要转义。

所有的数据库都有类似的设置,不过mysql用的是`而已。通常用来说明其中的内容是数据库名、表名、字段名,不是关键字。例如:select from from table

第一个from是字段名,最后的table表名,但是同时也是mysql关键字,这样执行的时候就会报错,所以应该使用。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7329559.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存