只要把关键字用反引号包上就好了,反引号可以通过 Tab 上的键打出来。 我用 where 这个关键字做实例。...create table key_word (`where` char(50)); insert key_word value("北京"); desc key_word; select * from...key_word where `where` = '北京';
FROM table_name WHERE condition; SELECT:指定要从表中检索的列名。你可以指定一个或多个列名,或者使用星号(*)来检索表中的所有列。...基本的列别名使用 在SELECT语句中,你可以通过在列名后紧跟AS关键字和别名来指定列的别名。...DISTINCT通常与SELECT语句一起使用,放在需要返回唯一值的列名之前。你也可以对多个列使用DISTINCT,但这意味着MySQL会考虑这些列的组合作为唯一性的判断依据。...着重号 在MySQL中,“着重号”(通常指的是反引号`)主要用于标识符(如数据库名、表名、列名等)的引用,特别是在这些标识符是MySQL的保留字或者包含特殊字符(如空格、连字符等)时。...在WHERE子句中使用的条件可以是任何有效的表达式,包括比较运算符(如=、、等)、逻辑运算符(如AND、OR、NOT)等。
MySQL的基本操作可以包括两个方面:MySQL常用语句如高频率使用的增删改查(CRUD)语句和MySQL高级功能,如存储过程,触发器,事务处理等。...SQL中关键字执行顺序 在SQL语句中每个关键字都会按照顺序往下执行,而每一步操作,会生成一个虚拟表,最后产生的虚拟表会作为执行的最终结果返回。...OUT JOIN,那么将保留表中(如左表或者右表)未匹配的行作为外部行添加到虚拟表VT2中,从而产生虚拟表VT3; WHERE:对虚拟表VT3进行WHERE条件过滤,只有符合的记录才会被放入到虚拟表VT4...注意MySQL中定义变量时都是变量名在前,数据类型在后。 3. 存储过程具体逻辑写在BEGIN END之间; 4. 将值赋给变量使用INTO关键字; 5....由于存储过程中每个SQL语句中用;作为分隔符,会和单个SQL造成冲突,因此可使用DELIMITER重新定义分类符,如该例子中定义//为分隔符,自然存储过程结尾就用END //结尾,而不再是END。
WHERE、GROUP BY、HAVING 的区别 where:数据库中常用的是 where 关键字,用于在初始表中筛选查询。它是一个约束声明,用于约束数据,在返回结果集之前起作用。...为区分大小写,可使用BINARY关键字,如WHERE prod_name REGEXP BINARY 'JetPack .000'。...insert 语句可以加入 IGNORE 关键字 insert ignore into 当插入数据时,如出现错误时,如重复数据,将不返回错误,只以警告形式返回。...这样就可以保留数据库中已经存在数据,达到在间隙中插入数据的目的。...那么,如何在使用AUTO_INCREMENT列时获得这个值呢?
NOT操作符 select * from table_name where col_name not in (1,2); NOT WHERE子句中用来否定后跟条件的关键字,MySQL支持使用NOT对IN...正则表达式的使用(regexp) select * from table_name where col_name regexp 'abs'; REGEXP后所跟的东西作为正则表达式处理,该语句表示选择出...为区分大小写,可使用BINARY关键字,如WHERE prod_name REGEXP BINARY 'JetPack .000' 匹配连在一起的四个数字 select * from table_name...cond1; UNION必须由两条或两条以上的SELECT语句组成,语句之间用关键字UNION分隔 UNION中的每个查询必须包含相同的列、表达式或聚集函数 列数据类型必须兼容:类型不必完全相同...MySQL支持IN(传递给存储过程)、OUT(从存储过程传出,如这里所用)和INOUT(对存储过程传入和传出)类型的参数并通过指定INTO关键字来将处理结果保存在对应的变量中 为调用上述存储过程,使用下面方法
mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) mysql5.7 关键字 官方文档地址:https://dev.mysql.com/doc/refman/5.7/en/keywords.html...说明:有些人可能还不明白关键字和保留关键字的区别,简单的说,关键字分两种:非保留和保留,保留关键字又有一个特殊类别叫未来保留。...注:这里要提一下的是mysql是支持使用关键字做字段名的,但是针对保留关键字是必须要加引用 举例:interval begin、end都是关键字,interval是保留关键字。...3、避免使用ENUM类型 修改ENUM值需要使用ALTER语句 ENUM类型的ORDER BY操作效率低,需要额外操作 禁止使用数值作为ENUM的枚举值 4、尽可能把所有列定义为NOT NULL 原因...五、常见索引列建议 出现在SELECT、UPDATE、DELETE语句的WHERE从句中的列 包含在ORDER BY、GROUP BY、DISTINCT中的字段 并不要将符合1和2中的字段的列都建立一个索引
如何获取 mysql 命令帮助 mysql --help 第三章 使用 MySQL 连接数据库四要素 主机名,如 127.0.0.1 端口, 默认 3306 用户名 密码,可选 选择数据库 使用 USE...基本字符匹配 使用 REGEXP 关键字 ,后面的东西作为正则表达式 SELECT * FROM a_table WHERE x REGEXP 'expression'; 使用正则匹配时默认不区分大小写...常见名词 事务 Transaction 回退 rollback 提交 commit 保留点 savepoint 事务处理中设置的占位符,用于部分回退 可以回滚的语句 INSERT UPDATE DELETE...当COMMIT或ROLLBACK语句执行后,事务会自 动关闭 使用保留点 目的支持回退部分事务,在事务处理块中合适的未知设置 SavePoint SAVEPOINT a_point ROLLBACK...日常 MySQL操作中不应该使用 root 账户。
使用union来创建查询的时候,我们只需要用UNION作为关键字把多个select语句连接起来就可以了,要注意的是所有select语句中的字段数目要想同。...如果不同的语句中取出的行,有完全相同(这里表示的是每个列的值都相同),那么union会将相同的行合并,最终只保留一行。也可以这样理解,union会去掉重复的行。...否则将导致引擎放弃使用索引而进行全表扫描,如: ?...可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num = 0 (3)in 和 not in 也要慎用,否则会导致全表扫描,如:...本号内有多个专题,如【数据结构】、【netty专题】、【dubbo专题】、【mysql优化专题】、【redis专题】、【高并发专题】等,将会陆续添加,设置成关键字.
保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其他类型的SQL语句一起使用。...四、书写规则 1.数据库中,SQL语句大小写不敏感 2.SQL语句可单行或多行书写 3.在SQL语句中,关键字不能跨多行或缩写 4.为了提高可读性,一般关键字大写,其他小写 5.空格和缩进使程序易读...列名N 列的类型 [约束] ); 注意:最后一行没有逗号 使用使用标识符时不要用SQL的关键字,如果用到的话怎么办呢?...比如新建一张订单表(order),但是order是数据库中的关键字(排序使用). 解决方案一:使用反引号`把自定义的标识符引起来....(MySQL特有) 外键约束:FOREIGN KEY(FK),A表中的外键列的值必须参照于B表中的某一列(B表主键)。 主键设计: 1:单列主键,单列作为主键,建议使用。
基本规则 语句结构: SQL语句可以写在一行或多行中,为了提高可读性,建议将各子句分行写,必要时使用缩进。 关键字不能被缩写也不能分行。...必须使用英文状态下的半角输入方式。字符串型和日期时间类型的数据必须使用单引号(')括起来。 列的别名尽量使用双引号(" "),且不建议省略AS关键字(尽管在某些数据库系统中可以省略)。...在编写SQL语句时,需要遵循相应的语法规则,如SELECT语句后面必须跟FROM子句来指定查询的数据源,WHERE子句用于指定查询条件,GROUP BY子句用于对结果集进行分组等。...因此,推荐采用统一的命名规范,如全部小写,以避免潜在的混淆。 避免使用保留字: 数据库系统保留了一系列的关键字(如SELECT、INSERT等),这些关键字不能用作数据库对象的名称。...布尔类型的字段可以使用is_作为前缀,后接动词过去分词,如is_active。 列名: 应具有描述性,能够反映列中的数据内容。 避免使用数据类型作为列名的一部分,如int_id。
MySQL(五) 發佈於 2019-03-27 本篇,我们说说 MySQL 中的联合查询、连接查询以及子查询。...并且 MySQL 8.0 之前,为了使 order by 生效,还必须使用 limit {大数量} 连接查询 基本概念: 将多张表连接到一起进行查询,会导致记录的行数和字段列数发生改变。...外连接(Outer Join) 一张表作为主表(表中记录都会保留),根据条件去匹配另一张从表中的记录,从而得到目标数据。...Using 关键字 是在连接查询中替代 on 关键字的。 使用前提是两张表连接的字段是同名的,并且最终在结果只保留一个字段。...: Where 子查询: 子查询语句出现在 Where 子句中 From 子查询: 子查询语句出现在 From 子句中,作为数据源 标量子查询 标量子查询 where 子句常使用 = 或 操作符
1.SELECT 语句 MySQL 的 SELECT 语句用于从数据库表中检索数据。功能强大,语句结构复杂多样。不过基本的语句格式像下面这个样子。...可以对列使用函数进行运算,并使用 AS 关键字对结果列命名(AS 是可选的,可以省略)。 SELECT AVG(score) AS avg_score, t1.* FROM t1 ......5.GROUP BY 子句 GROUP BY 子句中的数据列应该是 SELECT 指定的数据列中的所有列,除非这列是用于聚合函数,如 SUM()、AVG()、COUNT()等。...如果希望按照降序排序,可以使用 DESC(descend)关键字,随机使用随机数函数RAND()。 在指定待排序的列时,不建议使用列位置(从1开始),因为该语法已从SQL标准中删除。...通过查看警告信息,可以了解到语句执行过程中可能存在的问题或异常情况,如截断数据、丢失数据等。根据警告信息,可以进行相应的调整和处理,以确保查询的正确性和性能。
客户端发送一条查询语句到服务器; 服务器先查询缓存,如果命中缓存,则立即返回存储在缓存中的数据; 未命中缓存后,MySQL通过关键字将SQL语句进行解析,并生成一颗对应的解析树,MySQL解析器将使用...例如,验证是否使用了错误的关键字,或者关键字的使用是否正确; 预处理是根据一些MySQL规则检查解析树是否合理,比如检查表和列是否存在,还会解析名字和别名,然后预处理器会验证权限; 根据执行计划查询执行引擎...,调用API接口调用存储引擎来查询数据; 将结果返回客户端,并进行缓存; 2、数据库常见规范 所有数据库对象名称必须使用小写字母并用下划线分割; 所有数据库对象名称禁止使用mysql保留关键字...,如cpu时间 13、where中使用默认值代替null 并不是说使用了is null或者 is not null就会不走索引了,这个跟mysql版本以及查询成本都有关; 如果mysql优化器发现...新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用 DELETE。如果要删除表定义及其数据,请使用 drop table语句。
SELECT 数据查询 基础 显示如何使用简单的`select`语句查询单个表中的数据 使用`SELECT`语句从表或视图获取数据。 表由行和列组成,如电子表格。...``` 建议显式获取数据的列,原因如下: 1. 使用星号(*)可能会返回不使用的列的数据。 它在MySQL数据库服务器和应用程序之间产生不必要的I/O磁盘和网络流量。 2....>IN 指定值是否匹配列表中的任何值。 >IS NULL 检查该值是否为NULL。 SELECT 子查询 在一个查询过程中 嵌套另一个查询,子查询的结果作为外部查询的条件或者数据范围来使用。...(select 列名 from 表名 where 条件);` - 将主查询的结果带入子查询进行条件判断和匹配,如果查询出结果即保留。...``` 使用 `DISTINCT` 关键字时需要注意以下几点: - `DISTINCT` 关键字只能在 `SELECT` 语句中使用。
查询要使用索引最主要的条件是查询条件中需要使用索引关键字,如果是多列 索引,那么只有查询条件使用了多列关键字最左边的前缀时(前缀索引),才可以使用索引,否则 将不能使用索引。...NOT NULL,或者使用一个特殊的值,如0,-1作为默 认值。...也就是说如果某列存在空值,即使对该列建索引也不会提高性能。 任何在where子句中使用is null或is not null的语句优化器是不允许使用索引的。...索引字段不是复合索引的前缀索引 例如 在使用索引字段作为条件时,如果该索引是复合索引,那么必须使用到该索引中的第一个字段作为条件时才能保证系统使用该索引,否则该索引将不会被使用,并且应尽可能的让字段顺序与索引顺序相一致...例如,假设你想从一个表中删除一个字段。使用SELECT INTO语句,你可以创建该表的一个拷贝,但不包含要删除的字段。这使你既删除了该字段,又保留了不想删除的数据。
USING COLUMN - 指分片列的关键字。shardcolumnname - 指具体的分片列的列名。ON DATANODE - 指数据节点的关键字。...datanodeid - 指具体的数据节点的值,多个不连续的值可以用逗号间隔,多个连续的值可以使用区间形式指定,如:'1,3,4,5-10,12-40'。登录服务端,切换逻辑库,输入建表语句并执行。...DROP TABLE、TRUNCATE TABLE 、DELETE TABLE 不带WHERE条件的语句在实际生产或线上环境执行时的较高风险,计算节点支持保留被DROP的表一段时间后再删除。...其中,DELETE TABLE 不带WHERE条件的场景仅支持语句在自动提交的情况下可保留数据,事务内的操作暂无法保留数据。...删除的表不进入表回收站为方便用户在底层也能实现对表回收站的操作,以及可以不通过表回收站直接删除表数据,计算节点支持使用PURGE关键字的相关语句,使删除的表不进入表回收站。
在使用多列作为主键时,上述条件必须应用到构成主键的所有列,所有列值的组合必须是唯一的(单个列的值可以不唯一)。...如果分组列中具有 null 值,则 null 将作为一个分组返回。如果列中有多行 null 值,它们将分为一组。 group by 子句必须出现在 where 子句之后,order by 子句之前。...自联结通常作为外部语句用来替代从相同表中检索数据时使用的子查询语句。虽然最终的结果是相同的,但有时候处理联结远比处理子查询快得多。应该试一下两种方法,以确定哪一种的性能更好。...为即使是发生错误,也继续进行更新,可以在 update 后使用 ignore 关键字。 update 语句可以使用子查询,用 select 语句检索出的数据来更新列数据。...作为主键的列是不能允许 null 的。 default 关键字可以指定默认值,如果插入行没有指定默认值,那么将默认使用默认值。
子查询通常会在另一个 SELECT 语句的 WHERE 子句中添加。 您可以使用比较运算符,如 >,如 IN,ANY 或 ALL。...连接用于连接多个表,使用 JOIN 关键字,并且条件语句使用 ON 而不是 WHERE。 JOIN 保持基表(结构和数据)不变。 JOIN 有两种连接类型:内连接和外连接。...可以使用触发器来进行审计跟踪,把修改记录到另外一张表中。 MySQL 不允许在触发器中使用 CALL 语句 ,也就是不能调用存储过程。...注意:在 MySQL 中,分号 ; 是语句结束的标识符,遇到分号表示该段语句已经结束,MySQL 可以开始执行了。...在这之后的语句,以分号结束,解释器不会有什么反应,只有遇到了 NEW 和 OLD MySQL 中定义了 NEW 和 OLD 关键字,用来表示触发器的所在表中,触发了触发器的那一行数据。
作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。下面的表显示了需要的每个整数类型的存储和范围。 ?...该节描述了这些类型如何工作以及如何在查询中使用这些类型。 ? CHAR 和 VARCHAR 类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。...2. delete 语句是数据库操作语言(dml),这操作会放到rollback segement 中,事务提交之后才生效;如果有相应的 trigger,执行的时候将被触发。 ...truncate 语句缺省情况下见空间释放到 minextents个 extent,除非使用reuse storage;truncate 会将高水线复位(回到最开始)。 4....安全性:小心使用 drop 和 truncate,尤其没有备份的时候.否则哭都来不及 使用上,想删除部分数据行用 delete,注意带上where子句. 回滚段要足够大.
领取专属 10元无门槛券
手把手带您无忧上云