MySQL学习之路(1):SQL脚本语言

使用MySQL数据库,首先安装MySQL数据库,本文所有SQL脚本在MySQL上测试和执行。

安装Mysql服务器;
安装Mysql workbench客户端,可以以图形化界面管理mysql;
安装phpMyadmin客户端,可以通过bs方式图形化管理Mysql;

windows下为例,win+r 进入cmd界面

3. DDL 表操作

(1)创建表

(2)查看表结构

(3)删除表:

(4)修改表: alter tb_name alter/modify/change [column] …

ALTER COLUMN:设置或删除列的默认值(操作速度非常快)
例子:

CHANGE COLUMN:列的重命名、列类型的变更以及列位置的移动
例子:

MODIFY COLUMN:除了不能给列重命名之外,他干的活和CHANGE COLUMN是一样的
例子:

(5)重命名表

注意:[]内的是可以选择的,包括change,modify,alter后满的COLUMN

(1)插入

(2)修改

(3)删除

5.DQL:数据查询,SELECT专题

关键语法:

(1)单表查询

(2)IN, NOT IN, BETWEEN AND (这是指明字段的范围,后面还有一个IN用于子查询)

(3)使用LIKE + 通配符

%:匹配一个或者多个字符
_: 匹配任意单个字符

(4)空值查询IS NULL,IS NOT NULL

(5)多条件查询AND, OR

(6)去掉重复行

(7)使用ORDER BY [ASC/DESC]

(8)GROUP BY 子句
注意:没有出现在GROUP BY子句中的字段,不能出现在SELECT 子句中,聚合函数除外
如果SELECT 子句出现GROUP BY中没有出现的字段,则结果只显示每一组的一条记录;
一般形式为:

(9)多字段分组: 2个字段的笛卡尔积

(10)LIMIT限制结果集

(11)聚合函数:MIN(),AGV,MAX,COUNT
聚合函数的特点是根据一组数据计算出一个值,聚合函数只能对非NULL值进行计算,NULL值被忽略;

(12)连接查询:

理解:就是有至少2张表,查询结果是两张表满足某种条件的拼接;
不带查询条件,则是2张表的笛卡尔积;

①内连接查询,最常见的是等值连接

②外连接查询:
左外连接: 内连接结果,还包含不符合条件的左表数据,右表相应列加NULL

右外连接:

全外连接:

(13)子查询:

①IN

②ANY

③ALL

④EXISTS 子查询返回一个bool值

⑤关系运算,子查询返回唯一值

注:子查询一般都是一个单列列表,SELECT list FROM tb_name; list为单列列表
使用EXISTS时候除外;
使用关系运算符是子查询返回唯一值;

(14)合并查询结果

UNION: 合并查询结果,除去相同的行
UNION ALL : 合并查询结果,简单的把两个集合的元素混合

注意:前提条件是,左边和右边的字段列表的字段数必须相同

6. Mysql函数

6.1 数学函数

(1)ABS(X) 取绝对值

(2)取整函数

(3)随机数生成器

(4)符号检测器

(5)圆周率

(6)小数位截断函数

(7)圆整(向最近的整数靠近)

(8)平方、开方

(9)指数对数

(10)弧度角度转换

(11)三角函数

6.2 字符串函数

(1)长度

(2)转换大小写

(3)修剪函数(针对前导、结尾空格)

(4)替换、子串、反转

更多请参考:PHP 学习路线图《MySQL快速入门》

6.3 日期和时间函数———DATE
|———-TIME

(1)日期、时间

(2)日期和时间(时间戳)

(3)以秒形式的时间戳

(4)年月日、时分秒

(5)工具函数

更多请参考:PHP 学习路线图《MySQL快速入门》

6.4 条件判断函数

6.5 系统信息函数

(1)版本号、连接数

(2)当前数据库名

(3)当前用户

(4)字符集

(5)最后插入的ID

6.6 加密函数

Original: https://www.cnblogs.com/arminker/p/4708966.html
Author: 流云的博客
Title: MySQL学习之路(1):SQL脚本语言

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/573766/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 02-MyBatisPlus入门

    1、创建数据库:mybatis_plus 2、创建 User 表其表结构如下: id name age email 1 Jone 18 test1@baomidou.com 2 J…

    Java 2023年6月15日
    077
  • ToneGenerator Init failed Crash 崩溃

    需求需要在扫码时产生一个短促的提示音, 搜了下像这样实现。测试时发现多次扫码后,会触发程序崩溃问题。 异常如下 代码如下: 一番搜索, 以下为最佳答案, 加上以后,循环测试, 不再…

    Java 2023年6月15日
    062
  • 前端(java script学习) 3

    初步学习JavaScript,以下是关于自己的笔记的整理。 Java Script 是脚本编程语言,简称JS。用于网页交互效果。 1.语言核心:变量,表达式,运算符,函数,if语句…

    Java 2023年6月5日
    047
  • Effective Java 第三版——75. 在详细信息中包含失败捕获信息

    Tips书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code注意,书中的有些代码里方法是基于Java 9…

    Java 2023年5月29日
    082
  • JDBC学习-连接MySQL数据库(idea,eclipse)

    参考Java MySQL 连接 | 菜鸟教程 (runoob.com) 环境声明:jdk16.0.2 mysql8.0.26 使用软件声明:SQLyog(community) id…

    Java 2023年6月9日
    067
  • 让工作事半功倍的常用思考框架及关于方法论的思考

    我们真正需要的不是方法论,而是明察秋毫、洞若观火的观察力和感受力。 基本原理 结构化分析法则:从事物或活动中抽取要素及关联,围绕要素和关联构成骨架结构,填充血肉,呈现内容。 多维度…

    Java 2023年6月9日
    076
  • Java ——对Swing、AWT和SWT的认识 原创

    在Java 技术刚出现的初期,大家最感兴趣的Java API 无疑地就是AWT。一方面因为JDK 1.0 时只有AWT 称得上是一组完整的application framework…

    Java 2023年5月29日
    071
  • 程序员都遇到过哪些误解?

    程序员: 为计算机编写代码的人,按照现代企业研发部的岗位,分为:开发工程师,运维工程师,架构师,数据工程师,算法工程师等; 误解: 即事实是另外一种情况,而因为环境的复杂性或者消息…

    Java 2023年6月8日
    095
  • 《二十三种设计模式》通俗的创建型之单例设计模式

    单例模式(Singleton Pattern)是Java中 最简单的设计模式之一。 这种模式涉及到一个 单一的类,该类负责创建自己的对象,同时确保只有 单个对象被创建。这个类提供了…

    Java 2023年6月7日
    0108
  • JAVA中自定义扩展Swagger的能力,自动生成参数取值含义说明,提升开发效率

    大家好,又见面了。 在 JAVA做前后端分离的项目开发的时候,服务端需要提供接口文档供周边人员做接口的对接指导。越来越多的项目都在尝试使用一些基于代码自动生成接口文档的工具来 替代…

    Java 2023年6月7日
    076
  • 微信登录

    微信配置文件 微信开放平台 appid wx.open.app-id=你的appid 微信开放平台 appsecret wx.open.app-secret=你的secret 微信…

    Java 2023年6月15日
    091
  • SpringCloudLearning

    http://blog.didispace.com/Spring-Boot%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B/ https://github….

    Java 2023年5月30日
    081
  • quartz框架(四)-Job相关内容

    本篇博文,博主主要介绍job相关的内容。 job是业务类需要实现的接口,代表需要被调度框架进行调度的任务。job源码如下所示,从源码中我们可以看到,job接口只有一个excute方…

    Java 2023年6月7日
    074
  • @RequestParam,@RequestBody,@ResponseBody,@PathVariable注解的一点小总结

    一、前提知识: http协议规定一次请求对应一次响应,根据不同的请求方式,请求的内容会有所不同; 发送GET请求是没有请求体的,参数会直接拼接保留到url后一并发送; 而POST请…

    Java 2023年6月5日
    084
  • Java轻松实现,每天给对象发情话!

    一、引言 最近看到一篇用js代码实现表白的文章,深有感触。然后发现自己也可以用java代码实现,然后就开始写代码了,发现还挺有意思的,话不多说开搞实现思路: 使用HttpClien…

    Java 2023年6月5日
    083
  • emqtt使用ssl链接

    emqtt需要配置ssl证书才能启用ssl链接,配置如下。 找到etc目录下的listeners.conf 替换自己的ssl证书路径 测试链接 Original: https://…

    Java 2023年5月29日
    0105
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球