目录
mysql语法规范
- 不区分大小写,但建议关键字大写, 表名和列名小写
- 每条命令用英文的分号结尾
- 每条命令根据需要, 可以进行缩进或换行
- 注释
单行:#注释文字
单行注释:-- 注释文字(注意--后面必须有空格)
多行注释: /*注释文字*/
Navicat for Mysql的使用
- 首先建立连接
- 双击激活连接,并建立数据库
- 使用utf8mp4编码,这里是指每个character占用4 bytes
- 在新建的数据库中可以导入表了
- 点击新建查询, 注意选择正确的数据库
正常其实有use test
的语句, 但是这是第三方软件所以没有g
SELECT运行的本质
- 其实Mysql的SELECT语句可以理解为一种创造性的语句或者说每个语句的结果都是返回一个表,比如
select 100;
就会出现列名和值都是100的表, 所以需要给列中的值增加东西时就可以利用这个特性,具体参考CONCAT()
基础查询语句
最简单的查询
- 语法:
SELECT 查询列表 FROM 表名;
例1:
注意, 如果列名和表名与关键字有重合时, 使用 ` 来区分SELECT date,price FROM table1; # 可以多个列一起查
可以选中某一行单独运行
查询字段重命名AS
-
语法:
SELECT 原名 AS 别名 FROM 表名;
-
语法:
SELECT 原名 别名 FROM 表名;
# 注意有空格注意: 别名中包含特殊符号时, 要用双引号括起来。【例如空格,#号等】
例:SELECT 商品编码 AS "product code" FROM \`销售表\`;
去重复DISTINCT
- 语法:
SELECT DISTINCT 字段 FROM 表名;
例1:
例2:SELECT DISTINCT 店名 FROM 销售表;# 这样的结果每列不会重复
DISTINCT的优先级比较高放在前面, 但是多个列中也会出现重复,不过是会选择第二个中出现过一次的。SELECT DISTINCT 大类编码, 小类名 FROM 商品表;
字段连接CONCAT()
- 语法:
SELECT CONCAT(字段1, 字段2,...) AS 别名 FROM 表名;
顾名思义, CONCAT()可以选择多个表的数据组合成为一列.
例:SELECT CONCAT(商品编码,"\_") AS 商品编码 FROM 销售表;
字段值为空怎么填值
- 使用
IFNULL()
函数
例如:SELECT IFNULL(字段名,"替代值") AS 别名 FROM 表名; # 这样就会把原来为空的替代为别的
IFNULL()也可以与CONCAT()一起用
例:
SELECT CONCAT(商品编码,"_",IFNULL(销售数量,0)) AS 别名 FROM 销售表;
标签:语法,DISTINCT,mysql,查询,学习,SELECT,表名,CONCAT
From: https://www.cnblogs.com/sdulyq/p/17853252.html