首页 > 数据库 >mysql学习

mysql学习

时间:2023-11-24 16:12:49浏览次数:30  
标签:语法 DISTINCT mysql 查询 学习 SELECT 表名 CONCAT

目录

mysql语法规范

  1. 不区分大小写,但建议关键字大写, 表名和列名小写
  2. 每条命令用英文的分号结尾
  3. 每条命令根据需要, 可以进行缩进或换行
  4. 注释
    单行: #注释文字
    单行注释: -- 注释文字(注意--后面必须有空格)
    多行注释: /*注释文字*/
  • 首先建立连接

Image description

  • 双击激活连接,并建立数据库

Image description

  • 使用utf8mp4编码,这里是指每个character占用4 bytes

Image description

  • 在新建的数据库中可以导入表了

Image description

  • 点击新建查询, 注意选择正确的数据库
    正常其实有use test的语句, 但是这是第三方软件所以没有g

Image description

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:
    SELECT DISTINCT 店名 FROM 销售表;# 这样的结果每列不会重复
    
    例2:
    SELECT DISTINCT 大类编码, 小类名 FROM 商品表;
    
    DISTINCT的优先级比较高放在前面, 但是多个列中也会出现重复,不过是会选择第二个中出现过一次的。

Image description

字段连接CONCAT()
  • 语法: SELECT CONCAT(字段1, 字段2,...) AS 别名 FROM 表名;
    顾名思义, CONCAT()可以选择多个表的数据组合成为一列.
    例:
    SELECT CONCAT(商品编码,"\_") AS 商品编码 FROM 销售表;
    

Image description

字段值为空怎么填值
  • 使用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

相关文章

  • quickjs入门学习
    由于最近在学习quickjs,把学习过程中遇到的问题和功能验证的过程都记录下来,这篇是quickjs入门学习的目录导航。  本文地址:https://www.cnblogs.com/wunaozai/p/17853962.html......
  • windows ubuntu 安装mysql
    一、介绍二、过程三、问题 一、介绍MySQL是一款开源的关系型数据库管理系统,是目前最流行的数据库之一。关键,免费,好用。二、过程1windows安装1.1下载下载地址:https://downloads.mysql.com/archives/installer/选择下面那......
  • mysql常用
    mysql自动更新时间自动获取创建时间:timestampnotnulldefaultCURRENT_TIMESTAMP自动获取更新时间:timestampnotnulldefaultCURRENT_TIMESTAMPonupdateCURRENT_TIMESTAMP  mysql datetimeMySQL导入数据库时报错:ERROR1292(22007):Incorrectdatetime......
  • 一文掌握MySQL多表查询技巧:告别繁琐操作,轻松搞定数据查询!
    在数据库的世界里,我们经常需要处理各种各样的数据。有时候,我们需要从多个表中查询数据,这时候就需要用到MySQL的多表查询了。今天,就让我们一起来了解一下MySQL多表查询的魅力吧!一、表的关系简介现实生活中,实体与实体之间肯定是有关系的,比如:部门和员工,老师和学生等。在设计表的时......
  • python+playwright 学习-43 Pyinstaller打包生成独立的可执行文件
    前言playwright与Pyinstaller结合使用来创建独立的可执行文件。本地化安装有同学提到说想打成一个exe的独立包,但是执行playwrightinstall会默认把chromium,firefox和webkit三个浏览器安装到系统目录。这样打包的时候就找不到启动的浏览器文件。于是就想到把浏览器文件下......
  • PYTHON实现EXCEL数据导入MYSQL
    #coding=utf8importpymysqlimportosimportpandasaspdhost='127.0.0.1'port=3308user='root'password='*****'db='impairment_testing'conn=pymysql.connect(host=host,port=port,user=user,password=password,db=db......
  • 5.mysql8.0以上版本,ProxySQL 监控/连接账户,要以 mysql_native_password 形式创建,否则
    CREATEUSER'monitor'@'%'IDENTIFIEDBY'123456';grantallprivilegeson*.*to'monitor'@'%'withgrantoption;flushprivileges; ALTERUSER'root'@'%'IDENTIFIEDWITHmysql_native_pa......
  • 《信息安全系统设计与实现》第十二周学习笔记
    第13章TCP/IP和网络编程TCP/IP协议具体来说,IP或ICMP、TCP或UDP、TELNET或FTP、以及HTTP等都属于TCP/IP协议。他们与TCP或IP的关系紧密,是互联网必不可少的组成部分。TCP/IP一词泛指这些协议,因此,有时也称TCP/IP为网际协议群。互联网进行通信时,需要相应的网络......
  • 关于map容器的迭代器深入学习
    #include<iostream>#include<map>usingnamespacestd;intmain(){std::map<int,std::string>myMap={{1,"one"},{2,"two"},{3,"three"}};autoitBegin=myMap.begin();//迭代器指向开头位置std::cout&l......
  • 《信息安全系统设计与实现》学习笔记11
    《信息安全系统设计与实现》学习笔记11第13章TCP/IP和网络编程摘要第一部分论述了TCP/IP协议及其应用,具体包括TCP/IP栈、IP地址、主机名、DNS、IP数据包和路由器介绍了TCP/IP网络中的UDP和TCP协议、端口号和数据流阐述了服务器-客户机计算模型和套接字编程接口......